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

# Get Customer Details V2

> Retrieve detailed information for a specific customer

<Note>
  Use this endpoint to fetch business customer details. For individual customer details, use [Get Customer Details](https://developer.fin.com/api-reference/customers/get-customer-details).
</Note>


## OpenAPI

````yaml GET /v2/customers/{customer_id}
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}:
    get:
      tags:
        - Customers
      summary: Get Customer Details V2
      description: Retrieve detailed information for a specific customer
      parameters:
        - name: customer_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          example: ed54db74-7dbe-47d2-8ea0-c2bf2a9dda06
      responses:
        '200':
          description: Customer details retrieved successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    oneOf:
                      - $ref: '#/components/schemas/IndividualCustomerDetailV2'
                      - $ref: '#/components/schemas/BusinessCustomerDetailV2'
              examples:
                Business:
                  summary: Business customer
                  value:
                    data:
                      customer_id: 671536f8-ddc5-4b1e-bd6f-27d0ed07a27c
                      type: BUSINESS
                      business_name: Fin.com
                      email: contact@fin.com
                      phone: '+14155552671'
                      country_of_incorporation: USA
                      verification_type: STANDARD
                      customer_status: ACTION_REQUIRED
                      tos_policies_url: >-
                        https://orchestration.fin.com/orchestration-customer-tos?customer_id=671536f8-ddc5-4b1e-bd6f-27d0ed07a27c&tos_policies_value=4e0e505a-36f0-4c9e-8eb1-3916410f227c
                      associated_parties:
                        - id: 2e719a54-cdef-43f9-a5ac-f6ef679ea1dc
                          type: INDIVIDUAL
                          ownership_percent: 60
                          email: jane.smith@acmecorp.com
                          verification:
                            status: REJECTED
                            reason:
                              for_customer: null
                              for_developer: null
                            updated_at: '2026-05-04T12:36:42Z'
                        - id: 4ef045ea-c7a7-46dc-84a0-9a3d83186971
                          type: INDIVIDUAL
                          ownership_percent: 40
                          email: robert.chen@acmecorp.com
                          verification:
                            status: APPROVED
                            reason:
                              for_customer: null
                              for_developer: null
                            updated_at: '2026-05-04T12:29:47Z'
                      created_at: '2026-05-04T12:11:27Z'
                      updated_at: '2026-05-04T12:34:03Z'
                      last_status_updated_at: '2026-05-04T12:32:34.47927Z'
                      rejection_reason:
                        applicant:
                          moderation_comment: ''
                          reject_labels:
                            - LOW_QUALITY
                            - UNFILLED_ID
                            - DOCUMENT_TEMPLATE
                            - NOT_DOCUMENT
                        documents:
                          - uri: /ZuyUaH3a_testdoc1.png
                            category: SUPPORTING_DOCUMENTS
                            moderation_comment: |-
                              This document is not accepted.
                               - The document should be of good quality.
                            reject_labels:
                              - LOW_QUALITY
                          - uri: /ZuyUaH3a_testdoc1.png
                            category: OWNERSHIP_DOCUMENTS
                            moderation_comment: |-
                              This document is not accepted.
                               - The document is not authentic
                            reject_labels:
                              - UNFILLED_ID
                          - uri: /ZuyUaH3a_testdoc1.png
                            category: OWNERSHIP_DOCUMENTS
                            moderation_comment: |-
                              This document is not accepted.
                               - The uploaded file appears to be a document template.
                            reject_labels:
                              - DOCUMENT_TEMPLATE
                          - uri: /ZuyUaH3a_testdoc1.png
                            category: SUPPORTING_DOCUMENTS
                            moderation_comment: |-
                              This document is not accepted.
                               - The file is not a document
                            reject_labels:
                              - NOT_DOCUMENT
                        associated_parties:
                          - id: 2e719a54-cdef-43f9-a5ac-f6ef679ea1dc
                            applicant:
                              moderation_comment: ''
                              reject_labels:
                                - EXPIRATION_DATE
                            documents:
                              - uri: /OUkUie0z_approved_passport_sumsub.jpg
                                category: PROOF_OF_IDENTITY
                                moderation_comment: >-
                                  Your identity document must be valid for at
                                  least 2 month(s) from the date of submission.
                                reject_labels:
                                  - EXPIRATION_DATE
                      request_for_information:
                        - scope: ASSOCIATED_PARTY
                          associated_party_id: 2e719a54-cdef-43f9-a5ac-f6ef679ea1dc
                          section: identifying_documents
                          categories:
                            - document_type: PASSPORT
                              fields:
                                - field_name: type
                                  data_type: ENUM
                                  status: INVALID
                                  options: []
                                - field_name: expiry_date
                                  data_type: DATE
                                  status: INVALID
                                  options: []
                                - field_name: issue_date
                                  data_type: DATE
                                  status: INVALID
                                  options: []
                                - field_name: files
                                  data_type: URI
                                  status: INVALID
                                  reason: >-
                                    User identity document is not valid for at
                                    least 2 month(s) from the date of
                                    submission.
                                  options: []
                        - scope: CUSTOMER
                          section: formation_documents
                          categories:
                            - document_type: EVIDENCE_OF_DIRECTORS_AND_CONTROLLERS
                              fields:
                                - field_name: type
                                  data_type: ENUM
                                  status: INVALID
                                  options: []
                                - field_name: files
                                  data_type: URI
                                  status: INVALID
                                  reason: Unacceptable document.
                                  options: []
                        - scope: CUSTOMER
                          section: supporting_documents
                          categories:
                            - document_type: PROOF_OF_SOURCE_OF_FUNDS
                              fields:
                                - field_name: type
                                  data_type: ENUM
                                  status: INVALID
                                  options: []
                                - field_name: files
                                  data_type: URI
                                  status: INVALID
                                  reason: Unacceptable document.
                                  options: []
                        - scope: CUSTOMER
                          section: ownership_documents
                          categories:
                            - document_type: PROOF_OF_SIGNATORY_AUTHORITY
                              fields:
                                - field_name: type
                                  data_type: ENUM
                                  status: INVALID
                                  options: []
                                - field_name: files
                                  data_type: URI
                                  status: INVALID
                                  reason: Document appears to be corrupted
                                  options: []
                Individual:
                  summary: Individual customer
                  value:
                    data:
                      customer_id: 1f45e58d-0420-4ad8-a790-413169bfab28
                      type: INDIVIDUAL
                      first_name: John
                      last_name: Doe
                      email: atkeyafahmida290@gmail.com
                      phone: '+8801748386269'
                      country_of_residence: BGD
                      verification_type: STANDARD
                      customer_status: ACTION_REQUIRED
                      tos_policies_url: >-
                        https://orchestration.fin.com/orchestration-customer-tos?customer_id=1f45e58d-0420-4ad8-a790-413169bfab28&tos_policies_value=ffefb0cd-4f0a-4585-ad1c-f4ea76ba41b8
                      created_at: '2026-05-04T12:40:03Z'
                      updated_at: '2026-05-04T12:47:50Z'
                      last_status_updated_at: '2026-05-04T12:44:42.707598Z'
                      rejection_reason:
                        applicant:
                          moderation_comment: ''
                          reject_labels:
                            - EXPIRATION_DATE
                            - PROBLEMATIC_APPLICANT_DATA
                        documents:
                          - uri: /SuElNZpi_approved_passport_sumsub.jpg
                            category: PROOF_OF_IDENTITY
                            moderation_comment: >-
                              Your identity document has expired and can't be
                              used for verification. Please upload a different
                              identity document.
                            reject_labels:
                              - EXPIRATION_DATE
                      request_for_information:
                        - scope: CUSTOMER
                          section: proof_of_identity
                          categories:
                            - document_type: PASSPORT
                              fields:
                                - field_name: type
                                  data_type: ENUM
                                  status: INVALID
                                  options: []
                                - field_name: expiry_date
                                  data_type: DATE
                                  status: INVALID
                                  options: []
                                - field_name: issue_date
                                  data_type: DATE
                                  status: INVALID
                                  options: []
                                - field_name: files
                                  data_type: URI
                                  status: INVALID
                                  reason: >-
                                    Expired Identity document. A new document
                                    has been requested.
                                  options: []
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '422':
          $ref: '#/components/responses/ValidationError'
      security:
        - bearerAuth: []
