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.

https://atlas.tryduplo.com

POST

/api/v1/e-invoicing/onboard

Send

Authorization

Body

Authorization

BearerAuth

AuthorizationBearer

In: header

Request Body

{
  "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

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
}