> ## 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 company profile

> Update company profile setup details, optionally claim an imported creditor profile, and record the creditor attestation.



## OpenAPI

````yaml /api/creditor.openapi.yaml put /account-profile/company
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:
  /account-profile/company:
    put:
      tags:
        - Account Profile
      summary: Update company profile
      description: >-
        Update company profile setup details, optionally claim an imported
        creditor profile, and record the creditor attestation.
      operationId: creditorUpdateCompanyProfile
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCompanyProfileRequest'
            example:
              creditor_profile_id: 42
              company_name: ABC Collections
              dba_name: ABC Collections
              company_email: billing@abc-collections.example
              company_phone: '2125550100'
              business_category: collection_agency
              debt_type: consumer
              fed_tax_id: '123456789'
              is_verified_tin: true
              timezone: EST
              from_time: 9:00 AM
              to_time: 5:00 PM
              from_day: 1
              to_day: 5
              url: https://abc-collections.example
              address: 100 Main Street
              address2: Suite 200
              city: New York
              state: NY
              zip: '10001'
              attestation_accepted: true
      responses:
        '200':
          description: Company profile updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyProfileUpdateResponse'
        '401':
          $ref: '#/components/responses/Unauthenticated'
        '422':
          $ref: '#/components/responses/ValidationError'
      security:
        - bearerAuth: []
components:
  schemas:
    UpdateCompanyProfileRequest:
      type: object
      required:
        - company_name
        - company_phone
        - fed_tax_id
        - is_verified_tin
        - timezone
        - from_time
        - to_time
        - from_day
        - to_day
        - url
        - address
        - city
        - state
        - zip
        - attestation_accepted
      properties:
        creditor_profile_id:
          type: integer
          nullable: true
          description: Imported creditor profile ID to claim during setup.
        company_name:
          type: string
          minLength: 3
          maxLength: 50
        dba_name:
          type: string
          minLength: 3
          maxLength: 50
          nullable: true
        company_email:
          type: string
          format: email
          maxLength: 50
          nullable: true
        company_phone:
          type: string
          description: US phone number.
        business_category:
          type: string
          maxLength: 100
          nullable: true
        debt_type:
          type: string
          maxLength: 50
          nullable: true
        fed_tax_id:
          type: string
          pattern: ^\d{9}$
          description: >-
            Federal tax ID. Hyphens are accepted by the backend and normalized
            before validation.
        is_verified_tin:
          type: boolean
          description: >-
            Must be accepted after the TIN verification endpoint confirms the
            company details.
        timezone:
          type: string
          maxLength: 5
        from_time:
          type: string
          pattern: ^\d{1,2}:\d{2} (AM|PM)$
          example: 9:00 AM
        to_time:
          type: string
          pattern: ^\d{1,2}:\d{2} (AM|PM)$
          example: 5:00 PM
        from_day:
          type: integer
          minimum: 0
          maximum: 6
        to_day:
          type: integer
          minimum: 0
          maximum: 6
        url:
          type: string
          format: uri
        address:
          type: string
          minLength: 2
          maxLength: 100
        address2:
          type: string
          minLength: 2
          maxLength: 100
          nullable: true
        city:
          type: string
          minLength: 2
          maxLength: 50
        state:
          type: string
          minLength: 2
          maxLength: 2
        zip:
          type: string
          pattern: ^\d{5}(?:-\d{4})?$
        attestation_accepted:
          type: boolean
    CompanyProfileUpdateResponse:
      type: object
      required:
        - message
        - data
        - meta
      properties:
        message:
          type: string
          example: Company profile updated successfully!
        data:
          $ref: '#/components/schemas/CompanyProfile'
        meta:
          type: object
          required:
            - options
          properties:
            options:
              $ref: '#/components/schemas/CompanyProfileOptions'
    CompanyProfile:
      type: object
      additionalProperties: true
      properties:
        id:
          type: integer
        creditor_profile_id:
          type: integer
          nullable: true
        company_name:
          type: string
        dba_name:
          type: string
          nullable: true
        company_email:
          type: string
          format: email
          nullable: true
        company_phone:
          type: string
        business_category:
          type: string
          nullable: true
        business_category_label:
          type: string
          nullable: true
        debt_type:
          type: string
          nullable: true
        fed_tax_id:
          type: string
        is_verified_tin:
          type: boolean
        timezone:
          type: string
        from_time:
          type: string
          example: 9:00 AM
        to_time:
          type: string
          example: 5:00 PM
        from_day:
          type: integer
          minimum: 0
          maximum: 6
        to_day:
          type: integer
          minimum: 0
          maximum: 6
        url:
          type: string
          format: uri
        address:
          type: string
        address2:
          type: string
          nullable: true
        city:
          type: string
        state:
          type: string
          minLength: 2
          maxLength: 2
        zip:
          type: string
        is_completed:
          type: boolean
        creditor_profile:
          anyOf:
            - $ref: '#/components/schemas/CreditorProfile'
            - type: 'null'
        created_at:
          type: string
          format: date-time
          nullable: true
        updated_at:
          type: string
          format: date-time
          nullable: true
    CompanyProfileOptions:
      type: object
      additionalProperties: true
      properties:
        business_categories:
          type: array
          items:
            $ref: '#/components/schemas/Option'
        debt_types:
          type: array
          items:
            $ref: '#/components/schemas/Option'
        timezones:
          type: array
          items:
            $ref: '#/components/schemas/Option'
        days:
          type: array
          items:
            $ref: '#/components/schemas/Option'
    MessageResponse:
      type: object
      required:
        - message
      properties:
        message:
          type: string
    ValidationErrorResponse:
      type: object
      required:
        - message
        - errors
      properties:
        message:
          type: string
        errors:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
    CreditorProfile:
      type: object
      additionalProperties: true
      properties:
        id:
          type: integer
        code:
          type: string
          description: Encoded creditor profile identifier used by signup flows.
        company_name:
          type: string
        company_phone:
          type: string
          nullable: true
        company_email:
          type: string
          format: email
          nullable: true
        address:
          type: string
          nullable: true
        address2:
          type: string
          nullable: true
        city:
          type: string
          nullable: true
        state:
          type: string
          nullable: true
        zip:
          type: string
          nullable: true
        url:
          type: string
          nullable: true
        passthrough:
          nullable: true
    Option:
      type: object
      additionalProperties: true
      properties:
        value:
          oneOf:
            - type: string
            - type: integer
        label:
          type: string
  responses:
    Unauthenticated:
      description: Missing or invalid bearer token.
      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

````