POST {{baseURL}}/{{stage}}/external/request-business-key| Header | Value | Required | Description |
|---|---|---|---|
Content-Type | application/json | ✅ | Indicates JSON request body |
Accept | application/json or */* | ✅ | Specifies acceptable response format |
| Parameter | Type | Required | Max Length | Validation | Description |
|---|---|---|---|---|---|
businessAddress | string | ✅ | 200 | Non-empty | Complete business address including building number/name |
businessAddressLg | string | ✅ | 50 | Must match valid LGA | Local Government Area (LGA) where business is located, refer to resources folder |
businessAddressStreetName | string | ✅ | 100 | Non-empty | Street name of the business address |
businessCity | string | ✅ | 50 | Non-empty | City/Town where business operates |
businessCountry | string | ✅ | 2 | ISO 3166-1 alpha-2 | Country code, refer to resources folder |
businessFirsId | string | ✅ | 36 | UUID v4 format | FIRS-issued business ID |
businessPostalCode | string | ✅ | 10 | 6-digit numeric | Nigerian postal code (e.g., "101241") |
businessState | string | ✅ | 50 | Must match valid state | Nigerian state where business is registered |
contactEmail | string | ✅ | 100 | Valid email format | Primary contact email for API notifications and business key delivery |
entityFirsId | string | ✅ | 50 | Alphanumeric + hyphens | FIRS-issued entity ID |
{
"responseCode": "00",
"responseMessage": "Business successfully registered for external API access.",
"businessKey": "BK-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-DEV-XXXXXXXXXXXX",
"businessFirsId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX"
}| Field | Type | Description |
|---|---|---|
businessFirsId | string | Echo of your business FIRS ID for confirmation |
businessKey | string | Your unique API authentication key - Store this securely! |
responseCode | string | Application-level status code (see codes below) |
responseMessage | string | Human-readable description of the result |
| Code | Meaning | Action Required |
|---|---|---|
00 | Success | Business key generated successfully. Store the key securely. |
01 | Success | Business taxpayer ID not found in FIRS system. |
02 | Duplicate Request | Business already registered. Use existing business key. |
106 | FIRS Verification Failed | Provided FIRS credentials don't match FIRS records. |
responseCode is separate from HTTP status codes. A 200 OK HTTP response can still contain error details in the responseCode field.{
"responseCode": "106",
"responseMessage": "Validation failed: businessFirsId must be a valid format"
}contactEmailbusinessFirsIdbusinessState not matching valid Nigerian statesbusinessPostalCode not a 6-digit numberbusinessCountry not "NG"{
"responseCode": "04",
"responseMessage": "Requested business ID not found under this taxpayer account",
"businessKey": null,
"businessFirsId": null
}businessFirsId matches your FIRS Tax Identification NumberentityFirsId matches your CAC registration with FIRS{
"responseCode": "99",
"responseMessage": "An internal error occurred while processing your request",
"requestId": "req_7h3k9m2p4s6v8x1z",
"timestamp": "2026-02-12T10:30:45Z"
}requestId{
"responseCode": "99",
"responseMessage": "Service temporarily unavailable. Please try again later.",
"retryAfter": 300,
"timestamp": "2026-02-12T10:30:45Z"
}retryAfter (in seconds)entityFirsId accurate ?businessFirsId?curl --location --globoff '{{baseUrl}}/{{stage}}/external/request-business-key?stage={{stage}}' \
--header 'Content-Type: application/json' \
--data-raw '{
"businessFirsId": "your-business-id-from-FIRS-here",
"entityFirsId": "your-entity-id-from-FIRS-here",
"contactEmail": "info@example.com",
"businessAddress": "123 Commerce Plaza",
"businessAddressLg": "NG-LA-EOS",
"businessAddressStreetName": "Adeola Odeku Street",
"businessCity": "Victoria Island",
"businessState": "NG-LA",
"businessCountry": "NG",
"businessPostalCode": "101241"
}'{
"responseCode": "00",
"responseMessage": "Business successfully registered for external API access.",
"businessKey": "BK-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-DEV-XXXXXXXXXXXX",
"businessFirsId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX"
}