> ## 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.

# Put payment plan on hold

> Put an active installment payment plan on temporary hold, or update the hold details when the account is already on hold. The account must belong to the authenticated consumer profile and have an active installment negotiation.



## OpenAPI

````yaml /api/consumer.openapi.yaml post /accounts/{consumer}/hold
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}/hold:
    post:
      tags:
        - Accounts
      summary: Put payment plan on hold
      description: >-
        Put an active installment payment plan on temporary hold, or update the
        hold details when the account is already on hold. The account must
        belong to the authenticated consumer profile and have an active
        installment negotiation.
      operationId: consumerHoldPaymentPlan
      parameters:
        - name: consumer
          in: path
          required: true
          description: Consumer account ID.
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConsumerAccountHoldRequest'
      responses:
        '200':
          description: Payment plan placed on hold.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsumerAccountActionMutationResponse'
        '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:
  schemas:
    ConsumerAccountHoldRequest:
      type: object
      required:
        - restart_date
        - hold_reason
      properties:
        restart_date:
          type: string
          format: date
          description: Restart date for the held payment plan. Must be after today.
          example: '2026-06-20'
        hold_reason:
          type: string
          maxLength: 255
          description: Consumer-entered reason for putting the plan on hold.
          example: Temporary payment issue
    ConsumerAccountActionMutationResponse:
      type: object
      required:
        - message
        - data
      properties:
        message:
          type: string
          examples:
            - Negotiation restarted.
            - Your account can be found in new offers.
            - Your account plan has been successfully placed on hold.
            - Your account plan has been successfully restarted.
            - Your first pay date update successfully.
            - Awesome! Your offer was sent to your creditor!
            - >-
              We have updated your account status and sent your response to the
              hosting YN member.
        data:
          type: object
          required:
            - account
            - next_action
          properties:
            account:
              $ref: '#/components/schemas/ConsumerAccount'
            next_action:
              $ref: '#/components/schemas/ConsumerAccountAction'
    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
    ConsumerAccountAction:
      type: object
      required:
        - key
        - label
      properties:
        key:
          type: string
          example: manage_plan
        label:
          type: string
          example: Manage Plan
    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
    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
    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
    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

````