---
title: "Submit KYC fields and start any required verification"
method: POST
path: "/kyc/submit"
tags: ["Kyc"]
---

# Submit KYC fields and start any required verification

`POST /kyc/submit`

## Request body

- SubmitKycDto
  - `email` string, required
  - `fields` object — Optional KYC fields. `country` is the user’s current country of residence. Supported fields: email, first_name, last_name, phone, date_of_birth, country, BVN, NIN, and address.
  - `countryCode` string, required — ISO 3166-1 alpha-2 transaction/corridor country. Submit the user’s residence separately as fields.country.
  - `provider` 'FONBNK' | 'ONRAMP_MONEY' | 'GUARDARIAN' | 'YELLOW_CARD', required
  - `fiatCurrency` string, required
  - `callbackUrl` string — URL Didit should redirect the user to after external verification.
  - `amountUsd` number

## Response `201`

## Changes

- **2026-08-12** `dcf19c1bab20` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/horuslabsio/apis/chainrails-api/changes/kyc/submit/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)
