v8

latestOpenAPI 3.0.0raw.githubusercontent.com2026-08-014667228.9 KB
Ramp

Submit KYC document

Submits a KYC document for a user. Returns the updated KYC state. For basic KYC, supply userFields.id_number. For advanced KYC, supply userFields.images with selfie (0), front (1), and back (5) photos.

post/ramp/kyc

Request body

provider'FONBNK' | 'ONRAMP_MONEY' | 'GUARDARIAN' required

The ramp provider to submit KYC to

userEmailstring required

The end-user's email address

countryCodestring required

ISO 3166-1 alpha-2 country code

documentIdstring required

_id of the chosen document from the kycDocuments array returned by GET /v1/ramp/kyc

userFieldsobject required

User-provided fields for the selected document. For basic KYC: { first_name, last_name, dob, id_number }. For advanced KYC: { first_name, last_name, dob, images: [{ image_type_id, image }] }

cryptoAmountnumber

Amount of crypto (USDC) the user intends to receive — used to compute canProceed in the response.

Example request

{
  "provider": "FONBNK",
  "userEmail": "user@example.com",
  "countryCode": "NG",
  "documentId": "67da909b739fc481aa525c45",
  "userFields": {
    "first_name": "John",
    "last_name": "Doe",
    "dob": "1990-01-01",
    "id_number": "12345678901"
  },
  "cryptoAmount": 25
}

Response

Updated KYC state after submission