# Retrieve a customer Returns the complete customer object, including registration data, current status, and the kyc array with the progress of each verification requirement. Use this endpoint to check the customer state at any time or after receiving a customer.kyc_updated webhook. Endpoint: GET /customers/{customer_id} Version: 2026-03-01 Security: bearerAuth ## Path parameters: - `customer_id` (string, required) Example: "cust_550e8400e29b41d4a716446655440000" ## Response 200 fields (application/json): - `id` (string, required) - `status` (string, required) Enum: "pending_kyc", "under_review", "active" - `cpf` (string, required) Example: "123.456.789-00" - `cnpj` (string,null, required) Example: "12.345.678/0001-90" - `name` (string, required) Example: "Joao Silva" - `email` (string, required) Example: "joao@example.com" - `phone` (string, required) Example: "+5511999999999" - `trading_name` (string,null, required) Example: "Loja do Joao" - `external_id` (string,null, required) Example: "partner-ref-123" - `kyc` (array, required) - `kyc.kind` (string, required) document for document submissions, data for data field corrections Enum: "document", "data" - `kyc.type` (string, required) Document type key (e.g., ccmei, selfie, identity_card_front) Example: "ccmei" - `kyc.description` (string, required) Human-readable label Example: "Certificado MEI" - `kyc.message` (string,null, required) Present when rejected — from the review feedback - `kyc.uploaded_at` (string,null, required) - `created_at` (string, required) - `updated_at` (string, required) ## Response 401 fields (application/problem+json): - `type` (string, required) URI identifying the error type - `title` (string, required) Short, human-readable summary of the problem type - `status` (integer, required) HTTP status code - `detail` (string, required) Human-readable explanation specific to this occurrence - `instance` (string) URI identifying this specific occurrence - `code` (string) Machine-readable subtype code - `param` (string) The request parameter that caused the error - `errors` (array) Field-level validation errors - `errors.param` (string, required) - `errors.detail` (string, required) - `errors.code` (string) ## Response 404 fields (application/problem+json): - `type` (string, required) URI identifying the error type - `title` (string, required) Short, human-readable summary of the problem type - `status` (integer, required) HTTP status code - `detail` (string, required) Human-readable explanation specific to this occurrence - `instance` (string) URI identifying this specific occurrence - `code` (string) Machine-readable subtype code - `param` (string) The request parameter that caused the error - `errors` (array) Field-level validation errors - `errors.param` (string, required) - `errors.detail` (string, required) - `errors.code` (string) ## Response 429 fields (application/problem+json): - `type` (string, required) URI identifying the error type - `title` (string, required) Short, human-readable summary of the problem type - `status` (integer, required) HTTP status code - `detail` (string, required) Human-readable explanation specific to this occurrence - `instance` (string) URI identifying this specific occurrence - `code` (string) Machine-readable subtype code - `param` (string) The request parameter that caused the error - `errors` (array) Field-level validation errors - `errors.param` (string, required) - `errors.detail` (string, required) - `errors.code` (string) ## Response 500 fields (application/problem+json): - `type` (string, required) URI identifying the error type - `title` (string, required) Short, human-readable summary of the problem type - `status` (integer, required) HTTP status code - `detail` (string, required) Human-readable explanation specific to this occurrence - `instance` (string) URI identifying this specific occurrence - `code` (string) Machine-readable subtype code - `param` (string) The request parameter that caused the error - `errors` (array) Field-level validation errors - `errors.param` (string, required) - `errors.detail` (string, required) - `errors.code` (string)