Errors & status codes
Every response uses standard HTTP status codes and the same JSON format, so errors can be handled with one pattern.
Status codes
| Status | Meaning | How to fix |
|---|---|---|
| 200OK | The request succeeded. | Read the result in data. |
| 400Bad Request | Invalid request: a required parameter is missing, the JSON body is malformed, or the file type is unsupported. | Check parameter names, types, and formats on the product page. |
| 401Unauthorized | Missing or invalid API key. | Send the x-api-co-id header with an active key. |
| 402Payment Required | Insufficient balance or subscription. | Top up in the Dashboard, then retry. |
| 403Forbidden | Access denied, e.g. account eKYC not approved for identity verification products. | Complete eKYC in the Dashboard or check product access. |
| 404Not Found | Data not found. | Check the ID, code, or number you sent. |
| 413Payload Too Large | File exceeds the size limit. | Shrink the file to the limit listed on the product page. |
| 422Unprocessable | Data failed validation. | Check field formats (e.g. NIK, date of birth) and value limits. |
| 429Too Many Requests | Quota or rate limit reached. | Slow down or wait for the quota to reset; upgrade your plan if needed. |
| 500Server Error | Error on our side. | Retry shortly; contact support if it persists. |
| 502Bad Gateway | The upstream provider returned an error. | Retry shortly. |
| 503Unavailable | The service or provider is temporarily unavailable. | Retry shortly. |
| 504Gateway Timeout | The provider did not respond in time. | Retry; use a generous timeout on your side. |
Not every product uses every code. Product pages list their specific error conditions.
Response format
Success and error responses share the same JSON envelope. Use is_success to check the outcome and message for error details.
Error response
{
"is_success": false,
"message": "User not authenticated",
"data": null
}
is_success:trueif the request succeeded,falseon error.message: a short message about the result.data: the main payload (object or array),nullon error.paging: only present on paginated endpoints.
Chat API
Chat API uses its own error format (error.code, error.message, error.details). See Chat API › Reference.
Was this page helpful?