> ## Documentation Index
> Fetch the complete documentation index at: https://docs.younegotiate.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Change settlement date

> Change a scheduled settlement date. Dates inside pay terms update the schedule; dates outside pay terms reopen the account as a pending creditor response and delete pending schedule rows.



## OpenAPI

````yaml /api/consumer.openapi.yaml patch /accounts/{consumer}/payments/{payment}/settlement-date
openapi: 3.1.0
info:
  title: YouNegotiate Consumer API
  version: '2.0'
  description: >-
    Stateless API endpoints for consumer portal authentication and account
    access.
servers:
  - url: https://api.consumer.younegotiate.com
    description: Production
security: []
tags:
  - name: System
    description: Public consumer domain system and health endpoints.
  - name: Authentication
    description: >-
      Consumer identity matching, contact capture, OTP verification, token
      creation, and logout endpoints.
  - name: Profile - My ecoAddress
    description: Consumer profile tab for signed-in identity / ecoAddress context.
  - name: Profile - Communication Controls
    description: >-
      Consumer profile tab for communication permissions, email/mobile changes,
      and email/mobile verification.
  - name: Profile - My Billing Details
    description: >-
      Consumer profile tab for billing name and billing address details used for
      payment verification.
  - name: Profile - Personalize My Portal
    description: Consumer profile tab for portal colors and profile image personalization.
  - name: Accounts
    description: Consumer-owned account list and account detail endpoints.
  - name: Bill Pay Wallet
    description: >-
      Consumer Bill Pay Wallet saved payment profiles and scheduled payment
      method update endpoints.
  - name: Upcoming Payments
    description: >-
      Consumer My Bill Pay Calendar upcoming-payment rows and calendar display
      data.
  - name: Calendar Sync
    description: >-
      Consumer Google and Microsoft calendar connection, OAuth callback, and
      live-update endpoints.
  - name: Gift Registry
    description: >-
      Consumer Bill Pay Gift Registry account list, shared registry, and Helping
      Hand link endpoints.
  - name: EcoMailbox
    description: Consumer MyEcoMailBox list endpoints and unread sidebar badge state.
  - name: Notice Responses
    description: >-
      Consumer My Account notice-response wizard endpoints for sender details
      and account details.
paths:
  /accounts/{consumer}/payments/{payment}/settlement-date:
    patch:
      tags:
        - Accounts
      summary: Change settlement date
      description: >-
        Change a scheduled settlement date. Dates inside pay terms update the
        schedule; dates outside pay terms reopen the account as a pending
        creditor response and delete pending schedule rows.
      operationId: consumerUpdateSettlementPaymentDate
      parameters:
        - $ref: '#/components/parameters/ConsumerAccountId'
        - $ref: '#/components/parameters/ConsumerPaymentId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateSettlementPaymentDateRequest'
      responses:
        '200':
          description: Settlement date updated or requested.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsumerSchedulePlanMutationResponse'
        '401':
          $ref: '#/components/responses/Unauthenticated'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/AccountActionConflict'
        '422':
          $ref: '#/components/responses/ValidationError'
      security:
        - bearerAuth: []