components:
  schemas:
    IndividualCustomerDetailV2:
      title: Individual
      type: object
      properties:
        customer_id:
          type: string
          format: uuid
          example: 56c41b8e-e650-4f55-94f6-26a888a9b64d
        type:
          type: string
          enum:
            - INDIVIDUAL
        first_name:
          type: string
          example: John
        last_name:
          type: string
          example: Doe
        email:
          type: string
          format: email
          example: john.doe@example.com
        phone:
          type: string
          example: '+14155551234'
        country_of_residence:
          type: string
          example: USA
        verification_type:
          type: string
          example: STANDARD
        customer_status:
          type: string
          example: ACTION_REQUIRED
        tos_policies_url:
          type: string
          format: uri
          example: >-
            https://orchestration.fin.com/orchestration-customer-tos?customer_id=1f45e58d-0420-4ad8-a790-413169bfab28&tos_policies_value=ffefb0cd-4f0a-4585-ad1c-f4ea76ba41b8
        created_at:
          type: string
          format: date-time
          example: '2026-05-04T12:40:03Z'
        updated_at:
          type: string
          format: date-time
          example: '2026-05-04T12:47:50Z'
        last_status_updated_at:
          type: string
          format: date-time
          example: '2026-05-04T12:44:42.707598Z'
        rejection_reason:
          type: object
          nullable: true
          description: >-
            Populated when customer_status is REJECTED or ACTION_REQUIRED.
            Contains applicant-level and document-level rejection details. Null
            when no rejection exists.
          properties:
            applicant:
              type: object
              nullable: true
              description: Applicant-level rejection reason.
              properties:
                moderation_comment:
                  type: string
                  example: ''
                reject_labels:
                  type: array
                  items:
                    type: string
                  example:
                    - EXPIRATION_DATE
                    - PROBLEMATIC_APPLICANT_DATA
            documents:
              type: array
              description: Document-level rejection reasons.
              items:
                type: object
                properties:
                  uri:
                    type: string
                    example: /SuElNZpi_approved_passport_sumsub.jpg
                  category:
                    type: string
                    example: PROOF_OF_IDENTITY
                  moderation_comment:
                    type: string
                    example: >-
                      Your identity document has expired and can't be used for
                      verification. Please upload a different identity document.
                  reject_labels:
                    type: array
                    items:
                      type: string
                    example:
                      - EXPIRATION_DATE
          example: null
        request_for_information:
          type: array
          description: >-
            List of open requests for additional information. Populated when
            customer_status is ACTION_REQUIRED. Same structure as customer.rfi
            webhook payload.
          items:
            type: object
            properties:
              scope:
                type: string
                enum:
                  - CUSTOMER
                  - ASSOCIATED_PARTY
                example: CUSTOMER
              section:
                type: string
                example: proof_of_identity
              categories:
                type: array
                items:
                  type: object
                  properties:
                    document_type:
                      type: string
                      example: PASSPORT
                    fields:
                      type: array
                      items:
                        type: object
                        properties:
                          field_name:
                            type: string
                            example: files
                          data_type:
                            type: string
                            enum:
                              - URI
                              - DATE
                              - TEXT
                              - ENUM
                            example: URI
                          status:
                            type: string
                            enum:
                              - MISSING
                              - EXPIRED
                              - INVALID
                            example: INVALID
                          reason:
                            type: string
                            nullable: true
                            example: >-
                              Expired Identity document. A new document has been
                              requested.
                          options:
                            type: array
                            items:
                              type: string
                            example: []
          example: []
    BusinessCustomerDetailV2:
      title: Business
      type: object
      properties:
        customer_id:
          type: string
          format: uuid
          example: ed54db74-7dbe-47d2-8ea0-c2bf2a9dda06
        type:
          type: string
          enum:
            - BUSINESS
        business_name:
          type: string
          example: Fin.com
        email:
          type: string
          format: email
          example: m@tech.com
        phone:
          type: string
          example: '+8801529876543'
        country_of_incorporation:
          type: string
          example: BGD
        verification_type:
          type: string
          example: STANDARD
        customer_status:
          type: string
          description: >-
            The following statuses have been changed from V1.

            QUEUED (V1) → PROCESSING (V2). ON_HOLD (V1) → IN_COMPLIANCE (V2).
            REINITIATE (V1) → ACTION_REQUIRED (V2).
          enum:
            - INCOMPLETE
            - PROCESSING
            - REVIEWING
            - APPROVED
            - ASSOCIATED_PARTIES_REMAINING
            - IN_COMPLIANCE
            - ACTION_REQUIRED
            - REJECTED
          example: IN_COMPLIANCE
        tos_policies_url:
          type: string
          format: uri
        associated_parties:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                format: uuid
                example: f6b13e01-044a-4f74-a70b-d5f66b6449af
              type:
                type: string
                example: INDIVIDUAL
              ownership_percent:
                type: number
                example: 60
              email:
                type: string
                format: email
                example: fatima.rahman22@acmecorp.com.bd
              verification:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                      - INITIATED
                      - REVIEWING
                      - APPROVED
                      - REJECTED
                    example: APPROVED
                  reason:
                    type: object
                    properties:
                      for_customer:
                        type: string
                        nullable: true
                      for_developer:
                        type: string
                        nullable: true
                  updated_at:
                    type: string
                    format: date-time
                    example: '2026-04-13T11:40:49Z'
        created_at:
          type: string
          format: date-time
          example: '2026-04-01T12:03:03Z'
        updated_at:
          type: string
          format: date-time
          example: '2026-04-01T12:03:03Z'
        rejection_reason:
          type: object
          nullable: true
          description: >-
            Populated when customer_status is REJECTED or ACTION_REQUIRED.
            Contains applicant-level, document-level, and associated party-level
            rejection details. Null when no rejection exists.
          properties:
            applicant:
              type: object
              nullable: true
              description: Applicant-level rejection reason.
              properties:
                moderation_comment:
                  type: string
                  example: >-
                    If you're a sole entrepreneur, upload corporate documents
                    confirming your company's legal status.
                reject_labels:
                  type: array
                  items:
                    type: string
                  example:
                    - DOCUMENT_MISSING
            documents:
              type: array
              description: Document-level rejection reasons.
              items:
                type: object
                properties:
                  uri:
                    type: string
                    example: /7zlLPvlx_testdoc6.jpg
                  category:
                    type: string
                    example: SUPPORTING_DOCUMENTS
                  moderation_comment:
                    type: string
                    example: >-
                      This document is not accepted. The document should be of
                      good quality.
                  reject_labels:
                    type: array
                    items:
                      type: string
                    example:
                      - LOW_QUALITY
            associated_parties:
              type: array
              description: Associated party-level rejection reasons.
              items:
                type: object
          example: null
        request_for_information:
          type: array
          description: >-
            List of open requests for additional information. Populated when
            customer_status is ACTION_REQUIRED. Same structure as customer.rfi
            webhook payload.
          items:
            type: object
            properties:
              section:
                type: string
                example: ownership_documents
              categories:
                type: array
                items:
                  type: object
                  properties:
                    document_type:
                      type: string
                      example: SHAREHOLDER_REGISTRY
                    fields:
                      type: array
                      items:
                        type: object
                        properties:
                          field_name:
                            type: string
                            example: files
                          data_type:
                            type: string
                            enum:
                              - URI
                              - DATE
                              - TEXT
                              - ENUM
                            example: URI
                          status:
                            type: string
                            enum:
                              - MISSING
                              - EXPIRED
                              - INVALID
                            example: INVALID
                          reason:
                            type: string
                            nullable: true
                            example: Unacceptable document.
          example: []
  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

````