Resolve a dispute
Records your decision on an open dispute. uphold keeps the charge, and a pending charge confirms at once. A confirmed charge goes back to confirmed, or locks at once if its horizon passed while the dispute was open. reverse reverses the charge and creates a reversal, even when the horizon has passed.
Authentication
A secret key (rl_sk_test_..., rl_sk_live_...) or a restricted key with limited scopes (rl_rk_test_..., rl_rk_live_...). A restricted key can carry agent: true and an expires_at, and is what a coding agent should hold. Keys end in a checksum so secret scanners can recognize them. People create, roll and revoke keys in the dashboard; GET /v1/api_keys lists them, masked.
Path parameters
The dispute ID (dsp_...).
Request
Response
open until decided. upheld: the charge stands. reversed: the charge was reversed.
Who decides. Always merchant (you).
The deadline. dispute.decision_due fires 24 hours before it.
What shows an outcome happened, stamped on the outcome charge. Keep it short and factual; it is shown to people deciding disputes. Free text is sanitized before it reaches dashboards or agent tools.
merchant if you decided, default if the deadline passed.
Who recorded the decision. Left out while open and when decided_by is default.