components:
  parameters:
    ConsumerAccountId:
      name: consumer
      in: path
      required: true
      description: Consumer account ID.
      schema:
        type: integer
    ConsumerPaymentId:
      name: payment
      in: path
      required: true
      description: Numeric scheduled payment row ID returned in `scheduled_payments[].id`.
      schema:
        type: integer
  schemas:
    UpdateSettlementPaymentDateRequest:
      type: object
      required:
        - first_pay_date
      properties:
        first_pay_date:
          type: string
          format: date
          description: >-
            Requested settlement date. Dates outside pay terms reopen the
            account as a pending creditor response.
          example: '2026-06-20'
    ConsumerSchedulePlanMutationResponse:
      type: object
      required:
        - message
        - data
      properties:
        message:
          type: string
          examples:
            - Payment rescheduled for today.
            - Payment skipped.
            - Payment scheduled for today was not skipped.
            - Payment date updated.
            - Settlement date updated.
            - Awesome! Your offer was sent to your creditor!
            - Recurring payment schedule updated.
            - Payment plan cancelled.
            - Settlement cancelled.
            - Payment processed.
            - Partial payment processed.
            - Remaining balance paid.
            - Extra payment processed.
        data:
          allOf:
            - $ref: '#/components/schemas/ConsumerAccountPaymentsPayload'
            - type: object
              required:
                - result
                - next_tab
              properties:
                result:
                  type: string
                  enum:
                    - rescheduled_today
                    - skipped
                    - skip_not_performed
                    - date_updated
                    - settlement_date_updated
                    - settlement_date_requested
                    - recurring_schedule_updated
                    - plan_cancelled
                    - settlement_cancelled
                    - scheduled_payment_paid
                    - partial_payment_processed
                    - remaining_balance_paid
                    - extra_payment_processed
                  example: date_updated
                reason:
                  type:
                    - string
                    - 'null'
                  enum:
                    - scheduled_for_today
                    - null
                  description: >-
                    Machine-readable no-op reason. Returned as
                    `scheduled_for_today` only when a same-day skip is not
                    performed.
                next_tab:
                  type: string
                  description: Frontend tab key the account belongs to after the mutation.
                  enum:
                    - payment_plans
                    - scheduled_settlements
                    - active_negotiation
                    - cancelled_plan
                    - ready_to_negotiate
                    - settled
                  example: payment_plans
    ConsumerAccountPaymentsPayload:
      type: object
      required:
        - account
        - summary
        - schedule_plan
        - scheduled_payments
        - cancelled_payments
        - transaction_history
        - calendar_events
      properties:
        account:
          $ref: '#/components/schemas/ConsumerAccount'
        summary:
          $ref: '#/components/schemas/ConsumerPaymentSummary'
        payment_profile:
          anyOf:
            - $ref: '#/components/schemas/ConsumerPaymentProfile'
            - type: 'null'
        negotiation:
          anyOf:
            - $ref: '#/components/schemas/ConsumerPaymentNegotiation'
            - type: 'null'
        schedule_plan:
          $ref: '#/components/schemas/ConsumerSchedulePlan'
        scheduled_payments:
          type: array
          description: Scheduled and failed schedule rows, ordered by schedule date.
          items:
            $ref: '#/components/schemas/ConsumerPaymentScheduleRecord'
        cancelled_payments:
          type: array
          description: Cancelled schedule rows, ordered by schedule date.
          items:
            $ref: '#/components/schemas/ConsumerPaymentScheduleRecord'
        transaction_history:
          type: array
          description: Processed transaction rows, newest first.
          items:
            $ref: '#/components/schemas/ConsumerTransactionPayment'
        calendar_events:
          type: array
          description: Calendar-friendly metadata for scheduled and failed payment rows.
          items:
            $ref: '#/components/schemas/ConsumerPaymentCalendarEvent'
    MessageResponse:
      type: object
      required:
        - message
      properties:
        message:
          type: string
    ProfileIncompleteResponse:
      type: object
      required:
        - code
        - message
        - required_steps
      properties:
        code:
          type: string
          example: profile_incomplete
        message:
          type: string
          example: Please complete your communication profile before viewing accounts.
        required_steps:
          type: array
          items:
            type: string
          example:
            - profile_communication
    AccountActionUnavailableResponse:
      type: object
      required:
        - code
        - message
        - current_state
      properties:
        code:
          type: string
          example: account_action_unavailable
        message:
          type: string
          example: This account action is not available for the current account state.
        current_state:
          type:
            - string
            - 'null'
          example: payment_declined
    ValidationErrorResponse:
      type: object
      required:
        - message
        - errors
      properties:
        message:
          type: string
        errors:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
    ConsumerAccount:
      type: object
      description: >-
        Semantic My Account record. Raw/domain account data stays at the top
        level; frontend card/tab/action rendering data is grouped under
        `display`.
      required:
        - id
        - identity
        - display
        - status
        - hold_reason
        - flags
        - dates
      properties:
        id:
          type: integer
        identity:
          $ref: '#/components/schemas/ConsumerAccountIdentity'
        company:
          $ref: '#/components/schemas/ConsumerAccountCompanySummary'
        subclient:
          $ref: '#/components/schemas/ConsumerAccountSubclientSummary'
        display:
          $ref: '#/components/schemas/ConsumerAccountDisplay'
        status:
          $ref: '#/components/schemas/ConsumerAccountStatus'
        reason_label:
          type: string
          description: Consumer reason display label, when present.
        hold_reason:
          type:
            - string
            - 'null'
          description: >-
            Saved consumer-entered hold message used to pre-fill the Change
            Restart Date dialog.
          example: Need a short break from payments.
        balances: 5da575cd-e890-49d9-8b26-aeeaa9c6c44d
        offer_summary_items:
          type: array
          items: 4459d426-439f-4326-abee-b97d5e6da329
        payment_plan_meta_items:
          type: array
          items: 4459d426-439f-4326-abee-b97d5e6da329
        active_negotiation:
          anyOf:
            - $ref: '#/components/schemas/ConsumerActiveNegotiation'
            - type: 'null'
        scheduled_payment:
          anyOf:
            - $ref: '#/components/schemas/ConsumerScheduledPayment'
            - type: 'null'
        notice_response:
          anyOf:
            - $ref: '#/components/schemas/ConsumerNoticeResponse'
            - type: 'null'
        flags:
          $ref: '#/components/schemas/ConsumerAccountFlags'
        dates:
          $ref: '#/components/schemas/ConsumerAccountDates'
        created_at:
          type: string
          format: date-time
          nullable: true
        updated_at:
          type: string
          format: date-time
          nullable: true
    ConsumerPaymentSummary:
      type: object
      properties:
        scheduled_count:
          type: integer
          example: 2
        cancelled_count:
          type: integer
          example: 1
        transaction_history_count:
          type: integer
          example: 3
        scheduled_total:
          type: string
          example: '250.00'
        cancelled_total:
          type: string
          example: '125.00'
        successful_total:
          type: string
          example: '375.00'
        failed_total:
          type: string
          example: '0.00'
        current_balance:
          type:
            - string
            - 'null'
          example: '725.25'
        original_balance:
          type:
            - string
            - 'null'
          example: '1000.00'
        negotiated_balance:
          type:
            - string
            - 'null'
          example: '725.25'
    ConsumerPaymentProfile:
      type: object
      properties:
        id:
          type: integer
        method:
          $ref: '#/components/schemas/ConsumerPaymentMethod'
        method_label:
          type:
            - string
            - 'null'
          example: Card
        label:
          type: string
          example: Card ending in 4242
        last_four_digit:
          type:
            - string
            - 'null'
        account_number_last_four:
          type:
            - string
            - 'null'
        expiration_month:
          type:
            - string
            - 'null'
        expiration_year:
          type:
            - string
            - 'null'
        first_name:
          type:
            - string
            - 'null'
        last_name:
          type:
            - string
            - 'null'
        address:
          type:
            - string
            - 'null'
        city:
          type:
            - string
            - 'null'
        state:
          type:
            - string
            - 'null'
        zip:
          type:
            - string
            - 'null'
        is_saved_for_future_use:
          type: boolean
    ConsumerPaymentNegotiation:
      type: object
      properties:
        id:
          type: integer
        negotiation_type:
          $ref: '#/components/schemas/ConsumerNegotiationType'
        negotiation_type_label:
          type:
            - string
            - 'null'
        installment_type:
          $ref: '#/components/schemas/ConsumerInstallmentType'
        installment_type_label:
          type:
            - string
            - 'null'
        payment_profile_id:
          type:
            - integer
            - 'null'
        payment_plan_current_balance:
          type:
            - string
            - 'null'
        one_time_settlement:
          type:
            - string
            - 'null'
        negotiate_amount:
          type:
            - string
            - 'null'
        monthly_amount:
          type:
            - string
            - 'null'
        no_of_installments:
          type:
            - integer
            - 'null'
        first_pay_date:
          type:
            - string
            - 'null'
          format: date
    ConsumerSchedulePlan:
      type: object
      required:
        - key
        - label
        - back_tab
        - manage_label
        - cancel_label
        - actions
        - action_items
        - cancel_preview
      properties:
        key:
          type: string
          enum:
            - payment_plan
            - scheduled_settlement
          example: payment_plan
        label:
          type: string
          example: Payment Plan
        back_tab:
          type: string
          enum:
            - hold
            - scheduled_settlements
            - payment_plans
          example: payment_plans
        manage_label:
          type: string
          example: Manage My Plan
        cancel_label:
          type: string
          example: Cancel Plan
        is_on_hold:
          type: boolean
          example: false
        restart_date:
          type:
            - string
            - 'null'
          format: date
        actions:
          $ref: '#/components/schemas/ConsumerSchedulePlanActions'
        action_items:
          type: array
          description: >-
            Available page-level action labels for frontend menus/buttons. The
            API intentionally does not include HTTP methods or endpoints here;
            frontend chooses the UI and calls the relevant mutation API when
            implemented.
          items:
            $ref: '#/components/schemas/ConsumerScheduleActionItem'
        cancel_preview:
          $ref: '#/components/schemas/ConsumerSchedulePlanCancelPreview'
    ConsumerPaymentScheduleRecord:
      type: object
      required:
        - id
        - record_type
        - record_key
        - amount
        - status
      properties:
        id:
          type: integer
        record_type:
          type: string
          enum:
            - scheduled_payment
        record_key:
          type: string
          example: scheduled:12
        transaction_id:
          type:
            - integer
            - 'null'
        transaction_type:
          type:
            - string
            - 'null'
          enum:
            - pif
            - installment
            - partial_pif
            - null
        transaction_type_label:
          type:
            - string
            - 'null'
          example: Payment Plan
        schedule_date:
          type:
            - string
            - 'null'
          format: date
        previous_schedule_date:
          type:
            - string
            - 'null'
          format: date
        amount:
          type: string
          example: '125.00'
        status:
          $ref: '#/components/schemas/ConsumerPaymentStatus'
        is_first_schedule_row:
          type: boolean
          description: >-
            True when this record is the first row in the Schedule Plan table
            ordering.
          example: true
        is_next_scheduled_payment:
          type: boolean
          description: True when this record is the next row with `scheduled` status.
          example: true
        actions:
          $ref: '#/components/schemas/ConsumerSchedulePaymentActions'
        action_items:
          type: array
          description: Available row-level action labels for frontend menus/buttons.
          items:
            $ref: '#/components/schemas/ConsumerScheduleActionItem'
        status_code:
          type:
            - string
            - 'null'
        attempt_count:
          type: integer
        last_attempted_at:
          type:
            - string
            - 'null'
          format: date-time
        payment_profile:
          anyOf:
            - $ref: '#/components/schemas/ConsumerPaymentProfile'
            - type: 'null'
        created_at:
          type:
            - string
            - 'null'
          format: date-time
        updated_at:
          type:
            - string
            - 'null'
          format: date-time
    ConsumerTransactionPayment:
      type: object
      required:
        - id
        - transaction_id
        - record_type
        - record_key
        - amount
        - status
      properties:
        id:
          type: integer
        transaction_id:
          type:
            - string
            - 'null'
          description: Gateway transaction identifier.
          example: gateway-payment-100
        record_type:
          type: string
          enum:
            - transaction_history
        record_key:
          type: string
          example: transaction:44
        schedule_transaction_id:
          type:
            - integer
            - 'null'
        schedule_date:
          type:
            - string
            - 'null'
          format: date
        transaction_type:
          type:
            - string
            - 'null'
          enum:
            - pif
            - installment
            - partial_pif
            - null
        transaction_type_label:
          type:
            - string
            - 'null'
          example: Settlement
        amount:
          type: string
          example: '250.00'
        status:
          $ref: '#/components/schemas/ConsumerPaymentStatus'
        payment_profile:
          anyOf:
            - $ref: '#/components/schemas/ConsumerPaymentProfile'
            - type: 'null'
        processed_at:
          type:
            - string
            - 'null'
          format: date-time
        created_at:
          type:
            - string
            - 'null'
          format: date-time
        updated_at:
          type:
            - string
            - 'null'
          format: date-time
    ConsumerPaymentCalendarEvent:
      type: object
      properties:
        id:
          type: integer
        title:
          type:
            - string
            - 'null'
          example: Payment Account
        start:
          type:
            - string
            - 'null'
          format: date
        extended_props:
          type: object
          properties:
            consumer_id:
              type: integer
            amount:
              type: string
              example: '125.00'
            raw_amount:
              type: number
              example: 125
            payment_method:
              $ref: '#/components/schemas/ConsumerPaymentMethod'
            payment_method_label:
              type:
                - string
                - 'null'
              example: Card
            last4:
              type:
                - string
                - 'null'
            account_number:
              type:
                - string
                - 'null'
            is_on_hold:
              type: boolean
            hold_label:
              type:
                - string
                - 'null'
            restart_on:
              type:
                - string
                - 'null'
              format: date
    ConsumerAccountIdentity:
      type: object
      required:
        - account_name
        - account_number
        - member_account_number
        - reference_number
        - statement_id_number
        - subclient_account_number
        - consumer_name
        - last4ssn
      properties:
        account_name:
          type:
            - string
            - 'null'
        account_number:
          type:
            - string
            - 'null'
        member_account_number:
          type:
            - string
            - 'null'
        reference_number:
          type:
            - string
            - 'null'
        statement_id_number:
          type:
            - string
            - 'null'
        subclient_account_number:
          type:
            - string
            - 'null'
        consumer_name:
          type: string
        last4ssn:
          type:
            - string
            - 'null'
    ConsumerAccountCompanySummary:
      type: object
      nullable: true
      properties:
        id:
          type:
            - integer
            - 'null'
        company_name:
          type:
            - string
            - 'null'
        about_us:
          type: string
          description: >-
            Creditor About Us HTML shown in the consumer Company Profile modal.
            Returns `N/A` when the company does not have an About Us profile.
          example: >-
            <p>ABC Collections works with consumers on flexible repayment
            options.</p>
    ConsumerAccountSubclientSummary:
      type: object
      nullable: true
      properties:
        id:
          type:
            - integer
            - 'null'
        subclient_name:
          type:
            - string
            - 'null'
        unique_identification_number:
          type:
            - string
            - 'null'
    ConsumerAccountDisplay:
      type: object
      description: >-
        Frontend rendering contract for My Account cards. This is the only place
        card labels, priority, display balances, offer summaries, and account
        actions are returned.
      required:
        - state
        - condition
        - view_flags
        - amounts
        - balance_items
        - offer_summary_items
        - payment_plan_meta_items
        - settlement_schedule_date
        - available_actions
      properties:
        state:
          $ref: '#/components/schemas/ConsumerAccountState'
        condition:
          $ref: '#/components/schemas/ConsumerAccountCondition'
        view_flags:
          $ref: '#/components/schemas/ConsumerAccountDisplayFlags'
        amounts:
          $ref: '#/components/schemas/ConsumerAccountDisplayAmounts'
        balance_items:
          type: array
          description: Ordered amount rows for the account card.
          items:
            $ref: '#/components/schemas/ConsumerAccountAmountItem'
        offer_summary_items:
          type: array
          description: >-
            Ordered amount rows for negotiation summary modals and offer
            details. Empty when the current state does not need an offer
            summary.
          items:
            $ref: '#/components/schemas/ConsumerAccountAmountItem'
        payment_plan_meta_items:
          type: array
          description: Ordered label/value rows for active or agreed installment plans.
          items:
            $ref: '#/components/schemas/ConsumerAccountMetaItem'
        settlement_schedule_date:
          type:
            - string
            - 'null'
          description: >-
            Formatted settlement due date for scheduled/agreed settlements, for
            example `Jun 15, 2026`.
        available_actions:
          type: array
          items:
            $ref: '#/components/schemas/ConsumerAccountAction'
    ConsumerAccountStatus:
      type: object
      required:
        - value
        - label
      properties:
        value:
          type:
            - string
            - 'null'
          example: payment_accepted
        label:
          type:
            - string
            - 'null'
          example: Payment Plan
    ConsumerActiveNegotiation:
      type: object
      properties:
        id:
          type: integer
        negotiation_type:
          type:
            - string
            - 'null'
          enum:
            - pif
            - installment
            - null
        negotiation_type_label:
          type:
            - string
            - 'null'
        active_negotiation:
          type: boolean
        offer_accepted:
          type: boolean
        offer_accepted_at:
          type: string
          format: date-time
          nullable: true
        counter_offer_accepted:
          type: boolean
        installment_type:
          type:
            - string
            - 'null'
          enum:
            - weekly
            - bimonthly
            - monthly
            - null
        first_pay_date:
          type:
            - string
            - 'null'
          format: date
        monthly_amount:
          type:
            - string
            - 'null'
        no_of_installments:
          type:
            - integer
            - 'null'
        last_month_amount:
          type:
            - string
            - 'null'
        one_time_settlement:
          type:
            - string
            - 'null'
        negotiate_amount:
          type:
            - string
            - 'null'
        counter_one_time_amount:
          type:
            - string
            - 'null'
        counter_negotiate_amount:
          type:
            - string
            - 'null'
        counter_monthly_amount:
          type:
            - string
            - 'null'
        counter_no_of_installments:
          type:
            - integer
            - 'null'
        counter_first_pay_date:
          type:
            - string
            - 'null'
          format: date
        consumer_offer_sent_at:
          type:
            - string
            - 'null'
          format: date-time
        creditor_counter_offer_sent_at:
          type:
            - string
            - 'null'
          format: date-time
        last_offer_type:
          type:
            - string
            - 'null'
    ConsumerScheduledPayment:
      type: object
      required:
        - id
        - date
        - amount
        - status
      properties:
        id:
          type: integer
        date:
          type: string
          format: date
        amount:
          type: string
        status:
          type: string
    ConsumerNoticeResponse:
      type: object
      properties:
        id:
          type: integer
        account_name:
          type:
            - string
            - 'null'
        account_number:
          type:
            - string
            - 'null'
        notice_balance:
          type: string
        status:
          type:
            - integer
            - 'null'
        status_label:
          type:
            - string
            - 'null'
        reason_label:
          type:
            - string
            - 'null'
        sender_detail:
          anyOf:
            - $ref: '#/components/schemas/NoticeResponseSenderDetail'
            - type: 'null'
    ConsumerAccountFlags:
      type: object
      properties:
        payment_setup:
          type: boolean
        offer_accepted:
          type: boolean
        counter_offer:
          type: boolean
        has_failed_payment:
          type: boolean
        custom_offer:
          type: boolean
        membership_active_account:
          type: boolean
    ConsumerAccountDates:
      type: object
      properties:
        placement_date:
          type:
            - string
            - 'null'
          format: date
        expiry_date:
          type:
            - string
            - 'null'
          format: date
          description: >-
            Self-service expiry date. Offer pages should show the Self-Service
            Expires label only when this value is non-null.
        restart_date:
          type:
            - string
            - 'null'
          format: date
        last_login_at:
          type:
            - string
            - 'null'
          format: date-time
        disputed_at:
          type:
            - string
            - 'null'
          format: date-time
        cancelled_at:
          type:
            - string
            - 'null'
          format: date-time
        deactivated_at:
          type:
            - string
            - 'null'
          format: date-time
    ConsumerPaymentMethod:
      type:
        - string
        - 'null'
      enum:
        - cc
        - ach
        - null
    ConsumerNegotiationType:
      type:
        - string
        - 'null'
      enum:
        - pif
        - installment
        - null
    ConsumerInstallmentType:
      type:
        - string
        - 'null'
      enum:
        - weekly
        - bimonthly
        - monthly
        - null
    ConsumerSchedulePlanActions:
      type: object
      properties:
        can_pay_remaining_balance:
          type: boolean
        can_generate_helping_hand_link:
          type: boolean
        can_generate_helping_hand_qr_code:
          type: boolean
        can_make_extra_payment:
          type: boolean
        can_change_payment_method:
          type: boolean
        can_request_settlement_date:
          type: boolean
        can_update_recurring_payment_date:
          type: boolean
        can_download_agreement:
          type: boolean
        can_hold_plan:
          type: boolean
        can_restart_plan:
          type: boolean
        can_cancel_plan:
          type: boolean
        can_cancel_settlement:
          type: boolean
    ConsumerScheduleActionItem:
      type: object
      required:
        - key
        - label
        - available
      properties:
        key:
          type: string
          example: pay_now
        label:
          type: string
          example: Pay Now
        available:
          type: boolean
          example: true
    ConsumerSchedulePlanCancelPreview:
      type: object
      properties:
        original_balance:
          type:
            - string
            - 'null'
          example: '1000.00'
        payment_plan_starting_balance:
          type:
            - string
            - 'null'
          example: '725.25'
        payments_made:
          type: string
          example: '125.00'
        current_balance_due:
          type: string
          example: '875.00'
    ConsumerPaymentStatus:
      type: object
      properties:
        value:
          type: string
          enum:
            - successful
            - failed
            - processing
            - scheduled
            - rescheduled
            - consumer_change_date
            - creditor_change_date
            - cancelled
        label:
          type: string
          example: Scheduled
    ConsumerSchedulePaymentActions:
      type: object
      properties:
        can_pay_now:
          type: boolean
        can_generate_helping_hand_link:
          type: boolean
        can_generate_helping_hand_qr_code:
          type: boolean
        can_partial_pay:
          type: boolean
        can_change_date:
          type: boolean
        can_skip:
          type: boolean
          description: >-
            True only for the first scheduled installment row in the Schedule
            Plan table ordering.
        can_reschedule_today:
          type: boolean
        can_request_settlement_date:
          type: boolean
    ConsumerAccountState:
      type: object
      required:
        - key
        - label
        - card_label
        - priority
      properties:
        key:
          $ref: '#/components/schemas/ConsumerAccountTabKey'
        label:
          type: string
        card_label:
          type: string
          description: Card title for the account's current state.
        priority:
          type: integer
    ConsumerAccountCondition:
      type: object
      required:
        - key
        - label
      properties:
        key:
          type: string
          enum:
            - joined
            - approved_settlement_but_payment_setup_is_pending
            - approved_but_payment_setup_is_pending
            - payment_accepted_and_plan_in_scheduled
            - creditor_send_an_offer
            - pending_creditor_response
            - returned_notice_response
            - declined
            - disputed_deactivated
            - deactivated
            - disputed
            - not_paying
            - settled
            - hold
            - cancelled_plan
            - renegotiate
            - notice_sent
        label:
          type: string
    ConsumerAccountDisplayFlags:
      type: object
      required:
        - is_installment_payment_plan
        - is_scheduled_settlement
        - is_agreed_installment_payment_plan
        - is_agreed_settlement
        - is_cancelled_plan
        - is_declined_closed_negotiation
        - is_pending_settlement_offer
        - is_counter_settlement_offer
        - is_active_installment_offer
        - is_returned_notice_response
        - is_creditor_removed_dispute_no_pay
        - is_no_pay_creditor_removed
      properties:
        is_installment_payment_plan:
          type: boolean
        is_scheduled_settlement:
          type: boolean
        is_agreed_installment_payment_plan:
          type: boolean
        is_agreed_settlement:
          type: boolean
        is_cancelled_plan:
          type: boolean
        is_declined_closed_negotiation:
          type: boolean
        is_pending_settlement_offer:
          type: boolean
        is_counter_settlement_offer:
          type: boolean
        is_active_installment_offer:
          type: boolean
        is_returned_notice_response:
          type: boolean
        is_creditor_removed_dispute_no_pay:
          type: boolean
        is_no_pay_creditor_removed:
          type: boolean
    ConsumerAccountDisplayAmounts:
      type: object
      description: >-
        Canonical amount values used by the reference My Account display
        formulas. All values are decimal strings with two fraction digits.
      required:
        - payoff_balance
        - settlement_payoff_balance
        - current_balance
        - original_balance
        - my_settlement_offer
        - creditor_settlement_offer
        - active_installment_payoff_balance
      properties:
        payoff_balance:
          type: string
          example: '2125.00'
        settlement_payoff_balance:
          type: string
          example: '1750.00'
        current_balance:
          type: string
          example: '2500.00'
        original_balance:
          type: string
          example: '2500.00'
        my_settlement_offer:
          type: string
          example: '100.00'
        creditor_settlement_offer:
          type: string
          example: '490.00'
        active_installment_payoff_balance:
          type: string
          example: '2125.00'
    ConsumerAccountAmountItem:
      type: object
      required:
        - key
        - label
        - amount
        - amount_label
      properties:
        key:
          type: string
          example: payoff_balance
        label:
          type: string
          example: Payoff Balance
        amount:
          type: string
          description: Decimal amount value without currency symbol.
          example: '2125.00'
        amount_label:
          type: string
          description: Currency-formatted display value.
          example: $2,125.00
    ConsumerAccountMetaItem:
      type: object
      required:
        - key
        - label
        - value
      properties:
        key:
          type: string
          example: next_due_date
        label:
          type: string
          example: Next Due Date
        value:
          type: string
          example: Jun 15, 2026
    ConsumerAccountAction:
      type: object
      required:
        - key
        - label
      properties:
        key:
          type: string
          example: manage_plan
        label:
          type: string
          example: Manage Plan
    NoticeResponseSenderDetail:
      type: object
      required:
        - id
        - sender
      properties:
        id:
          type: integer
        sender:
          $ref: '#/components/schemas/NoticeResponseSender'
    ConsumerAccountTabKey:
      type: string
      enum:
        - dashboard
        - approved_but_payment_pending
        - active_negotiation_with_counter_offer
        - ready_to_negotiate
        - active_negotiation
        - notice_responses
        - scheduled_settlements
        - payment_plans
        - settled
        - payment_declined
        - disputed_or_not_paying
        - deactivated
        - cancelled_plan
    NoticeResponseSender:
      type: object
      required:
        - id
        - type
        - company_name
      properties:
        id:
          type: integer
        type:
          type: string
          enum:
            - company
            - creditor_profile
        company_name:
          type: string
          example: Acme Collections
        company_phone:
          type:
            - string
            - 'null'
          example: (900) 509-1111
        company_email:
          type:
            - string
            - 'null'
          format: email
        company_address1:
          type:
            - string
            - 'null'
        company_address2:
          type:
            - string
            - 'null'
        company_city:
          type:
            - string
            - 'null'
        company_state:
          type:
            - string
            - 'null'
        company_zip:
          type:
            - string
            - 'null'
        company_url:
          type:
            - string
            - 'null'
  responses:
    Unauthenticated:
      description: Missing or invalid bearer token.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/MessageResponse'
    Forbidden:
      description: Authenticated consumer cannot access the resource.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/MessageResponse'
    NotFound:
      description: Resource not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/MessageResponse'
    AccountActionConflict:
      description: >-
        The authenticated profile is incomplete, or the requested account action
        is not available for the account's current state.
      content:
        application/json:
          schema:
            oneOf:
              - $ref: '#/components/schemas/ProfileIncompleteResponse'
              - $ref: '#/components/schemas/AccountActionUnavailableResponse'
    ValidationError:
      description: Request validation failed.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ValidationErrorResponse'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: Sanctum token

````