{"templateId":"markdown","versions":[{"version":"2.0","label":"v2.0","link":"/percents-api/standards/errors","default":true,"active":true,"folderId":"27d36c3a"}],"sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Errors","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"errors","__idx":0},"children":["Errors"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Errors use a public response body that is safe for partners to log and send to Percents support."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"uuid\": \"err_aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa\",\n  \"code\": 400101,\n  \"httpStatusCode\": 400,\n  \"message\": \"Invalid request\",\n  \"reasonCode\": \"missing_required_field\",\n  \"details\": {\n    \"field\": \"cardId\"\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Meaning"},"children":["Meaning"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["uuid"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Unique error instance id. It uses the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["err_"]}," prefix and is the value support uses to find the exact failure."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["code"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Error class. Use this for durable handling when a workflow needs to branch by error category."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["httpStatusCode"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["HTTP status code associated with the response."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["message"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Public human-readable message."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["name"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional public error name."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["reasonCode"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional machine-readable reason within the error class."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["details"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional public structured context. Values are strings, numbers, booleans, or null."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Private messages, stack traces, internal model names, and internal diagnostics are not part of the public error body."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"handling-guidance","__idx":1},"children":["Handling Guidance"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Log the full public error response."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Show only appropriate public copy to cardholders."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Include ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["uuid"]}," when escalating to Percents."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Do not parse ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["message"]}," for workflow decisions."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Treat missing optional fields as normal."]}]}]},"headings":[{"value":"Errors","id":"errors","depth":1},{"value":"Handling Guidance","id":"handling-guidance","depth":2}],"frontmatter":{"seo":{"title":"Errors"}},"lastModified":"2026-07-21T18:22:26.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/percents-api/standards/errors","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}