---
title: "Submit KYC information"
method: POST
path: "/ramp/kyc"
tags: ["Ramp"]
---

# Submit KYC information

`POST /ramp/kyc`

Submits available KYC fields. The Chainrails KYC engine determines whether text validation, external verification, or both are required.

## Request body

- SubmitRampKycDto
  - `provider` 'FONBNK' | 'ONRAMP_MONEY' | 'GUARDARIAN' | 'YELLOW_CARD', required — The ramp provider to submit KYC to
  - `userEmail` string, required — The end-user's email address
  - `countryCode` string, required — ISO 3166-1 alpha-2 transaction/corridor country. Submit the user’s residence separately as fields.country.
  - `fiatCurrency` string, required — ISO 4217 fiat currency code
  - `fields` object — KYC fields available for submission. `country` is the user’s current country of residence. The KYC engine decides whether text validation, external verification, or both are required.
  - `callbackUrl` string — URL to redirect the user to after external KYC verification.
  - `cryptoAmount` number — Amount of crypto (USDC) the user intends to receive — used to compute `canProceed` in the response.

## Response `200`

Updated KYC state after submission

## Other responses

- `400` — Invalid parameters or submission rejected

## Changes

- **2026-08-12** `dcf19c1bab20` — 1 breaking, 2 warning, 3 info
  - added the new required request property `fiatCurrency`
  - removed the request property `documentId`
  - removed the request property `userFields`
  - added the new optional request property `callbackUrl`
  - …2 more
- **2026-07-22** `76a4e00b118d` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/horuslabsio/apis/chainrails-api/changes/ramp/kyc/post.md)

---

[API](https://skmtc.dev/horuslabsio/apis/chainrails-api.md) · [All operations](https://skmtc.dev/horuslabsio/apis/chainrails-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/horuslabsio/chainrails-api/revisions/dcf19c1bab20/schema)
