Errors
Validation and auth failures return standard HTTP status codes (400, 401, 429). The Eligibility Check also returns structured, machine-readable errors in its response body (EligibilityError) so you can show inline messages.
Eligibility error codes
A failed check returns eligible: false and one error per failed rule; a selection can fail several rules at once. Branch on scope first:
- Transaction-scoped —
transactionIdsnames the offending transactions. The member can adjust their selection and stay in the flow. - Member-scoped —
transactionIdsis empty. No selection change helps; direct the member to support.
Transaction-scoped codes
RAIL_MISMATCH— the selection mixes payment rails (e.g. ACH and Debit). Ask the member to pick a single rail.CARD_MISMATCH— the selection spans more than one card. Ask the member to pick a single card.TRANSACTION_NOT_FOUND— a selected id matches no transaction on the account. Refresh with List Disputable Transactions and re-select.TRANSACTION_NOT_DISPUTABLE— the transaction is excluded by the org's disputability rules (e.g. its type can't be disputed online). Direct the member to support.TRANSACTION_NOT_SETTLED— the transaction has not settled yet. Ask the member to retry after settlement.TRANSACTION_ALREADY_DISPUTED— the transaction is already part of an open dispute. Point the member to the existing one.TRANSACTION_OUTSIDE_ELIGIBILITY_WINDOW— the transaction is older than the org's configured window for online disputes. Direct the member to support.
Member-scoped code
MEMBER_INELIGIBLE— the member cannot file any dispute right now. Do not offer the flow; direct the member to support.
TRANSACTION_INELIGIBLE is deprecated and never returned anymore; match the specific TRANSACTION_* codes instead. Treat any code you do not recognize as a generic "can't dispute right now" state.