Onboard Taxpayer
E Invoicing
Onboard Taxpayer
Onboard a taxpayer for e-invoicing by providing their NRS credentials. This registers the business with the FIRS NRS system and enables e-invoicing capabilities.
POST
/api/v1/e-invoicing/onboard
Send
Authorization
Body
Authorization
BearerAuth
AuthorizationBearer
In: header
Request Body
- application/json
{
"email": "string",
"password": "string"
}
Response Body
201 application/json
401 application/json
422 application/json
500 application/json
cURL
curl -X POST "https://atlas.tryduplo.com/api/v1/e-invoicing/onboard" \
-H "Authorization: Bearer " \
-H "Content-Type: application/json" \
-d '{ "email": "taxpayer@example.com", "password": "nrs-password" }'
Response Codes
- 201
- 401
- 422
- 500
Example Responses
{
"requestId": "3a6538fd-03f0-4b05-ba41-5d44769dd014",
"requestTimestamp": "2026-04-09 12:00:00",
"message": "Taxpayer onboarded successfully.",
"statusCode": 201,
"data": {
"reference": "NRS-REF-001",
"businessId": "019a1639-ce25-70b7-ab20-16fcb2bac023",
"isActive": true,
"tin": "12345678-0001",
"name": "Acme Corp Ltd",
"nrsBusinessId": "NRS-BIZ-001",
"nrsEntityId": "NRS-ENTITY-001",
"nrsServiceId": "ABCD1234",
"nrsEmail": "taxpayer@example.com",
"duploIsApp": true
}
}
{
"requestId": "f006ad7b-096c-4254-8c7e-2d23a55b0b0e",
"requestTimestamp": "2026-04-09 12:00:00",
"message": "Unauthenticated.",
"statusCode": 401
}
{
"requestId": "f006ad7b-096c-4254-8c7e-2d23a55b0b0e",
"requestTimestamp": "2026-04-09 12:00:00",
"message": "The email field is required.",
"statusCode": 422,
"errors": {}
}
{
"requestId": "f006ad7b-096c-4254-8c7e-2d23a55b0b0e",
"requestTimestamp": "2026-04-09 12:00:00",
"message": "An error occurred while processing your request.",
"statusCode": 500
}