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

# Update Consumer Profile contact

> Update the email and mobile fields from the Consumer Profiles detail page. This is blocked for settled accounts, removed accounts, and accounts that already have an active communication profile. Uploaded accounts also sync the Consumer Profile contact when the current account contact still fully matches the profile contact.



## OpenAPI

````yaml /api/creditor.openapi.yaml patch /manage-consumers/{consumer}/contact
openapi: 3.1.0
info:
  title: YouNegotiate Creditor API
  version: '2.0'
  description: >-
    Stateless API endpoints for creditor portal authentication and account
    access.
servers:
  - url: https://api.creditor.younegotiate.com
    description: Production
security: []
tags:
  - name: System
    description: Public creditor domain system and health endpoints.
  - name: Authentication
    description: Creditor registration, login, password, and email verification endpoints.
  - name: Account Settings
    description: >-
      Authenticated creditor profile, contact, operating-hours, and
      profile-image endpoints.
  - name: Account Profile
    description: >-
      Creditor onboarding profile, membership, billing, and setup status
      endpoints.
  - name: Setup Wizard
    description: >-
      Creditor setup wizard status, required-step completion, and optional-step
      completion.
  - name: Dashboard
    description: Creditor dashboard work queues and performance widgets.
  - name: Import / Export
    description: >-
      Creditor consumer import upload sessions, queued imports, history,
      downloads, and failed-row files.
  - name: Membership Settings
    description: >-
      Creditor membership dashboard, plan changes, payment method, cancellation,
      special-plan inquiry, and over-limit retry endpoints.
  - name: Merchant Account
    description: >-
      Existing merchant processor credentials, Tilled onboarding, and merchant
      application endpoints.
  - name: Header Profiles
    description: >-
      CSV header profile upload, mapping, download, and setup wizard completion
      endpoints.
  - name: SFTP Connections
    description: >-
      Creditor-managed SFTP connection profiles for imports, exports, and setup
      wizard completion.
  - name: Sub Accounts
    description: >-
      Creditor-managed sub account list, export, create, update, and delete
      endpoints.
  - name: Pay Terms Offers
    description: >-
      Creditor-managed master, sub-account, group, and group-sub-account Pay
      Terms endpoints.
  - name: Individual Custom Offers
    description: Creditor individual custom offer list endpoints.
  - name: Negotiations
    description: >-
      Creditor negotiation work queues, including notice responses and offer
      review counts.
  - name: Communications / CFPB Validation Letter
    description: >-
      CFPB Validation Letter tables, secure EcoLetter send/resend, CSV export,
      and print/download actions.
  - name: Communications / EcoLetter Template
    description: >-
      Creditor EcoLetter template management for secure eLetter communications
      and campaigns.
  - name: Communications / Groups
    description: >-
      Creditor communication group management for dynamic consumer targeting and
      campaign selection.
  - name: Communications / Schedule Campaign
    description: >-
      Creditor EcoLetter campaign scheduling, quote, immediate send, and
      delivery queue endpoints.
  - name: Communications / Campaign Tracker
    description: >-
      Creditor campaign tracker reporting, refresh, and consumer export
      endpoints.
  - name: Consumer Profiles
    description: Creditor Consumer Profiles list, filter options, and CSV export endpoints.
  - name: Terms & Conditions
    description: Creditor-managed master and sub-account Terms & Conditions templates.
  - name: About Us & Contact
    description: Creditor-managed company About Us content shown to consumers.
  - name: Logo & Links
    description: >-
      Creditor-managed master and sub-account personalized logo colors, size,
      and consumer link metadata.
  - name: Users
    description: >-
      Master creditor user management, invitations, and account deletion
      endpoints.
paths:
  /manage-consumers/{consumer}/contact:
    patch:
      tags:
        - Consumer Profiles
      summary: Update Consumer Profile contact
      description: >-
        Update the email and mobile fields from the Consumer Profiles detail
        page. This is blocked for settled accounts, removed accounts, and
        accounts that already have an active communication profile. Uploaded
        accounts also sync the Consumer Profile contact when the current account
        contact still fully matches the profile contact.
      operationId: creditorUpdateManageConsumerContact
      parameters:
        - name: consumer
          in: path
          required: true
          description: Consumer account ID.
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateManageConsumerContactRequest'
      responses:
        '200':
          description: >-
            Contact information updated and refreshed Consumer Profile detail
            returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateManageConsumerContactResponse'
        '401':
          $ref: '#/components/responses/Unauthenticated'
        '403':
          $ref: '#/components/responses/ActiveMembershipRequired'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          description: >-
            Account status or communication profile state does not allow contact
            updates.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageResponse'
        '422':
          $ref: '#/components/responses/ValidationError'
      security:
        - bearerAuth: []
