POST/simulate/kyc-status

Simulate KYC Status

Simulates a KYC status change for an individual and fires the corresponding webhook (kyc.missing, kyc.approved, or kyc.rejected).

Identified by IndividualId — the individual/UBO ID, not the Ondato verification ID. The simulator resolves the individual's latest KYC verification, sets its status, and fires the event.

Copy IndividualId from the Kyc[] action items returned by GET /application/detail/{id}.

Important. The applicant must complete the KYC process first (dummy / test values are fine). The system must conclude with an approved or rejected status. Only after that can you simulate KYC status with this endpoint, and only in the sandbox.

Blocked in production. Returns 400 when simulation is disabled.

Headers

FieldTypeRequiredPossible valuesDescription
session-tokenstringRequired—

SessionToken obtained from the Create GMA Session endpoint. All secured endpoints require this header.

Request body

FieldTypeRequiredPossible valuesDescription
IndividualIdstringRequired—

Individual/UBO ID. Copy from `Kyc[].IndividualId` in the application detail response.

StatusintegerRequired2 (missing) | 3 (approved) | 4 (rejected)

Target KYC status.

RemarkstringOptional—

Optional remark. Shown on the action item from `GET /application/detail/{id}` when status is missing. Not included on the webhook body.

Example request

{
  "IndividualId": "6a47d37c7267551942868532",
  "Status": 3,
  "Remark": "Identity verified."
}

Response

FieldTypePossible valuesDescription
ResponseCodeinteger200 | 201 | 204 | 301 | 400 | 401 | 403 | 404 | 410 | 422 | 500 | 503

API result code in the response envelope. Indicates success or the error category (e.g. 200 success, 400 bad request, 401 unauthorized).

ResponseMessagestringSuccess | Created | NoContent | BadRequest | Unauthorized | Forbidden | NotFound | Gone | UnprocessableContent | ServerError | ResourceMoved | ServiceUnAvailable | UnProcessableEntity

Human-readable label paired with ResponseCode (e.g. Success, BadRequest, Unauthorized). Use with ResponseCode to interpret the outcome.

ResponseDataobjectPlease refer to below example for response body

`KycId` — the KYC record updated. `Status` — the new status code.

Example response

{
  "ResponseCode": 200,
  "ResponseMessage": "Success",
  "ResponseData": {
    "KycId": "6a47d37c7267551942868532",
    "Status": 3
  }
}

A 400 with `record_not_found` is returned if the `IndividualId` does not exist or has no associated KYC verification.

Requires `session-token: {SessionToken}` from Create GMA Session. Use the same client IP as authentication.

Search guide books, endpoints, paths, or parameters

↑↓navigate↵openEscclose