NaaS — Submerchant Management
KYB Onboarding Status
GET /v2/naas/submerchants/onboarding_status — check the current KYB status for an enrolled sub-merchant.
Returns the current KYB status for a sub-merchant’s onboarding process. The response has the same shape as KYB webhook payloads, so you can use the same parsing code for both.
Response
When
This endpoint requires only the
api-key header — no signed envelope or X-Signature.Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
correlation_id | string (UUID) | Yes | The UUID returned by Enroll Sub-merchant. |
Response 200 OK
| Field | Type | Description |
|---|---|---|
end2end | string | Process identifier for the KYB flow |
component | string | Always kyb_caf_submerchant |
created_at | string | ISO 8601 creation timestamp |
status | string | High-level status (Pending, Processing, Completed, Failed) |
substatus | string | Detailed status label |
process | string | Machine-readable state (see KYB States below) |
message | string | Human-readable description of the current state |
400 — missing correlation_id.
401 — invalid or missing api-key.
404 — no onboarding process found for this correlation under your master account.
KYB States
Theprocess field maps to the following states:
process | status | substatus | Description |
|---|---|---|---|
kyb_caf_submerchant.initial | Pending | KYB Initiated | Process started; creating CAF onboarding session |
kyb_caf_submerchant.pending_link | Pending | Awaiting KYB Completion | Onboarding link ready; waiting for sub-merchant to complete verification |
kyb_caf_submerchant.pending_kyb | Pending | Under Review | Documents submitted; CAF review in progress |
kyb_caf_submerchant.processing | Processing | KYB Approved | CAF approved; provisioning merchant account |
kyb_caf_submerchant.done | Completed | KYB Complete | Sub-merchant fully onboarded and active |
kyb_caf_submerchant.error | Failed | KYB Error | Verification failed; see error_detail |
status is "Failed", the response also includes:
| Field | Description |
|---|---|
error_from_state | The state the process was in when the error occurred |
error_detail | Raw error message from the failed step |
error_message | Human-readable description suitable for displaying to end users |
KYB Webhooks
When awebhook URL is provided in POST /v2/naas/submerchants/onboarding_link, Noxpay sends a signed POST to that URL on every KYB state change. The payload shape is identical to the status response above — you can use the same parsing code for both.
The webhook is signed with your NaaS webhook secret (configured at NaaS → Setup → Webhook Secret). See NaaS Setup for signature verification details.

