---
title: "Submit individual information"
method: POST
path: "/v1/customers/{customerId}/kyc"
tags: ["Onboarding"]
---

# Submit individual information

`POST /v1/customers/{customerId}/kyc`

## Request

- Base URL: `https://api.sandbox.alfredpay.io`
- URL: `https://api.sandbox.alfredpay.io/v1/customers/{customerId}/kyc`
- Auth: one of:
  - HTTP bearer
  - API key in header `api-key` and API key in header `api-secret`

The individual equivalent of `/kyb`. Same one-draft rule: re-post to replace it, and it freezes once the verification is submitted.

## Headers

- `Idempotency-Key` string, uuid, required

## Request body

- KycSubmissionRequest
  - `kycSubmission` object, required
    - `firstName` string, required
    - `lastName` string, required
    - `dateOfBirth` string, date, required
    - `country` 'MEX' | 'ARG' | 'BRA' | 'COL' | 'CHL' | 'PER' | 'DOM' | 'USA' | 'CHN' | 'HKG' | 'BOL' | 'PRY', required: ISO 3166-1 alpha-3, the only form Alfred stores, filters on, reports or emits. Compatibility rule for integrations that can only send alpha-2: any inbound `country` value in alpha-2 (path, query or body) is normalized to alpha-3 at the boundary before validation, storage or routing. Unrecognized in either form → `422 validation_error`.
    - `city` string
    - `state` string
    - `address` string
    - `zipCode` string
    - `nationalities` string[]
    - `occupation` string
    - `email` string, email, required
    - `pep` boolean
    - `cpf` string
    - `dni` string
    - `cuit` string
    - `typeDocument` 'National ID'
    - `typeDocumentCol` 'CC' | 'CE' | 'PA' | 'TI' | 'PEP'

## Response `201`

Draft created or replaced

- Submission
  - `submissionId` string
  - `customerId` string
  - `status` 'DRAFT' | 'FROZEN'
  - `relatedPersons` object[]
    - `relatedPersonId` string
    - `firstName` string
    - `lastName` string
  - `createdAt` string, date-time

## Other responses

- `400`: Malformed request, so a missing required field, a wrong type or a bad enum.
- `409`: `idempotency_conflict`, or the resource is in a state that forbids this call.
- `422`: Semantically invalid. The request is well-formed but violates a business rule. `param` names the field.

## Changes

- **2026-11-03** `20fef4fd2ab3`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/alfredpay/apis/alfred-penny-api-client-documentation/changes/v1/customers/:customerId/kyc/post.md)

---

[API](https://skmtc.dev/alfredpay/apis/alfred-penny-api-client-documentation.md) - [All operations](https://skmtc.dev/alfredpay/apis/alfred-penny-api-client-documentation/llms.txt) - [OpenAPI document](https://skmtc.dev/alfredpay/apis/alfred-penny-api-client-documentation/revisions/20fef4fd2ab3?raw)
