Creating accounts
Accounts
The Accounts resource represents the core entity in Due.
An account can be:
- Business – registered company, merchant, or platform
- Individual – freelancer, sole trader, or personal account
Every payment, balance, and compliance flow in Due is linked to an account.
When you create an account, you immediately get:
- KYC/KYB link – to verify identity or company details
- Terms of Service link – for accepting the ToS & Privacy Policy before transacting
Core Concepts
-
Account Types
business→ For companies and legal entities.individual→ For natural persons.
-
Country Codes
- Must follow ISO 3166-1 alpha-2 (e.g.,
BR,GB,US).
- Must follow ISO 3166-1 alpha-2 (e.g.,
-
Categories
- Must be selected from Due’s allowed list (e.g.,
accounting_bookkeeping,ecommerce,consulting). - Lists differ for business and individual accounts — request these before integration.
- Must be selected from Due’s allowed list (e.g.,
-
KYC / KYB Process
-
Response includes
kyc.link— append it to the appropriate base URL with app.* prefix :- Sandbox →
https://app.sandbox.due.network - Production →
https://app.due.network
- Sandbox →
-
Example:
https://app.due.network/api/bp/redirect/kyc/sumsub/sumsub_xXxExampleId12345
-
-
Terms of Service Acceptance
-
Response includes
tos.link. -
Append to the base URL and optionally add a redirect:
https://app.due.network/tos/ta_exampletosid12345?redirect=https%3A%2F%2Fyourapp.com%2Fonboarding%2Fsuccess
-
-
KYC Status Values
pending– Not yet reviewed.passed– Approved.resubmission_required– Needs additional documentation.failed– Verification failed.
-
Authentication
-
All calls require:
Authorization: Bearer your_api_key
-
Create Account
JSON
curl --request POST \
--url https://api.due.network/v1/accounts \
-H "Authorization: Bearer your_api_key" \
-H "Content-Type: application/json" \
-d '{
"type": "business",
"name": "Rio Co",
"email": "[email protected]",
"country": "BR",
"category": "accounting_bookkeeping"
}'Parameters
| Field | Type | Required | Description |
|---|---|---|---|
type | string | ✅ | Allowed values: business, individual. |
name | string | ✅ | Legal name of the account holder or company. |
email | string | ✅ | Contact email address. |
country | string | ✅ | ISO-2 country code. |
category | string | ❌ | Category from Due’s allowed list. |
Example Response – Production (Redacted & Randomised)
{
"id": "acct_XyZpT7HhAJFq12345",
"type": "business",
"name": "Rio Co.",
"email": "[email protected]",
"country": "BR",
"category": "accounting_bookkeeping",
"status": "active",
"statusLog": [
{
"status": "onboarding",
"timestamp": "2025-08-10T09:21:06.000Z"
},
{
"status": "active",
"timestamp": "2025-08-10T09:22:13.000Z"
}
],
"kyc": {
"status": "passed",
"link": "/api/bp/redirect/kyc/sumsub/sumsub_ExAmPlE123456"
},
"tos": {
"id": "ta_AbCdEf123456",
"entityName": "Due Brasil Ltda",
"status": "accepted",
"link": "/tos/ta_AbCdEf123456",
"documentLinks": {
"tos": "https://****.s3.eu-west-2.amazonaws.com/documents/tos/TOS.pdf",
"privacyPolicy": "https://****.s3.eu-west-2.amazonaws.com/documents/tos/PP.pdf"
},
"acceptedAt": "2025-08-10T09:22:13.000Z"
}
}Get Account by ID
Retrieves full account details, including status history, KYC status, and ToS acceptance.
curl --request GET \
--url https://api.due.network/v1/accounts/acct_XyZpT7HhAJFq12345 \
-H "Authorization: Bearer your_api_key"Example Response
{
"id": "acct_XyZpT7HhAJFq12345",
"type": "business",
"name": "Rio Co.",
"email": "[email protected]",
"country": "BR",
"category": "accounting_bookkeeping",
"status": "active",
"statusLog": [
{
"status": "onboarding",
"timestamp": "2025-08-10T09:21:06.000Z"
},
{
"status": "active",
"timestamp": "2025-08-10T09:22:13.000Z"
}
],
"kyc": {
"status": "passed",
"link": "/api/bp/redirect/kyc/sumsub/sumsub_ExAmPlE123456"
},
"tos": {
"id": "ta_AbCdEf123456",
"entityName": "Due Brasil Ltda",
"status": "accepted",
"link": "/tos/ta_AbCdEf123456",
"documentLinks": {
"tos": "https://****.s3.eu-west-2.amazonaws.com/documents/tos/TOS.pdf",
"privacyPolicy": "https://****.s3.eu-west-2.amazonaws.com/documents/tos/PP.pdf"
},
"acceptedAt": "2025-08-10T09:22:13.000Z"
}
}List Accounts
Lists all accounts linked to your API key.
# List active accounts
curl -H "Authorization: Bearer your_api_key" \
https://api.due.network/v1/accounts
# List all accounts, including inactive
curl -H "Authorization: Bearer your_api_key" \
"https://api.due.network/v1/accountsExample Response
[
{
"id": "acct_XyZpT7HhAJFq12345",
"type": "business",
"name": "Rio Co.",
"email": "[email protected]",
"country": "BR",
"status": "active"
},
{
"id": "acct_QwErTyUiOp123456",
"type": "individual",
"name": "Jane Doe",
"email": "[email protected]",
"country": "US",
"status": "onboarding"
}
]Best Practices
- Create accounts early in your onboarding flow so users can complete KYC and accept ToS without delay.
- Always store the
account.id— all transactions reference it. - Poll or subscribe to webhooks for KYC status updates.
- Use the redirect query parameter on ToS URLs to send users back into your application post-acceptance.
Updated 25 days ago