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

# Save notice response sender

> Save the sender-details step for an owned notice-response account. Pass `sender_type` and `sender_id` to use a searched sender, or omit both and pass the company fields to create a manual creditor profile.



## OpenAPI

````yaml /api/consumer.openapi.yaml put /accounts/{consumer}/notice-response/sender
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}/notice-response/sender:
    put:
      tags:
        - Notice Responses
      summary: Save notice response sender
      description: >-
        Save the sender-details step for an owned notice-response account. Pass
        `sender_type` and `sender_id` to use a searched sender, or omit both and
        pass the company fields to create a manual creditor profile.
      operationId: consumerUpdateNoticeResponseSender
      parameters:
        - $ref: '#/components/parameters/ConsumerAccountId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateNoticeResponseSenderRequest'
      responses:
        '200':
          description: Sender details saved.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NoticeResponseWizardMutationResponse'
        '401':
          $ref: '#/components/responses/Unauthenticated'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/NoticeResponseConflict'
        '422':
          $ref: '#/components/responses/ValidationError'
      security:
        - bearerAuth: []
components:
  parameters:
    ConsumerAccountId:
      name: consumer
      in: path
      required: true
      description: Consumer account ID.
      schema:
        type: integer
  schemas:
    UpdateNoticeResponseSenderRequest:
      type: object
      required:
        - terms_and_conditions
      properties:
        sender_type:
          type: string
          enum:
            - company
            - creditor_profile
          description: Present when the frontend uses a searched sender row.
          example: company
        sender_id:
          type: integer
          description: >-
            ID from `GET /notice-responses/senders`. Required with
            `sender_type`.
          example: 15
        company_name:
          type: string
          minLength: 3
          maxLength: 30
          description: >-
            Required when creating a manual sender instead of using
            sender_type/sender_id.
          example: Manual Sender
        company_phone:
          type: string
          maxLength: 255
          example: '9005091111'
        company_address1:
          type: string
          maxLength: 255
          example: 123 Sender St
        company_address2:
          type: string
          maxLength: 255
          example: Suite 10
        company_city:
          type: string
          maxLength: 255
          example: Dallas
        company_state:
          type: string
          example: TX
        company_zip:
          type: string
          pattern: ^\d{5}(?:-\d{4})?$
          example: '75001'
        company_email:
          type: string
          format: email
          maxLength: 255
          example: manual-sender@example.com
        company_url:
          type: string
          format: uri
          maxLength: 255
          description: URL is normalized to https:// when the scheme is omitted.
          example: https://manual-sender.test
        terms_and_conditions:
          type: boolean
          description: Must be accepted before sender details are saved.
          example: true
    NoticeResponseWizardMutationResponse:
      type: object
      required:
        - message
        - data
      properties:
        message:
          type: string
          examples:
            - Notice response started.
            - Sender details saved.
            - Account details saved.
            - Notice uploaded.
        data:
          $ref: '#/components/schemas/NoticeResponseWizard'
    NoticeResponseWizard:
      type: object
      required:
        - account
        - current_step
        - completed_steps
        - steps
        - response_options
        - sender_detail
        - notice_response
      properties:
        account:
          $ref: '#/components/schemas/NoticeResponseAccountSummary'
        current_step:
          $ref: '#/components/schemas/NoticeResponseStepKey'
        completed_steps:
          type: array
          items:
            $ref: '#/components/schemas/NoticeResponseStepKey'
          example:
            - sender_details
            - account_details
        steps:
          type: array
          items:
            $ref: '#/components/schemas/NoticeResponseStep'
        response_options:
          $ref: '#/components/schemas/NoticeResponseResponseOptions'
        sender_detail:
          anyOf:
            - $ref: '#/components/schemas/NoticeResponseSenderDetail'
            - type: 'null'
        notice_response:
          anyOf:
            - $ref: '#/components/schemas/NoticeResponseWizardNotice'
            - type: 'null'
    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
    NoticeResponseUnavailableResponse:
      type: object
      required:
        - code
        - message
        - current_step
      properties:
        code:
          type: string
          example: notice_response_unavailable
        message:
          type: string
          example: Sender details must be saved before account details.
        current_step:
          anyOf:
            - $ref: '#/components/schemas/NoticeResponseStepKey'
            - type: 'null'
    ValidationErrorResponse:
      type: object
      required:
        - message
        - errors
      properties:
        message:
          type: string
        errors:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
    NoticeResponseAccountSummary:
      type: object
      required:
        - id
        - first_name
        - last_name
        - dob
        - last4ssn
        - company_id
        - status
        - status_label
      properties:
        id:
          type: integer
        first_name:
          type:
            - string
            - 'null'
        last_name:
          type:
            - string
            - 'null'
        dob:
          type:
            - string
            - 'null'
          format: date
        last4ssn:
          type:
            - string
            - 'null'
          example: '1234'
        company_id:
          type:
            - integer
            - 'null'
        status:
          type:
            - string
            - 'null'
          example: joined
        status_label:
          type:
            - string
            - 'null'
          example: Ready to Negotiate
    NoticeResponseStepKey:
      type: string
      enum:
        - sender_details
        - account_details
        - upload_notice
        - create_response
    NoticeResponseStep:
      type: object
      required:
        - key
        - label
        - completed
        - current
      properties:
        key:
          $ref: '#/components/schemas/NoticeResponseStepKey'
        label:
          type: string
          example: Sender Details
        completed:
          type: boolean
        current:
          type: boolean
    NoticeResponseResponseOptions:
      type: object
      required:
        - negotiation_types
        - installment_types
        - custom_offer_reasons
      properties:
        negotiation_types:
          type: array
          description: >-
            Options for `POST /accounts/{consumer}/notice-response/custom-offer`
            `negotiation_type`.
          items:
            $ref: '#/components/schemas/ConsumerOfferOptionRow'
          example:
            - value: pif
              label: Settlement
            - value: installment
              label: Payment Plan
        installment_types:
          type: array
          description: >-
            Options for `installment_type` when `negotiation_type` is
            `installment`.
          items:
            $ref: '#/components/schemas/ConsumerOfferOptionRow'
          example:
            - value: weekly
              label: Weekly
            - value: bimonthly
              label: Bimonthly
            - value: monthly
              label: Monthly
        custom_offer_reasons:
          type: array
          description: >-
            Custom offer reason labels that the frontend can present in the
            create-response step.
          items:
            type: string
          example:
            - Prefer not to say
            - UnEmployed
            - Death in the Family
            - Unexpected Expenses
    NoticeResponseSenderDetail:
      type: object
      required:
        - id
        - sender
      properties:
        id:
          type: integer
        sender:
          $ref: '#/components/schemas/NoticeResponseSender'
    NoticeResponseWizardNotice:
      type: object
      required:
        - id
        - account_name
        - account_number
        - notice_balance
        - status
        - status_label
        - reason_label
        - file_path
        - file_url
        - has_notice_photo
        - custom_offer
      properties:
        id:
          type: integer
        account_name:
          type:
            - string
            - 'null'
        account_number:
          type:
            - string
            - 'null'
        notice_balance:
          type: string
          example: '425.50'
        status:
          type:
            - integer
            - 'null'
        status_label:
          type:
            - string
            - 'null'
        reason_label:
          type:
            - string
            - 'null'
        file_path:
          type:
            - string
            - 'null'
          description: Stored notice photo path. Use `file_url` for display.
          example: notice-responses/123/notice.jpg
        file_url:
          type:
            - string
            - 'null'
          format: uri
          description: Display URL for the uploaded notice photo.
        has_notice_photo:
          type: boolean
        custom_offer:
          anyOf:
            - $ref: '#/components/schemas/NoticeResponseCustomOfferPayload'
            - type: 'null'
    ConsumerOfferOptionRow:
      type: object
      required:
        - value
        - label
      properties:
        value:
          type: string
        label:
          type: string
    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'
    NoticeResponseCustomOfferPayload:
      type: object
      description: >-
        Submitted custom-offer payload stored on the notice response. Present
        after `POST /accounts/{consumer}/notice-response/custom-offer`.
      properties:
        negotiation_type:
          type: string
          enum:
            - pif
            - installment
        installment_type:
          type: string
          enum:
            - weekly
            - bimonthly
            - monthly
        amount:
          oneOf:
            - type: string
              example: '125.00'
            - type: number
              example: 125
        first_pay_date:
          type: string
          format: date
        reason:
          type: string
          nullable: true
        note:
          type: string
          nullable: true
  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'
    NoticeResponseConflict:
      description: >-
        The authenticated profile is incomplete, or the requested
        notice-response step is not available for the current wizard state.
      content:
        application/json:
          schema:
            oneOf:
              - $ref: '#/components/schemas/ProfileIncompleteResponse'
              - $ref: '#/components/schemas/NoticeResponseUnavailableResponse'
    ValidationError:
      description: Request validation failed.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ValidationErrorResponse'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: Sanctum token

````