1. Qorpy API Onboarding
Qorpy
  • Getting Started: Qorpy API and NRS E-Invoice
  • Frequently Asked Questions
  • Qorpy API Onboarding
    • Request Business Key
      POST
    • Regenerate Business Key
      POST
    • Business Settings - Update
      POST
    • Business Settings - Read
      GET
  • E-Invoicing Lifecycle
    • E-Invoice Creation
      • Create Invoice
      • Get Invoice QR Code
      • Update Invoice Payment Status
      • Get Sent Invoices
      • Get Sent Invoice Details
    • E-Invoice Reversal
      • Invoice Reversal
    • E-Invoice Receipt
      • Fetch Received Invoices
  • Resources
    • Get NRS Invoice Quantity Codes
      GET
    • Get NRS Currencies
      GET
    • Get NRS States
      GET
    • Get NRS LGAs
      GET
    • Get NRS Countries
      GET
    • Get NRS Invoice Types
      GET
    • Get NRS Payment Means
      GET
    • Get NRS Product Codes
      GET
    • Get NRS Service Codes
      GET
    • Get NRS Tax Categories
      GET
  1. Qorpy API Onboarding

Regenerate Business Key

POST
{{baseUrl}}/{{stage}}/external/businesses/{{businessID}}/regenerate-business-key
Rotate your API authentication key for security compliance or after suspected compromise.
POST {{baseUrl}}/{{stage}}/external/businesses/{{businessID}}/regenerate-business-key
⚠️ WARNING: Regenerating immediately invalidates your old key. All API requests with the old key will fail. Plan accordingly.

When to Regenerate#

✅ Yes:
Key exposed in logs/repos or unauthorized access detected
90-day rotation schedule (best practice)
Employee offboarding (key was shared)
System migration or compliance requirements

Request#

Headers#

HeaderValueRequired
Content-Typeapplication/json or */*✅
Acceptapplication/json or */*✅

Path Parameters#

ParameterTypeExampleDescription
businessFirsIdstring (UUID v4)x6xxx24x-xxxx-xxxx-xxxx-xxxxxxfxxxx3Your business NRS ID
Request Body: None

Response#

Success (200)#

{
  "businessFirsId": "x6xxx24x-xxxx-xxxx-xxxx-xxxxxxfxxxx3",
  "businessKey": "BK_NEW_KEY_HERE",
  "responseCode": "00",
  "responseMessage": "Business key regenerated successfully"
}
FieldDescription
businessKeyYour new key - Update all systems immediately
responseCode00 = success, 106 = invalid business ID

Errors#

400 - Invalid Business ID
{
  "responseCode": "106",
  "responseMessage": "Business not found"
}
→ Verify businessFirsId format is correct UUID
429 - Rate Limit
{
  "responseCode": "106",
  "responseMessage": "You must wait 24 hours before regenerating another business key."
}
→ Limit: 1 per 24 hours, 10 per month. Contact support for emergency rotation.

Pre-Rotation Checklist#

✅ Identify ALL systems using current key
✅ Schedule during low-traffic period
✅ Notify team members
✅ Test in staging first
✅ Set up monitoring for 401 errors

Rotation Steps#

1.
Generate new key
2.
Update all systems
Environment variables
Secrets manager (AWS, Azure, etc.)
Restart services
3.
Monitor for failures
Check for 401 Unauthorized errors
Verify new key working
4.
Clean up
Remove old key from docs
Revoke shared credentials

Rate Limits#

1 regeneration per 24 hours
10 regenerations per month
Exceeding limits triggers security review and 24-hour hold
Email notifications sent for:
Key regeneration
Failed attempts
Rate limit reached
Unauthorized regeneration attempts

FAQ#

Q: How often should I rotate?
A: Every 90 days (30-60 days for strict compliance)
Q: Multiple active keys?
A: No. One key at a time. Old key immediately invalidated.
Q: Grace period for transition?
A: No. Old key fails immediately after regeneration.
Q: Can I revert to old key?
A: No. Regeneration is permanent.
Q: What about in-flight requests?
A: Requests using old key that are already processing will complete. New requests must use new key.

Request

Query Params

Header Params

Responses

🟢200OK
application/json
Bodyapplication/json

Request Request Example
Shell
JavaScript
Java
Swift
curl --location --globoff --request POST '{{baseUrl}}/{{stage}}/external/businesses/{{businessID}}/regenerate-business-key?stage={{stage}}'
Response Response Example
{
    "responseCode": "00",
    "responseMessage": "New Business Key sent to the email address of the Taxpayer Business"
}
Modified at 2026-08-21 08:48:53
Previous
Request Business Key
Next
Business Settings - Update
Built with