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

# Attach Documents to Business Customer V2

> Attach formation, ownership, and supporting documents to an existing business customer. Documents are categorised into three arrays — formation_documents, ownership_documents, and supporting_documents — replacing the v1 ownership_structure / company_details / legal_presence structure.

<Note>
  * Upload files first using the [Upload document](https://developer.fin.com/api-reference/customers/upload-document) endpoint to obtain URIs, then reference them here.
  * Parse `tos_policies_value` from the `tos_policies_url` returned by `POST /v2/customers/business` and include it in this request.
</Note>

## Document Type Reference

See [Entity-wise document requirement](https://developer.fin.com/guides/compliance-and-regulatory/entity-wise-document-requirement) for all valid `type` values per
category and entity type.


## OpenAPI

````yaml POST /v2/customers/{customer_id}/business/attach
openapi: 3.1.0
info:
  title: Fin.com API
  version: 1.0.0
  description: A simple API specification
servers:
  - url: https://sandbox.api.fin.com
    description: Sandbox server
  - url: https://api.fin.com
    description: Production server
security: []
tags:
  - name: Authentication
    description: A modified OAuth 2.0 Client Credential Flow
  - name: Customers
    description: Customer management and document upload operations
  - name: Balances
    description: Retrieve wallet balance information
  - name: Catalogue
    description: |
      A set of endpoints to retrieve contextual data to assemble requests
      to fin.com's API
  - name: Beneficiaries
    description: Manage beneficiary accounts for payments and transfers
  - name: Transactions
    description: Transaction history and management for beneficiaries
  - name: Virtual Accounts
    description: Create and manage virtual accounts for USD to USDC conversions
  - name: Fees & FX Rates
    description: Retrieve fees and foreign exchange rates
paths:
  /v2/customers/{customer_id}/business/attach:
    post:
      tags:
        - Customers
      summary: Attach Documents to Business Customer V2
      description: >-
        Attach formation, ownership, and supporting documents to an existing
        business customer. Documents are categorised into three arrays —
        formation_documents, ownership_documents, and supporting_documents —
        replacing the v1 ownership_structure / company_details / legal_presence
        structure.
      parameters:
        - name: customer_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: Unique identifier for the business customer
          example: ed54db74-7dbe-47d2-8ea0-c2bf2a9dda06
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AttachDocumentsToBusinessCustomerV2Input'
            example:
              formation_documents:
                - type: EVIDENCE_OF_DIRECTORS_AND_CONTROLLERS
                  description: Certificate of Incorporation
                  files:
                    - uri: /AbAcQ4hn_0652746727637.pdf
                - type: REGISTRATION_DOCUMENT
                  description: Business registration doc
                  files:
                    - uri: /AbAcQ4hn_0652746727638.pdf
              ownership_documents:
                - type: PROOF_OF_SIGNATORY_AUTHORITY
                  description: Shareholder Registry
                  files:
                    - uri: /XyZ123mn_0652746727639.pdf
              supporting_documents:
                - type: PROOF_OF_SOURCE_OF_FUNDS
                  files:
                    - uri: /PoAdef45_0652746727640.pdf
                - type: PROOF_OF_ADDRESS
                  files:
                    - uri: /PoAdef45_0652746727641.pdf
              tos_policies_value: 6955e70b-f9f3-4076-b1ce-5c897085dd24
      responses:
        '200':
          description: Documents attached successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    description: Generic response object
        '400':
          description: Validation failed
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    example: 400
                  message:
                    type: string
                    example: Validation failed
                  data:
                    type: object
                    additionalProperties:
                      type: string
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '422':
          $ref: '#/components/responses/ValidationError'
      security:
        - bearerAuth: []
components:
  schemas:
    AttachDocumentsToBusinessCustomerV2Input:
      type: object
      required:
        - tos_policies_value
      properties:
        formation_documents:
          type: array
          description: >-
            Documents proving the legal existence of the business (e.g.,
            Certificate of Incorporation, Articles of Incorporation, Trust
            Agreement, Tax registration certificate).
          items:
            $ref: '#/components/schemas/V2FormationDocumentItem'
        ownership_documents:
          type: array
          description: >-
            Documents proving who controls and owns the business (e.g.,
            Shareholder Register, Org Chart, Power of Attorney, Directors
            Registry).
          items:
            $ref: '#/components/schemas/V2OwnershipDocumentItem'
        supporting_documents:
          type: array
          description: >-
            Additional compliance and operational documents (e.g., Proof of
            Address, Proof of Source of Funds, AML Comfort Letter, Marketing
            Materials).
          items:
            $ref: '#/components/schemas/V2SupportingDocumentItem'
        tos_policies_value:
          type: string
          description: >-
            Parsed from the tos_policies_value query parameter in the
            tos_policies_url returned by POST /v2/customers/business. Signifies
            the customer has accepted the Terms of Service.
          example: f11e77c6-8dc0-4d4b-a3f2-ed84c8ccfc69
    V2FormationDocumentItem:
      type: object
      required:
        - files
      properties:
        type:
          type: string
          enum:
            - REGISTRATION_DOCUMENT
            - CONSTITUTIONAL_DOCUMENT
            - FORMATION_DOCUMENT
            - PROOF_OF_TAX_IDENTIFICATION
            - EVIDENCE_OF_DIRECTORS_AND_CONTROLLERS
          description: Formation document type.
          example: REGISTRATION_DOCUMENT
        description:
          type: string
          description: Optional human-readable description of this specific document.
          example: Certificate of Incorporation
        files:
          type: array
          description: >-
            One or more file URIs obtained from [Upload
            Document](https://developer.fin.com/api-reference/customers/upload-document)
            endpoint.
          minItems: 1
          items:
            type: object
            required:
              - uri
            properties:
              uri:
                type: string
                description: File URI returned by the upload endpoint.
                example: /AbAcQ4hn_0652746727639.pdf
    V2OwnershipDocumentItem:
      type: object
      required:
        - files
      properties:
        type:
          type: string
          enum:
            - OWNERSHIP_INFORMATION
            - OWNERSHIP_CHART
            - PROOF_OF_SIGNATORY_AUTHORITY
          description: Ownership document type.
          example: OWNERSHIP_INFORMATION
        description:
          type: string
          description: Optional human-readable description of this specific document.
          example: Ownership information document
        files:
          type: array
          description: >-
            One or more file URIs obtained from [Upload
            Document](https://developer.fin.com/api-reference/customers/upload-document)
            endpoint.
          minItems: 1
          items:
            type: object
            required:
              - uri
            properties:
              uri:
                type: string
                description: File URI returned by the upload endpoint.
                example: /AbAcQ4hn_0652746727639.pdf
    V2SupportingDocumentItem:
      type: object
      required:
        - files
      properties:
        type:
          type: string
          enum:
            - SHAREHOLDER_REGISTER
            - PROOF_OF_NATURE_OF_BUSINESS
            - PROOF_OF_ENTITY_NAME_CHANGE
            - CERT_OF_INCUMBENCY
            - PROOF_OF_SOURCE_OF_FUNDS
            - PROOF_OF_SOURCE_OF_WEALTH
            - AML_COMFORT_LETTER
            - MARKETING_MATERIALS
            - TAX_EXEMPT_ENTITY_CONFIRMATION
            - E_SIGNATURE_CERTIFICATE
            - FLOW_OF_FUNDS
            - PROOF_OF_NATURE_OF_BUSINESS_LICENSE
            - PROOF_OF_NATURE_OF_BUSINESS_AML_POLICY
            - EVIDENCE_OF_GOOD_STANDING
            - PROOF_OF_ACCOUNT_PURPOSE
            - PROOF_OF_ADDRESS
            - OTHER
          description: Supporting document type.
          example: PROOF_OF_SOURCE_OF_FUNDS
        description:
          type: string
          description: Optional human-readable description of this specific document.
          example: Bank statements for the past 6 months
        files:
          type: array
          description: >-
            One or more file URIs obtained from [Upload
            Document](https://developer.fin.com/api-reference/customers/upload-document)
            endpoint.
          minItems: 1
          items:
            type: object
            required:
              - uri
            properties:
              uri:
                type: string
                description: File URI returned by the upload endpoint.
                example: /AbAcQ4hn_0652746727639.pdf
  responses:
    AuthenticationError:
      description: Authentication failed due to invalid credentials
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                example: Authentication failed
    NotFoundError:
      description: Resource not found
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                example: Resource not found
    ValidationError:
      description: Failed due to a formatting error.
      content:
        application/json:
          schema:
            type: object
            required:
              - message
            properties:
              message:
                type: string
              errors:
                type: array
                items:
                  type: object
                  additionalProperties:
                    type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Bearer token authentication. Obtain token from [Issue a
        Token](https://developer.fin.com/api-reference/authentication/issue-a-token)
        endpoint

````