submitted
once you fix it; approved and rejected are final.
| Status | What it means | What you do | Webhook |
|---|---|---|---|
draft | Created; details may be incomplete. | PATCH details and upload documents until missing_fields is empty, then submit. | registration.created |
pending_payment | Complete and waiting for payment. Details are locked. | Pay (in test mode: advance to paid). | registration.payment_required |
paid | Payment confirmed; identity checks are running. | Nothing; it moves on by itself. | registration.paid |
verification_failed | A proprietor’s identity didn’t check out. failure says which field. | Fix the field with PATCH, then submit again. No second payment. | registration.verification_failed |
submitted | Filed with CAC, waiting for its decision. | Wait. CAC usually decides within 24 hours. | registration.submitted |
queried | CAC wants changes. query.items lists each field and why. | Fix the queried fields, then submit again. No second payment. See Handling CAC queries. | registration.queried |
approved | Registered. registration_number and registered_name are set. | Download the certificate and status report. | registration.approved, then registration.certificate_ready |
rejected | CAC refused it. failure says why. | Start a new registration, usually with a different name. | registration.rejected |
Following a registration
Every registration has ahistory: each status change with its time, oldest first. Subscribe to
the webhooks and fetch the registration when one arrives; poll with
GET /v1/registrations/{id} only as a fallback.
Approved registration
{
"object": "registration",
"id": "reg_1G7StLhyz24vL6sB5eC64K",
"business_id": "biz_1bIJpSFM4oxl6bkou74oob",
"external_id": "order-1182",
"type": "business_name",
"status": "approved",
"proposed_names": [
"ADA FOODS VENTURES",
"ADA KITCHEN VENTURES"
],
"line_of_business": "Educational Services And Consultancy",
"business": {
"email": "hello@adafoods.ng",
"phone": "08039876543",
"address": {
"street_number": "12",
"street": "Admiralty Way",
"city": "Lekki",
"lga": "Eti-Osa",
"state": "Lagos",
"postcode": "105102"
}
},
"proprietors": [
{
"first_name": "Ada",
"last_name": "Obi",
"other_names": null,
"gender": "female",
"date_of_birth": "1990-04-12",
"nationality": "Nigerian",
"nin": "12345678901",
"email": "ada@example.com",
"phone": "08031234567",
"address": {
"street_number": "12",
"street": "Admiralty Way",
"city": "Lekki",
"lga": "Eti-Osa",
"state": "Lagos",
"postcode": "105102"
}
}
],
"missing_fields": [],
"query": null,
"failure": null,
"registered_name": "ADA FOODS VENTURES",
"registration_number": "4818873",
"certificate_available": true,
"status_report_available": true,
"history": [
{
"from": null,
"to": "draft",
"at": "2026-10-23T22:06:48Z"
},
{
"from": "draft",
"to": "pending_payment",
"at": "2026-10-23T22:06:49Z"
},
{
"from": "pending_payment",
"to": "paid",
"at": "2026-10-23T22:06:49Z"
},
{
"from": "paid",
"to": "submitted",
"at": "2026-10-23T22:06:49Z"
},
{
"from": "submitted",
"to": "approved",
"at": "2026-10-23T22:06:49Z"
}
],
"submitted_at": "2026-10-23T22:06:49Z",
"approved_at": "2026-10-23T22:06:49Z",
"created_at": "2026-10-23T22:06:48Z",
"updated_at": "2026-10-23T22:06:49Z"
}
Editing rules
| Status | What you can change |
|---|---|
draft, verification_failed | Anything. |
queried | Only the queried fields and documents (400 field_not_queried otherwise). |
| Anything else | Nothing (409 registration_locked). |