Browse the docs

Request cardholder KYC check

POST /v1/api-gateway/cardholder/{cardholder_id}/check

Submits the documents already uploaded for this cardholder to the KYC provider for review and moves the cardholder KYC to PENDING. A KYC session is started automatically when the cardholder has none yet. Read the outcome with GET /cardholder/{end_customer_id}/kyc.

Request

Authentication: your API key in the x-api-key header.

Path parameters

FieldTypeDescription
cardholder_id requiredstring, uuidThe Moon cardholder id (id, a UUID), not your end_customer_id.

Headers

FieldTypeDescription
Idempotency-KeystringA unique string you choose, up to 255 characters, that makes this request safe to retry. If a request times out or fails in transit, send it again with the same key: the status code and body of the first attempt are returned and the operation is not performed a second time. Stored replies — including failures — are replayed for 24 hours, after which the same key starts a fresh request. Reusing a key for a different request, or sending it while the first request is still running, returns 409. Omit the header and the request behaves exactly as before. Document upload endpoints do not accept it.

Example request

cURL

curl --request POST \
     --url 'https://api.themooncard.com/v1/api-gateway/cardholder/3f5b1c2e-8d4a-4b6f-9e2a-1c7d8e9f0a1b/check' \
     --header 'x-api-key: YOUR_API_KEY'

Responses

200 Success

Documents submitted for review; the verification status is now PENDING.

FieldTypeDescription
status requiredstringVerification status after submission. Always PENDING; read the outcome later with the corresponding KYC/KYB status endpoint.

JSON

{
  "status": "PENDING"
}
400 Error

Validation failed, or the cardholder has no KYC session that can be submitted (KYC_NOT_INITIATED, APPLICANT_NOT_FOUND).

The body is the standard error object: see Errors.

401 Error

Missing or invalid credentials, e.g. { "message": "Invalid API Key", "code": "UNAUTHORIZED" }.

The body is the standard error object: see Errors.

404 Error

Cardholder not found or not owned by this organization.

The body is the standard error object: see Errors.

409 Error

The Idempotency-Key you sent is already in use. IDEMPOTENCY_KEY_REUSED — the key was used for a different request; send a new key, or repeat the original request exactly to receive its stored response. IDEMPOTENCY_KEY_IN_PROGRESS — the first request with this key has not finished yet; retry in a few seconds.

The body is the standard error object: see Errors.

500 Error

Unexpected server error. Body is { message: "Internal server error", code: "INTERNAL_SERVER_ERROR" }.

The body is the standard error object: see Errors.

Last updated April 30, 2026