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"
}
}| Field | Meaning |
|---|---|
uuid | Unique error instance id. It uses the err_ prefix and is the value support uses to find the exact failure. |
code | Error class. Use this for durable handling when a workflow needs to branch by error category. |
httpStatusCode | HTTP status code associated with the response. |
message | Public human-readable message. |
name | Optional public error name. |
reasonCode | Optional machine-readable reason within the error class. |
details | Optional 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.
- Log the full public error response.
- Show only appropriate public copy to cardholders.
- Include
uuidwhen escalating to Percents. - Do not parse
messagefor workflow decisions. - Treat missing optional fields as normal.