> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rubicourt.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Dispute lifecycle

> Statuses, what triggers each step, and the webhook you receive.

| Status | What is happening | Webhook |
| - | - | - |
| `open` | Both sides can add statements and files until `evidence_due_at` | `dispute.opened` |
| `deciding` | The AI is reading the record, usually under two minutes | |
| `needs_review` | A proposed decision waits for your reviewer | `dispute.needs_review` |
| `decided` | The decision is final. Carry it out. The review window runs until `review_due_at` | `dispute.decided` |
| `awaiting_agreement` | One side asked for arbitration; the other side has 14 days to agree | `dispute.arbitration_requested` |
| `escalated` | Both sides agreed and the arbitration case is open; `arbitration_case_id` is set | `dispute.escalated` |
| `closed` | The review window passed, or the other side declined or did not answer a request for arbitration | `dispute.closed` |
| `withdrawn` | The opener withdrew while it was open | `dispute.closed` |

## When the decision happens

A dispute moves from `open` to `deciding` at the first of these:

* both sides click "I'm done adding evidence" on their page;
* the evidence window ends (checked daily);
* you call `POST /v1/disputes/{id}/decide`.

## Your users' pages

Each buyer and seller gets a link by email: `https://rubicourt.com/d/{token}`. Opening it changes nothing, so email link scanners are harmless. If a user loses it, call `POST /v1/disputes/{id}/link` for a fresh one to show in your app; the old link stops working.

On the page they can:

* read the other side's reason;
* add statements and files (photos, PDFs, text, up to 4 MB);
* say they are done;
* after the decision, read the reasons, ask for a human review, or ask for arbitration;
* answer the other side's request for arbitration.

## Adding your own records

Use `POST /v1/disputes/{id}/evidence` to attach messages, tracking scans or account history, as text or files. They are marked as platform records.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.