Standard HTTP response codes indicate the success or failure of an API request. Select a tab below for details on each status code and specific API error codes where applicable.
400 Bad Request
The request was unacceptable, often due to missing a required parameter or malformed syntax.
Specific API Error Codes for 400:
| Error Code | Description | How to Handle? |
|---|---|---|
| 1000400 | Bad Request | Verify the format of the API request and parameters. Check the returned error array for more details. |
| 1003002 | Requested product amount is out of range | Check the available amount ranges for the specified product. |
| 1003003 | Requested product unit cost is invalid | Verify the unit (currency) values of the requested product is correct |
| 1005003 | Credit party mobile number is invalid | Verify the format of the credit party mobile number. |
| 1005503 | Sender mobile number is invalid | Verify the format of the sender's mobile number. |
| 1006001 | Insufficient balance | Your available balance is is insufficient to perform the transaction. Topup your account using DT Shop |
| 1006003 | Debit party mobile number is invalid | Verify the format of the debit party's mobile number. Refer to the libphonenumber specifications. |
| 1006503 | Beneficiary mobile number is invalid | Verify the format of the beneficiary's mobile number. Refer to the libphonenumber specifications. |
| 1007001 | Transaction external ID has already been used | Avoid using a previously used external_id when initiating a transaction. |
| 1007002 | Transaction has already been confirmed | Avoid resending requests for transactions that have already transitioned to a CONFIRMED status. |
| 1007004 | Transaction can no longer be confirmed | Avoid attempting to confirm a transaction that is not in the CREATED status. |
| 1007005 | Transaction has already been cancelled | Avoid attempting to cancel a transaction that is not in the CREATED status. |
| 1007007 | Transaction can no longer be cancelled | Note: CREATED transactions expire and become CANCELLED after one hour.
|
| 1007500 | Method not supported by operator | The operator of the provided mobile number does not support the selected method (returned in lookup endpoints) |
404 Not Found
The requested resource could not be found.
Specific API Error Codes for 404:
| Error Code | Description | How to Handle? |
|---|---|---|
| 1000404 | Resource not found | Verify that the requested resource is available on your account |
| 1003001 | Product is not available in your account | Verify that the requested resource product is availble on your account by logging into DT Shop |
| 1003101 | Benefits not defined for available products | Verify that the requested benefits are available for the products in your account. |
| 1003201 | Promotion not found | Verify if the specified promotion code is correct and currently active. |
| 1003301 | Campaign not found | Contact your account manager if additional details are required regarding company setup. |
| 1005004 | Service not found |
|
| 1005005 | Country not found |
|
| 1005006 | Operator not found |
|
| 1006009 | Account balance not found | Contact [email protected] and your Account Manager to check the account status and balance information. |
| 1008004 | Transaction not found | The requested transaction has not been found, login to DT Shop to check your transactions |
429 Too Many Requests
You have sent too many requests in a given amount of time ("rate limiting").
Specific API Error Codes for 429:
| Error Code | Description | How to Handle? |
|---|---|---|
| 1000429 | Too many requests | Verify that your system is not making duplicate requests exhausting your Requests-per-second allocation. Contact [[email protected]] to request more capacity. |
500 Internal Server Error
Something went wrong on DT One's servers.
Specific API Error Codes for 500:
| Error Code | Description | How to Handle? |
|---|---|---|
| 1009001 | Unexpected error | Contact [email protected] for assistance if additional details are needed. |
503 Service Unavailable
DT One is temporarily unable to handle the request, possibly due to maintenance or overload.
Specific API Error Codes for 503:
| Error Code | Description | How to Handle? |
|---|---|---|
| 1009503 | Service unavailable, please retry later | Contact [email protected] for assistance if additional details are needed. |
---
config:
theme: neutral
fontSize: 16
look: neo
layout: fixed
---
flowchart LR
B@{ label: "<b>CREATED</b><br><span style=\"font-size: 2em;\">1</span>" } -- "<span style=color:>POST<br>/transactions<br>/[id]<br>/confirm</span>" --> C@{ label: "<b>CONFIRMED</b><br><span style=\"font-size: 2em;\">2</span>" }
C -- "<span style=color:>Sent to<br>receiving<br>partner</span>" --> D@{ label: "<b>SUBMITTED</b><br><span style=\"font-size: 2em;\">5</span>" }
D --> E@{ label: "<b>COMPLETED</b><br><span style=\"font-size: 2em;\">7</span>" }
E -- "<span style=color:>Callback</span>" --> F@{ label: "<b>REVERSED</b><br><span style=\"font-size: 2em;\">8</span>" }
B -- "<span style=color:>Callback</span>" --> G@{ label: "<b>REJECTED</b><br><span style=\"font-size: 2em;\">3</span>" }
B -- "<span style=color:>Callback<br>POST<br>/transactions<br>/[id]<br>/cancel</span>" --> H@{ label: "<b>CANCELLED</b><br><span style=\"font-size: 2em;\">4</span>" }
D -- "<span style=color:>Callback</span>" --> I@{ label: "<b>DECLINED</b><br><span style=\"font-size: 2em;\">9</span>" }
B@{ shape: rounded}
C@{ shape: rounded}
D@{ shape: rounded}
E@{ shape: rounded}
F@{ shape: rounded}
G@{ shape: rounded}
H@{ shape: rounded}
I@{ shape: rounded}
style B fill:#FFFFFF,stroke:#1D8DF0,stroke-width:3px
style C fill:#FFFFFF,stroke:#1D8DF0,stroke-width:3px
style D fill:#FFFFFF,stroke:#1D8DF0,stroke-width:3px
style E fill:#FFFFFF,color:#000,stroke:#90ee90,stroke-width:3px
style F fill:#FFFFFF,stroke:black,stroke-width:3px
style G fill:#FFFFFF,stroke:#f08080,stroke-width:3px
style H fill:#FFFFFF,stroke:#f08080,stroke-width:3px
style I fill:#FFFFFF,stroke:#f08080,stroke-width:3px
| Status ID | Status Message | Description | User-Facing Description |
|---|---|---|---|
| 10000 | CREATED | Transaction has been created by the customer. | Your transaction has been created successfully. |
| Status ID | Status Message | Description | User-Facing Description |
|---|---|---|---|
| 20000 | CONFIRMED | Transaction is confirmed after verifying that there are no missing or incorrect parameters. | Your transaction has been confirmed after verifying all required details are correct. |
| Status ID | Status Message | Description | User-Facing Description |
|---|---|---|---|
| 30000 | REJECTED | Transaction is rejected by DT One (without being submitted to the provider) if any request parameters are missing or incorrect after verification. | Your transaction has been rejected because some required details are missing or incorrect. Please check and try again. |
| 30200 | REJECTED-INVALID-CREDIT-PARTY | Numbering plan not recognised: the destination/recipient number was not identified as belonging to any operators covered by DT One. Please re-check the recipient number and/or escalate the case to the DT One Support Team for further investigation. | The recipient’s number could not be recognised as belonging to a supported network. Please check the number and try again. If the issue persists, contact the DT One Support Team for further assistance. |
| 30201 | REJECTED-BARRED-CREDIT-PARTY | Recipient has been blocked from top-up by their operator. This prevents DT One from processing the request. The recipient must contact their operator’s customer service to unblock their account. | The recipient’s operator has blocked their account from receiving top-ups. They must contact their operator’s customer service to resolve this issue. |
| 30202 | REJECTED-INELIGIBLE-CREDIT-PARTY | Rejected - Credit party is ineligible for the chosen product. | The selected product is not available for the recipient. Please choose a different option. |
| 30220 | REJECTED-INVALID-DEBIT-PARTY | Rejected - Debit party is invalid | The debit party is invalid. Please check the details and try again. |
| 30221 | REJECTED-BARRED-DEBIT-PARTY | Rejected - Debit party is ineligible for the chosen product. | The selected product is not available for the debit party. Please choose a different option. |
| 30320 | REJECTED-LIMITATIONS-ON-CREDIT-PARTY-AMOUNT | The recipient has reached their maximum allowed transaction value within the defined time period. Customer Care will review the limit and take appropriate action. | The recipient has reached their transaction value limit. Our Customer Care team will review this and take any necessary action. |
| 30360 | REJECTED-LIMITATIONS-ON-CREDIT-PARTY-QUANTITY | The recipient has reached their top-up limit within the defined time period. Customer Care will review the limit and take appropriate action. | The recipient has reached their top-up limit for this period. Our Customer Care team will review this and take any necessary action. |
| 30400 | REJECTED-OPERATOR-CURRENTLY-UNAVAILABLE | Transactions are rejected when Customer Care disables a route due to a system outage or technical issue. | This transaction has been declined because the service route is temporarily disabled. Please try again later. |
| 30500 | REJECTED-INSUFFICIENT-BALANCE | Transaction failed due to insufficient funds in the customer's account. | Your transaction could not be processed because there are not enough funds in your account. Please check your balance and try again. |
| Status ID | Status Message | Description | User-Facing Description |
|---|---|---|---|
| 40000 | CANCELLED | Transaction is cancelled if it is not confirmed within 60 minutes when 'auto_confirm' is set to 'False'. It will also be cancelled if the customer selects 'Cancel' within this timeframe. | Your transaction has been cancelled because it was not confirmed within the required time. Please try again if you still wish to proceed. |
| Status ID | Status Message | Description | User-Facing Description |
|---|---|---|---|
| 50000 | SUBMITTED | Transaction is submitted when it has been sent to the provider. | Your transaction has been successfully sent to the provider. |
| Status ID | Status Message | Description | User-Facing Description |
|---|---|---|---|
| 70000 | COMPLETED | Indicates the top-up was successfully delivered to the recipient. | The top-up has been successfully delivered. |
| Status ID | Status Message | Description | User-Facing Description |
|---|---|---|---|
| 80000 | REVERSED | Transaction was cancelled by DT One. | Your transaction has been cancelled by DT One. If you need further assistance, please contact support. |
| Status ID | Status Message | Description | User-Facing Description |
|---|---|---|---|
| 90000 | DECLINED | This is a generic decline reason returned when no specific error details are available. If the system cannot determine a more precise cause for the failure, this code will be used. | This is a generic decline reason returned when no specific error details are available. If the system cannot determine a more precise cause for the failure, this code will be used. |
| 90200 | DECLINED-INVALID-CREDIT-PARTY | Transaction refused by the operator because the recipient phone number is not a valid prepaid account. | The recipient’s phone number is not recognised as a valid prepaid account. Please check the number and try again. |
| 90201 | DECLINED-BARRED-CREDIT-PARTY | Recipient has been blocked from top-up by their operator, preventing DT One from processing the request. The recipient must contact their operator’s customer service to unblock their account. | The recipient’s account has been blocked from receiving top-ups. They must contact their operator’s customer service to resolve this. |
| 90202 | DECLINED-INELIGIBLE-CREDIT-PARTY | Declined - Credit party is ineligible for the chosen product. | The selected product is not available for this recipient. Please choose a different option. |
| 90220 | DECLINED-INVALID-DEBIT-PARTY | Declined - Debit party is invalid. | The debit party is invalid. Please check the details and try again. |
| 90221 | DECLINED-BARRED-DEBIT-PARTY | Declined - Debit party is ineligible for the chosen product. | The selected product is not available for this debit party. Please choose a different option. |
| 90310 | DECLINED-LIMITATIONS-ON-OPERATOR-AMOUNT | Operator limit reached: the maximum top-up value (in USD) has been exceeded within a set time period. | The operator’s limit for top-ups has been reached. Please try again later or contact Customer Care for assistance. |
| 90320 | DECLINED-LIMITATIONS-ON-CREDIT-PARTY-AMOUNT | Recipient has reached the maximum top-up value (in USD) allowed within a set time period. | The recipient has reached the maximum allowed top-up amount for this period. Please try again later. |
| 90330 | DECLINED-LIMITATIONS-ON-CUSTOMER-AMOUNT | Your account has reached the maximum top-up value (in USD) allowed within a set time period. | You have reached your top-up limit for this period. Please try again later. |
| 90350 | DECLINED-LIMITATIONS-ON-OPERATOR-QUANTITY | Operator limit reached: the maximum number of top-ups has been exceeded within a set time period. | The operator’s limit for the number of top-ups has been reached. Please try again later or contact Customer Care for assistance. |
| 90360 | DECLINED-LIMITATIONS-ON-CREDIT-PARTY-QUANTITY | Recipient has reached the maximum number of top-ups allowed within a set time period. | The recipient has reached the maximum number of top-ups allowed for this period. Please try again later. |
| 90370 | DECLINED-LIMITATIONS-ON-CUSTOMER-QUANTITY | Your account has reached the maximum number of top-ups allowed within a set time period. | You have reached your top-up limit for this period. Please try again later. |
| 90380 | DECLINED-DUPLICATED-TRANSACTION | The system blocked the transaction because a previous top-up to the same recipient was still being processed. This may also happen if the operator has restrictions on multiple transactions to the same number within a certain time frame. | Your transaction was blocked because a previous top-up to the same number is still being processed. Some operators also limit multiple top-ups within a short period. Please wait and try again later. |
| 90400 | DECLINED-OPERATOR-CURRENTLY-UNAVAILABLE | Transaction failed due to an outage and/or connection issue with the operator. Please try again later or contact the DT One Support Team if the problem persists. | Your transaction could not be processed due to a temporary service issue. Please try again later or contact the DT One Support Team if the issue persists. |