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

> Retrieve detailed information for a specific customer



## 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 for Fin.com, a financial services platform that
    provides a range of banking and payment solutions for businesses and
    individuals. This API allows developers to integrate Fin.com's services into
    their applications, enabling functionalities such as customer management,
    transaction processing, and access to financial data.
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
  - name: Crypto Orchestration
    description: >-
      Accept crypto deposits from exchange and external wallets and settle them
      to a destination wallet
paths:
  /v2/customers/{customer_id}:
    get:
      tags:
        - Customers
      summary: Get Customer Details
      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.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: john.doe@example.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.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.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
                      - PENDING_REVIEW
                      - APPROVED
                      - REJECTED
                      - ON_HOLD
                    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

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.