Skip to content
Last updated

Errors

Errors use a public response body that is safe for partners to log and send to Percents support.

{
  "uuid": "err_aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa",
  "code": 400101,
  "httpStatusCode": 400,
  "message": "Invalid request",
  "reasonCode": "missing_required_field",
  "details": {
    "field": "cardId"
  }
}
FieldMeaning
uuidUnique error instance id. It uses the err_ prefix and is the value support uses to find the exact failure.
codeError class. Use this for durable handling when a workflow needs to branch by error category.
httpStatusCodeHTTP status code associated with the response.
messagePublic human-readable message.
nameOptional public error name.
reasonCodeOptional machine-readable reason within the error class.
detailsOptional public structured context. Values are strings, numbers, booleans, or null.

Private messages, stack traces, internal model names, and internal diagnostics are not part of the public error body.

Handling Guidance

  • Log the full public error response.
  • Show only appropriate public copy to cardholders.
  • Include uuid when escalating to Percents.
  • Do not parse message for workflow decisions.
  • Treat missing optional fields as normal.