Submit KYC (Know Your Customer) data for an individual customer. The customer must already exist in your account. After submission, the status will be submitted and move to approved after review.
POST https://kyc.yativo.com/api/individual-kyc/submit
This endpoint is on the KYC platform (https://kyc.yativo.com), not the main API base URL. Requires Idempotency-Key header.
Identity fields
The customer UUID from POST /customer.
Customer’s middle name (optional).
Customer’s email address.
Phone number without country code.
Country calling code, e.g. "+1", "+44", "+55".
One of: "male", "female", "other".
Date of birth in YYYY-MM-DD format.
ISO 3166-1 alpha-2 country code (e.g. "US", "BR", "GB").
Tax identification number for the customer.
URL or base64-encoded selfie image of the customer.
Residential address
Show residential_address fields
Street address line 2 (optional).
ISO 3166-1 alpha-2 country code.
URL or base64-encoded proof of address document.
Minimum 1 government-issued ID document required. Show identifying_information item
"passport", "national_id", or "drivers_license".
ISO 3166-1 alpha-2 issuing country code.
Issue date in YYYY-MM-DD format.
Expiration date in YYYY-MM-DD format.
URL or base64-encoded front image.
URL or base64-encoded back image (required for national_id, drivers_license).
One of: "Employed", "self_employed", "unemployed", "retired", "student".
most_recent_occupation_code
Occupation code from GET /auth/occupation-codes.
expected_monthly_payments_usd
"LessThan5K", "5KTo50K", or "MoreThan50K".
Source of funds: "Salary", "Business", "Investment", "Savings", etc.
Purpose for the account, e.g. "ReceiveSalary".
Whether the customer acts as an intermediary for third parties.
Virtual account preferences
Request a USD virtual account.
Request a EUR virtual account.
Request a EUR/DE virtual account. If true, usd_virtual_account and eur_virtual_account must be false.
Optional fields
Additional supporting documents. Show uploaded_documents item
Document type identifier.
URL or base64-encoded file.
curl -X POST 'https://kyc.yativo.com/api/individual-kyc/submit' \
-H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: kyc-alex-smith-2026' \
-d '{
"customer_id": "c586066b-0f29-468f-b775-15483871a202",
"type": "individual",
"first_name": "Alex",
"last_name": "Smith",
"email": "alex.smith@example.com",
"phone": "5551234567",
"calling_code": "+1",
"gender": "male",
"nationality": "US",
"birth_date": "1990-01-01",
"taxId": "998877665",
"selfie_image": "https://example.com/docs/selfie.jpg",
"residential_address": {
"street_line_1": "123 Main Street",
"city": "Anytown",
"state": "CA",
"postal_code": "90210",
"country": "US",
"proof_of_address_file": "https://example.com/docs/proof.jpg"
},
"identifying_information": [
{
"type": "passport",
"issuing_country": "US",
"number": "P00012345",
"date_issued": "2020-01-01",
"expiration_date": "2030-01-01",
"image_front_file": "https://example.com/docs/front.jpg"
}
],
"employment_status": "Employed",
"most_recent_occupation_code": "132011",
"expected_monthly_payments_usd": "LessThan5K",
"source_of_funds": "Salary",
"account_purpose": "ReceiveSalary",
"acting_as_intermediary": false,
"eur_virtual_account": false,
"usd_virtual_account": true,
"eurde_virtual_account": false
}'
{
"success" : true ,
"message" : "KYC submission received successfully" ,
"errors" : {
"submission" : {
"id" : "sub_8f3b2a1c-4d5e-6f7a-8b9c-0d1e2f3a4b5c" ,
"type" : "individual" ,
"status" : "submitted" ,
"customer_id" : "c586066b-0f29-468f-b775-15483871a202" ,
"first_name" : "Alex" ,
"last_name" : "Smith" ,
"email" : "alex.smith@example.com" ,
"endorsements" : [
{
"service" : "base" ,
"status" : "pending" ,
"link" : "https://kyc.yativo.com/endorsement/base/c586066b-0f29-468f-b775-15483871a202"
}
],
"created_at" : "2026-04-02T10:00:00.000000Z"
}
}
}