Browse the docs

Get organization KYB status

GET /v2/api-gateway/organizations/{id}/kyb

Returns the KYB status of an organization you own. Returns 404 ("KYB not initiated for this organization") until POST /organizations/{id}/kyb-link has been called at least once.

Request

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

Path parameters

FieldTypeDescription
id requiredstring, uuidOrganization id (id from GET /organizations). Must be your organization or one of its children.

Example request

cURL

curl --request GET \
     --url 'https://api.themooncard.com/v2/api-gateway/organizations/8d2cd518-5ef2-4280-91e8-63b1a0e672e7/kyb' \
     --header 'x-api-key: YOUR_API_KEY'

Responses

200 Success
FieldTypeDescription
status requiredstringCurrent KYB status: NOT_STARTED, APPROVED, IN_REVIEW, DECLINED or RETRY.
url requiredstring, nullableMost recently issued verification URL, or null when none was created.
created_at requiredstring, nullableISO-8601 timestamp, or null.
updated_at requiredstring, nullableISO-8601 timestamp, or null.

JSON

{
  "status": "APPROVED",
  "url": "https://verify.paywithmoon.com/kyb?token=eyJhbGciOiJIUzI1NiJ9.abc123",
  "created_at": "2026-07-14T11:03:20.000Z",
  "updated_at": "2026-07-16T08:41:12.000Z"
}
400 Error

Validation failed (errors[] lists each offending field) or a domain rule rejected the request ({ message, code }).

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

Organization not found or not owned by this organization, or KYB has not been initiated for it.

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 June 5, 2026