components:
  schemas:
    UpdateManageConsumerContactRequest:
      type: object
      additionalProperties: false
      required:
        - email
        - mobile
      properties:
        email:
          type: string
          format: email
          maxLength: 50
          example: consumer.updated@example.com
        mobile:
          type: string
          description: >-
            US mobile number. Formatting characters are accepted and normalized
            by the API.
          example: '9002090020'
    UpdateManageConsumerContactResponse:
      type: object
      required:
        - message
        - data
      properties:
        message:
          type: string
          example: Consumer updated successfully.
        data:
          $ref: '#/components/schemas/ManageConsumerDetail'
    MessageResponse:
      type: object
      required:
        - message
      properties:
        message:
          type: string
    ManageConsumerDetail:
      type: object
      additionalProperties: false
      required:
        - id
        - summary
        - account_profile
        - communication_profile
        - negotiation_summary
        - offer_terms
        - active_negotiation
        - available_actions
        - created_at
        - updated_at
      properties:
        id:
          type: integer
        summary:
          $ref: '#/components/schemas/ManageConsumerDetailSummary'
        account_profile:
          $ref: '#/components/schemas/ManageConsumerAccountProfile'
        communication_profile:
          $ref: '#/components/schemas/ManageConsumerCommunicationProfile'
        negotiation_summary:
          $ref: '#/components/schemas/ManageConsumerNegotiationSummary'
        offer_terms:
          $ref: '#/components/schemas/ManageConsumerOfferTerms'
        active_negotiation:
          oneOf:
            - $ref: '#/components/schemas/ManageConsumerActiveNegotiation'
            - type: 'null'
        available_actions:
          type: array
          items:
            $ref: '#/components/schemas/ManageConsumerAvailableAction'
        created_at:
          type: string
          format: date-time
          nullable: true
        updated_at:
          type: string
          format: date-time
          nullable: true
    ValidationErrorResponse:
      type: object
      required:
        - message
        - errors
      properties:
        message:
          type: string
        errors:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
    ManageConsumerDetailSummary:
      type: object
      additionalProperties: false
      required:
        - account_name
        - placement_date
        - expiry_date
        - original_account_number
        - current_account_number
        - consumer_login_url
      properties:
        account_name:
          type: string
          nullable: true
        placement_date:
          type: string
          format: date
          nullable: true
        expiry_date:
          type: string
          format: date
          nullable: true
        original_account_number:
          type: string
          nullable: true
        current_account_number:
          type: string
          nullable: true
        consumer_login_url:
          type: string
          format: uri
    ManageConsumerAccountProfile:
      type: object
      additionalProperties: false
      required:
        - account_status
        - displays_active_account_status
        - reason_label
        - first_name
        - middle_name
        - last_name
        - full_name
        - dob
        - last4ssn
        - beginning_balance
        - current_balance
      properties:
        account_status:
          type: string
          enum:
            - Active
            - Removed
        displays_active_account_status:
          type: boolean
        reason_label:
          type: string
        first_name:
          type: string
          nullable: true
        middle_name:
          type: string
          nullable: true
        last_name:
          type: string
          nullable: true
        full_name:
          type: string
        dob:
          type: string
          format: date
          nullable: true
        last4ssn:
          type: string
          nullable: true
        beginning_balance:
          type: string
          nullable: true
        current_balance:
          type: string
          nullable: true
    ManageConsumerCommunicationProfile:
      type: object
      additionalProperties: false
      required:
        - label
        - has_email
        - has_mobile
        - has_communication_profile
        - is_communication_updated
        - email_permission
        - text_permission
        - can_send_email
        - can_send_sms
      properties:
        label:
          type: string
          enum:
            - Email & Mobile
            - Email
            - Mobile
            - None
        has_email:
          type: boolean
        has_mobile:
          type: boolean
        has_communication_profile:
          type: boolean
        is_communication_updated:
          type: boolean
        email_permission:
          type: boolean
        text_permission:
          type: boolean
        can_send_email:
          type: boolean
        can_send_sms:
          type: boolean
        contact:
          type: object
          additionalProperties: false
          nullable: true
          description: >-
            Present only when there is no active communication profile and the
            detail page would show editable contact rows.
          required:
            - email
            - mobile
          properties:
            email:
              type: string
              format: email
              nullable: true
            mobile:
              type: string
              nullable: true
    ManageConsumerNegotiationSummary:
      type: object
      additionalProperties: false
      required:
        - status
        - current_offer_source
        - approved_by
        - settled_in_full
        - active_payment_plan
      properties:
        status:
          $ref: '#/components/schemas/ManageConsumerNegotiationStatus'
        current_offer_source:
          type: string
          nullable: true
          example: Individual
        approved_by:
          type: string
          nullable: true
          example: Auto
        settled_in_full:
          oneOf:
            - $ref: '#/components/schemas/ManageConsumerSettledInFull'
            - type: 'null'
        active_payment_plan:
          oneOf:
            - $ref: '#/components/schemas/ManageConsumerActivePaymentPlan'
            - type: 'null'
    ManageConsumerOfferTerms:
      type: object
      additionalProperties: false
      required:
        - offer_source
        - pif_discount_percent
        - ppa_discount_percent
        - min_monthly_pay_percent
        - max_days_first_pay
        - amount_to_pay_when_pif
        - amount_to_pay_when_ppa
        - min_monthly_amount
      properties:
        offer_source:
          type: string
          nullable: true
        pif_discount_percent:
          type: number
          format: float
          nullable: true
        ppa_discount_percent:
          type: number
          format: float
          nullable: true
        min_monthly_pay_percent:
          type: number
          format: float
          nullable: true
        max_days_first_pay:
          type: integer
          nullable: true
        amount_to_pay_when_pif:
          type: number
          format: float
          nullable: true
        amount_to_pay_when_ppa:
          type: number
          format: float
          nullable: true
        min_monthly_amount:
          type: number
          format: float
          nullable: true
    ManageConsumerActiveNegotiation:
      type: object
      additionalProperties: false
      required:
        - id
        - negotiation_type
        - negotiation_type_label
        - pay_term_type
        - pay_term_type_label
        - active_negotiation
        - offer_accepted
        - counter_offer_accepted
        - can_respond
        - is_not_editable
        - consumer_offer_sent_at
        - creditor_counter_offer_sent_at
      properties:
        id:
          type: integer
        negotiation_type:
          type: string
          nullable: true
        negotiation_type_label:
          type: string
          nullable: true
        pay_term_type:
          type: string
          nullable: true
        pay_term_type_label:
          type: string
          nullable: true
        active_negotiation:
          type: boolean
        offer_accepted:
          type: boolean
        counter_offer_accepted:
          type: boolean
        can_respond:
          type: boolean
        is_not_editable:
          type: boolean
        consumer_offer_sent_at:
          type: string
          format: date-time
          nullable: true
        creditor_counter_offer_sent_at:
          type: string
          format: date-time
          nullable: true
    ManageConsumerAvailableAction:
      type: object
      additionalProperties: false
      required:
        - key
        - label
        - enabled
        - fields
      properties:
        key:
          type: string
          enum:
            - update_expiry_date
            - update_contact
            - update_permissions
            - send_email
            - send_sms
            - send_e_letter
            - update_pay_terms
            - view_active_negotiation
            - download_agreement
        label:
          type: string
        enabled:
          type: boolean
        fields:
          type: array
          items:
            type: string
    ManageConsumerNegotiationStatus:
      type: object
      additionalProperties: false
      required:
        - value
        - label
        - detail_label
        - list_label
        - tooltip
        - is_expired
      properties:
        value:
          type: string
          nullable: true
        label:
          type: string
          nullable: true
        detail_label:
          type: string
          example: Active Payment Plan
        list_label:
          type: string
          example: Active Payment Plan
        tooltip:
          type: string
          nullable: true
        is_expired:
          type: boolean
    ManageConsumerSettledInFull:
      type: object
      additionalProperties: false
      required:
        - amount
        - date
      properties:
        amount:
          type: string
          nullable: true
        date:
          type: string
          format: date
          nullable: true
    ManageConsumerActivePaymentPlan:
      type: object
      additionalProperties: false
      required:
        - amount
        - monthly_amount
        - installment_type
      properties:
        amount:
          type: string
          nullable: true
        monthly_amount:
          type: string
          nullable: true
        installment_type:
          type: string
          nullable: true
  responses:
    Unauthenticated:
      description: Missing or invalid bearer token.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/MessageResponse'
    ActiveMembershipRequired:
      description: Authenticated creditor does not have an active membership.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/MessageResponse'
          example:
            message: An active membership is required.
    NotFound:
      description: Resource not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/MessageResponse'
    ValidationError:
      description: Request validation failed.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ValidationErrorResponse'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: Sanctum token

````