Skip to main content

📄 Guide

This page is the complete set of error codes for the Corporate Card open API: 11 general codes and 52 business codes. Use it as a quick reference — the trigger conditions and request details for each code live in the guide pages named in the “Returned by” column. Three rules for handling errors:
  1. Branch on the error code, never parse message: message is for humans and its wording will change; the code is the contract.
  2. Never judge success by HTTP status: business failures currently return HTTP 500 across the board. The only reliable test is code == "SYS_SUCCESS".
  3. SYS_ERROR and DAPI_SERVICE_UNAVAILABLE mean the outcome is unknown: for money-moving calls (transfers, card applications) retry with the same idempotency key or reconcile by query — do not treat them as failures outright. If you meet a code not listed here, treat that call as failed; never treat it as success.
Batch endpoints (rule bind / unbind) report errors on two levels: batch-level errors in the top-level code, and per-item failure reasons in data.failTargets[].errorCode, drawn from the same code set. See Binding and unbinding.

General error codes

Independent of any specific endpoint; any call may return them. The body is the standard envelope { code, message, data }.

Response envelope

Authentication and gateway checks

Business error codes

Next steps