Skip to main content
Error format
Field definitions
  • type – A URI that names the error code: https://errors.lerian.studio/v1/<code>.
  • title – The HTTP status text.
  • status – The HTTP status code.
  • detail – A human-readable explanation of this error.
  • code – A stable identifier for the error (e.g. BTF-0010).
  • requestId – Correlation ID for the request. Present even when empty. Include it in support requests.
  • service – The service or domain that produced the error (e.g. plugin, crm, midaz, fees, jd_spb).
  • category – Machine-readable error category for retry decisions: deterministic, transient, rate_limit, or plugin.
  • errors – Optional. One entry for each rejected field, with message and location (body.<field> or query.<field>).
  • upstream – Optional. The error code that an upstream provider, such as JD SPB, returned. It is on upstream.code, verbatim.

Bank Transfer errors


The following errors can occur when interacting with the Bank Transfer endpoints. Each error follows our standard structure. Refer to the tables below for a list of possible error codes, what they mean, and how to resolve them.

202

400

401

403

404

409

410

422

When JD SPB answers an error with its own code, the problem document carries that code verbatim on upstream.code. Examples are ACE95 for request timeouts, AAC90 for invalid signature rejections, and ALN01 for control-number-not-found responses. Refer to the JD SPB vendor documentation for the full list and the corresponding retry policy for each code.

429

Rate-limit responses use the rate_limit category and include a Retry-After header. Back off using HTTP status 429 and that header.

500

502

503