post https://penny-api-restricted-dev.alfredpay.io/api/v1/third-party-service/penny/customers//kyc
This endpoint accepts a JSON payload with individual customer KYC data.
Request body shape (field types and rules):
- kycSubmission.firstName: (string) Optional but recommended.
- kycSubmission.lastName: (string) Optional but recommended.
- kycSubmission.dateOfBirth: (string | date) ISO date (e.g. 1980-05-01). Optional.
- kycSubmission.country: (string) Country name or code. Optional.
- kycSubmission.countryCode: (string) Optional country code.
- kycSubmission.city/state/address/zipCode: (string) Address fields. Optional.
- kycSubmission.nationalities: (array) If provided must have at least one non-empty entry.
- kycSubmission.email: (string) Optional email.
- kycSubmission.cpf | dni | pep: (string|boolean) Optional identity flags/ids.
Validation: DTOs use class-validator; fields will be validated and extra properties removed.
Example request body: { "kycSubmission": { "firstName": "María", "lastName": "Gonzalez", "dateOfBirth": "1990-03-15", "country": "MX", "city": "Guadalajara", "nationalities": ["MX"], "email": "[email protected]" } }
This endpoint accepts a JSON payload containing individual customer KYC (Know Your Customer) data. All fields are validated using class-validator. Any extra properties not defined in the DTO will be removed.
| Field | Type | Description | Required |
|---|---|---|---|
kycSubmission.firstName | string | Customer’s first name. Recommended for identification. | Optional |
kycSubmission.lastName | string | Customer’s last name. Recommended for identification. | Optional |
kycSubmission.dateOfBirth | string (ISO date) | Date of birth in ISO format (e.g., 1980-05-01). | Optional |
kycSubmission.country | string | Country name or code (e.g., MX, CO, AR). | Optional |
kycSubmission.countryCode | string | Optional country code. | Optional |
kycSubmission.city | string | City of residence. | Optional |
kycSubmission.state | string | State or region. | Optional |
kycSubmission.address | string | Street address. | Optional |
kycSubmission.zipCode | string | ZIP or postal code. | Optional |
kycSubmission.nationalities | array<string> | Must include at least one valid nationality if provided. | Optional |
kycSubmission.email | string | Customer’s email address. | Optional |
kycSubmission.cpf / kycSubmission.dni / kycSubmission.pep | string | boolean | Optional identity flags or identifiers. | Optional |
🧩 Validation Rules
- DTOs are validated with class-validator.
- Extra fields will be stripped from the request body.
- ISO date format is required for dateOfBirth.
- Arrays (like nationalities) must not be empty if included.
curl --location --request POST 'https://api.example.com/v1/customers/kyc' \
--header 'Content-Type: application/json' \
--data '{
"kycSubmission": {
"firstName": "María",
"lastName": "Gonzalez",
"dateOfBirth": "1990-03-15",
"country": "MX",
"city": "Guadalajara",
"nationalities": ["MX"],
"email": "[email protected]"
}
}'
