Skip to content

Submit onboarding for admin review (owner only, live mode)

POST
/dashboard/v1/merchants/{merchantId}/{mode}/onboarding/submit
curl --request POST \
--url http://localhost:4000/dashboard/v1/merchants/example/test/onboarding/submit \
--header 'idempotency-key: example' \
--cookie better-auth.session_token=<better-auth.session_token>
merchantId
required
string
mode
required
string
Allowed values: test live
idempotency-key
required

Required retry-safe key; reuse it only for the same operation and request body

string
>= 1 characters <= 255 characters

Required retry-safe key; reuse it only for the same operation and request body

Submitted onboarding

Media typeapplication/json
object
object
required
string
Allowed values: merchant_onboarding
merchant_id
required
string
status
required
string
Allowed values: draft submitted approved rejected
business_name
required
string | null
ninea
required
string | null
rccm
required
string | null
settlement_wallet
required
object
provider
required
string
Allowed values: wave orange_money
phone
required
string
/^\+2217[0-9]{8}$/
owner_document
required
object
object
required
string
Allowed values: kyc_document
id
required
string
content_type
required
string
Allowed values: application/pdf image/jpeg image/png
size_bytes
required
integer
status
required
string
Allowed values: uploading ready
created_at
required
string
submitted_at
required
string | null
reviewed_at
required
string | null
review_reason
required
string | null
Example
{
"object": "merchant_onboarding",
"status": "draft",
"settlement_wallet": {
"provider": "wave",
"phone": "+221771234567"
},
"owner_document": {
"object": "kyc_document",
"content_type": "application/pdf",
"status": "uploading"
}
}

Invalid request

Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
details
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"details": "example"
}
}

Sign-in required

Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
details
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"details": "example"
}
}

Forbidden

Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
details
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"details": "example"
}
}

Not found

Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
details
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"details": "example"
}
}

Idempotency conflict or invalid state

Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
details
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"details": "example"
}
}