CAC Business Name, Company, Trusteeship and other Registration API for Fintechs, Agents & Platforms
Our API enables fintech platforms, agents, and service providers to seamlessly integrate with our portal for a wide range of business and legal registration services. These include:
Business Name Registration
Company (LLC) Incorporation
Trusteeship Registration
SCUML Certificate Processing
Tax Identification Number (TIN) Registration
Beyond incorporation, the API also supports essential post-incorporation services such as:
Filing of Annual Returns
Change of Company Profile
Change of Business or Company Name
Change in Nature of Business
Addition or Removal of Proprietors/Partners
Change of Business Address or Branch Office
Editing Proprietor/Partner Information
Requests for Certified True Copies (CTC) or Certified Extracts
Business Name Status Reports
Letters of Good Standing
- And so on
With full technical documentation and secure endpoints, our API is ideal for platforms looking to automate compliance and streamline user onboarding with direct CAC service access.
Get Started Now
Click here to register your account.
Once logged in, go to your Profile section to upload your Company Registration Certificate and complete all required details.
After submitting, notify us, and we’ll begin processing your application and issue your Agent ID.
Ready to join? Let’s get you set up!
API DOC
General Info
| Name | Value |
|---|---|
| Base url | https://app.documents.com.ng/ |
SELECT OPTION
RESPONSES AND QUERY ENDPOINT
This is an endpoint for to query for a response
Headers:
| Name | Value |
|---|---|
| Authorization | Token {{Your Agent Id}} |
| Accept | application/json |
| Content-Type | application/json |
Body:
| Name | Value |
|---|---|
ref* |
A unique reference |
query_type* |
name-registration or company-registration or name-search or annual-return |
EXAMPLE
name search query
{
"ref": 2024285cacnameseachrequest21,
"query_type": name-search
}
| Name | Value | Associated With |
|---|---|---|
status:{a status code}* |
100 {successfully submitted/queried}, 101 {payload key/value failed validation}, 400 {error with authentication} | All Endpoint |
status_key:{a status key}* |
The code key e.g (token, authorization e.t.c if there is an error during agent authorization/token) or e.g (full_name, data_empty, invalid_url if a submitted data didn't pass validation) or e.g (success/failed for submission status) | All Endpoint |
status_response:{a message}* |
A status message | All Endpoint |
| Name | Value | Associated With |
|---|---|---|
status:{a status code}* |
100 {successful}, 101 {failed}, 400 {error with authentication} | All Endpoint |
status_key:authorization* |
Authorization header not found | All Endpoint |
status_key:token* |
Authorization Token not found | All Endpoint |
status_key:token_null* |
Authorization Token can't be null or false | All Endpoint |
status_key:data* |
No Post Data Found | All Endpoint |
status_key:agent* |
Incorrect Token | All Endpoint |
status_key:status* |
Your agent account is inactive | All Endpoint |
status_key:{key}* |
A required payload data is not provided {key} is replaced by what's not provided | All Endpoint |
status_key:empty_key* |
A submitted payload data is empty | All Endpoint |
status_key:ref_exist* |
A submitted payload data is with same ref already exist. This shows the data is already submitted | Except Query Endpoint |
status_key:full_name* |
A fullname is not valid. It must be in this format e.g Firstname Lastname [and/or] Ojogbane | Except Query Endpoint |
status_key:images* |
The image is not in base64 encoded format or not png and jpeg | Except Query Endpoint |
status_key:invalid_type_key* |
The submitted type key for annual-return is neither current nor late | Only Annual Return Endpoint |
status_key:invalid_url* |
Any payload with url attached should follow the standard https://your_domain sheme | Only Annual Return |
status_key:pdf_url* |
Any payload where u attach url for us to download the pdf doc and its not following https://your_domain/(doc_name).pdf(and/or ending /) will be declined | Only Annual Return |
status_key:date_of_birth* |
Date of birth must follow dd-mm-yyyy | Name And Company Registration |
status_key:witness_name* |
Witness name invalid and must follow e.g Firstname Lastname [and/or] Ojogbane | Company Registration |
status_key:query_type_invalid* |
The query_type is holding an invalid value | Query Endpoint |
status_key:no_ref* |
When the query endpoin is queried with an invalid reference code you get this status_key:no_ref | Query Endpoint |
status_key:pending* |
Successful Submission | All Endpoint |
status_key:success* |
Processing Completed | Query Endpoint |
status_key:failed* |
Processing Failed | Query Endpoint |
NAME SEARCH
Example Response (Success):
{
"status": 100,
"status_key": success,
"status_response": "BizName is now successfully registered"
"attachment": "https://our_url.com/cac_doc.pdf/ or none or any pdf downloadable link"
}
{
"status": 101,
"status_key": empty_data,
"status_response": full_name is empty
}
NAME REGISTRATION, COMPANY REGISTRATION, ANNUAL RETURN
Example Response (Success):
{
"status": 100,
"status_key": success,
"attachment": https://base_url.cac_doc_2024.pdf,
"status_response": "Your submission has been processed successfully. Please find document as attached"
}
{
"status": 101,
"status_key": failed,
"status_response": Your request failed because there was an error on the business name submitted
}
NAME SEARCH
This is an endpoint for business name-seach
Headers:
| Name | Value |
|---|---|
| Authorization | Token {{Your Agent Id}} |
| Accept | application/json |
| Content-Type | application/json |
Body:
| Name | Value |
|---|---|
ref* |
A unique reference |
full_name* |
Clients Full Name |
search_name1* |
Name First Choice |
search_name2* |
Name Second Choice |
{
"ref":"20240513cacrequest33",
"full_name":"Firstname Lastname",
"search_name1":"Ak Tech",
"search_name2":"BizName"
}
{
"status": 100,
"status_key": pending,
"status_response": "We have received your submission and would attend to it shortly"
}
{
"status": 101,
"key": empty_data,
"message": full_name is empty
}
ANNUAL RETURN
This is an endpoint for annual return submission
Headers:
| Name | Value |
|---|---|
| Authorization | Token {{Your Agent Id}} |
| Accept | application/json |
| Content-Type | application/json |
Body:
| Name | Value |
|---|---|
ref* |
A unique reference |
full_name* |
Clients Full Name |
cac_pdf_url* |
a valid url to download your pdf document (url.pdf) |
image_signature* |
image signature |
type* |
current or late annual return |
{
"ref":"20240513cacrequest33",
"full_name":"Firstname Lastname",
"cac_pdf_url":"https://mydomain.com/cac_doc.pdf",
"image_signature":"/9j/HyHjhgyiJohhjuH...",
"type":"current"
}
{
"status": 100,
"status_key": pending,
"status_response": "We have received your submission and would attend to it shortly"
}
{
"status": 101,
"key": empty_data,
"message": full_name is empty
}
BUSINESS NAME REGISTRATION
This is an endpoint for business name registration
Headers:
| Name | Value |
|---|---|
| Authorization | Token {{Your Agent Id}} |
| Accept | application/json |
| Content-Type | application/json |
Body:
| Name | Value |
|---|---|
ref* |
A unique reference |
full_name* |
Clients Full Name |
business_name1* |
Name First Choice |
business_name2* |
Name Second Choice |
nature_of_business* |
Nature of business |
image_id_card* |
Image of your goverment issued Id Card |
date_of_birth* |
Date Of Birth in dd-mm-yyyy format |
email* |
email address |
phone* |
phone number |
image_passport* |
Passport Photograph |
image_signature* |
Signature |
{
"ref":"20240525cacrequest22",
"full_name":"Firstname Lastname",
"business_name1":"Ak Tech",
"business_name2":"BizName",
"nature_of_business":"Software Development And Web Development",
"image_id_card":"/9j/IkIHIhjhYHBUbhjhw....",
"date_of_birth":"03-09-2000",
"email":"mybusinessname@gmail.com",
"phone":"07049******",
"image_passport":"iVBORw0KGgoUkhwishiuIh...",
"image_signature":"iVBORw0KGgoUiyihshiuY..."
}
{
"status": 100,
"status_key": pending,
"status_response": "We have received your submission and would attend to it shortly"
}
{
"status": 101,
"key": empty_data,
"message": full_name is empty
}
COMPANY REGISTRATION
This is an endpoint for company registration
Headers:
| Name | Value |
|---|---|
| Authorization | Token {{Your Agent Id}} |
| Accept | application/json |
| Content-Type | application/json |
Body:
| Name | Value |
|---|---|
ref* |
A unique reference |
full_name* |
Clients Full Name |
business_name1* |
Name First Choice |
business_name2* |
Name Second Choice |
nature_of_business* |
Nature of business |
image_id_card* |
Image of your goverment issued Id Card |
date_of_birth* |
Date Of Birth in dd-mm-yyyy format |
email* |
email address |
phone* |
phone number |
image_passport* |
Passport Photograph |
image_signature* |
Signature |
share_allocation* |
How you want your allocation to be shared |
witness_name* |
Name of the witness |
image_witness_signature* |
Image of the witness signature |
{
"ref":"20240525cacrequest22",
"full_name":"Firstname Lastname",
"business_name1":"Ak Tech",
"business_name2":"BizName",
"nature_of_business":"Software Development And Web Development",
"image_id_card":"/9j/IkIHIhjhYHBUbhjhw....",
"date_of_birth":"03-09-2000",
"email":"mybusinessname@gmail.com",
"phone":"07049******",
"image_passport":"iVBORw0KGgoUkhwishiuIh...",
"image_signature":"iVBORw0KGgoUiyihshiuY...",
"share_allocation":"1m to the directory ...",
"witness_name":"Akor Joel",
"image_witness_signature":"iVBORw0KGgoUiyihshiuY..."
}
{
"status": 100,
"status_key": pending,
"status_response": "We have received your submission and would attend to it shortly"
}
{
"status": 101,
"key": empty_data,
"message": full_name is empty
}