Either party can cancel. The outcome depends on whether the counterparty has accepted:
Counterparty hasn’t accepted yet (invite_pending):
{ outcome: "cancelled" }Counterparty already accepted (active, funded, inspection):
disputed — 24-hour negotiation window begins{ outcome: "disputed", dispute_id }PATCH /dispute-resolveJWT access token obtained from /auth-verify (login context) or /auth-signup. Set the bearer_token environment variable in your API client to apply it globally.