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 — transactionIds names the offending transactions. The member can adjust their selection and stay in the flow.
  • Member-scoped — transactionIds is 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.