---
title: "Get Customer Details V2"
method: GET
path: "/v2/customers/{customer_id}"
tags: ["Customers"]
---

# Get Customer Details V2

`GET /v2/customers/{customer_id}`

Retrieve detailed information for a specific customer

## Path parameters

- `customer_id` string, uuid, required

## Response `200`

Customer details retrieved successfully

- object
  - `data` union
    - IndividualCustomerDetailV2
      - `customer_id` string, uuid
      - `type` 'INDIVIDUAL'
      - `first_name` string
      - `last_name` string
      - `email` string, email
      - `phone` string
      - `country_of_residence` string
      - `verification_type` string
      - `customer_status` string
      - `tos_policies_url` string, uri
      - `created_at` string, date-time
      - `updated_at` string, date-time
      - `last_status_updated_at` string, date-time
      - `rejection_reason` object, nullable — Populated when customer_status is REJECTED or ACTION_REQUIRED. Contains applicant-level and document-level rejection details. Null when no rejection exists.
        - `applicant` object, nullable — Applicant-level rejection reason.
          - `moderation_comment` string
          - `reject_labels` string[]
        - `documents` object[] — Document-level rejection reasons.
          - `uri` string
          - `category` string
          - `moderation_comment` string
          - `reject_labels` string[]
      - `request_for_information` object[] — List of open requests for additional information. Populated when customer_status is ACTION_REQUIRED. Same structure as customer.rfi webhook payload.
        - `scope` 'CUSTOMER' | 'ASSOCIATED_PARTY'
        - `section` string
        - `categories` object[]
          - `document_type` string
          - `fields` object[]
            - `field_name` string
            - `data_type` 'URI' | 'DATE' | 'TEXT' | 'ENUM'
            - `status` 'MISSING' | 'EXPIRED' | 'INVALID'
            - `reason` string, nullable
            - `options` string[]
    - BusinessCustomerDetailV2
      - `customer_id` string, uuid
      - `type` 'BUSINESS'
      - `business_name` string
      - `email` string, email
      - `phone` string
      - `country_of_incorporation` string
      - `verification_type` string
      - `customer_status` 'INCOMPLETE' | 'PROCESSING' | 'REVIEWING' | 'APPROVED' | 'ASSOCIATED_PARTIES_REMAINING' | 'IN_COMPLIANCE' | 'ACTION_REQUIRED' | 'REJECTED' — The following statuses have been changed from V1. QUEUED (V1) → PROCESSING (V2). ON_HOLD (V1) → IN_COMPLIANCE (V2). REINITIATE (V1) → ACTION_REQUIRED (V2).
      - `tos_policies_url` string, uri
      - `associated_parties` object[]
        - `id` string, uuid
        - `type` string
        - `ownership_percent` number
        - `email` string, email
        - `verification` object
          - `status` 'INITIATED' | 'REVIEWING' | 'APPROVED' | 'REJECTED'
          - `reason` object
            - `for_customer` string, nullable
            - `for_developer` string, nullable
          - `updated_at` string, date-time
      - `created_at` string, date-time
      - `updated_at` string, date-time
      - `rejection_reason` object, nullable — 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.
        - `applicant` object, nullable — Applicant-level rejection reason.
          - `moderation_comment` string
          - `reject_labels` string[]
        - `documents` object[] — Document-level rejection reasons.
          - `uri` string
          - `category` string
          - `moderation_comment` string
          - `reject_labels` string[]
        - `associated_parties` object[] — Associated party-level rejection reasons.
      - `request_for_information` object[] — List of open requests for additional information. Populated when customer_status is ACTION_REQUIRED. Same structure as customer.rfi webhook payload.
        - `section` string
        - `categories` object[]
          - `document_type` string
          - `fields` object[]
            - `field_name` string
            - `data_type` 'URI' | 'DATE' | 'TEXT' | 'ENUM'
            - `status` 'MISSING' | 'EXPIRED' | 'INVALID'
            - `reason` string, nullable

## Other responses

- `401` — Authentication failed due to invalid credentials
- `404` — Resource not found
- `422` — Failed due to a formatting error.

---

[API](https://skmtc.net/fin/apis/fin-com-api.md) · [All operations](https://skmtc.net/fin/apis/fin-com-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/fin/fin-com-api/revisions/6e69503ee7b8/schema)
