Skip to main content

Submit Customer KYC

POST 

/api/v2/client/:clientid/customer/kyc

Onboards an individual end customer by submitting their KYC details.

This endpoint serves two onboarding flows with different mandatory fields. Roma assigns your client to one flow during onboarding; it is not selectable per request. Confirm which flow applies to you with your Roma representative, then send the matching request variant — each one documents its own required fields, allowed values and per-flow notes.

FlowRequest variantIdentity documents
Standard flowSubmitKycStandardRequestSent inline, in documents[] and selfie
US flowSubmitKycUsRequestSent separately, via Submit KYC Documents

Country codes​

ISO 3166-1 alpha-2 or alpha-3, upper-cased — a lower-case code is not corrected. The US flow accepts 243 alpha-2 codes; AN, AQ, AX, BQ, BV, HM, TF and UM are not among them.

Response​

A 200 means the customer and KYC record were created and submitted for verification — not that the customer is verified. Poll Get Customer KYC Status or subscribe to the KYC webhook; the customer can move money only at active.

status is initiated for a new customer. On the Standard flow, an email Roma already knows returns status as an empty string alongside a kyc_link, so key off id and customer_id rather than status. On the US flow a known email is rejected with 400 USER_ALREADY_EXISTS.

Request​

Responses​

The customer and KYC record were created and submitted for verification.