> ## 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.

# Human review and escalation

> How your users challenge a decision, and how it reaches a licensed arbitrator.

## Human review

After a decision, either side can ask once for a person to review it. The dispute returns to `needs_review` with their reasons attached, and you receive `dispute.needs_review`. Your reviewer then calls `/review`:

```json Approve theme={null}
{ "action": "approve", "reviewer": "Jo Park, Trust & Safety", "note": "Seller had no packing photos." }
```

```json Override theme={null}
{
  "action": "override",
  "reviewer": "Jo Park, Trust & Safety",
  "outcome": "refund_partial",
  "refund_cents": 45000,
  "return_required": false,
  "note": "The seller filed a carrier claim; we are splitting the loss while it is pending."
}
```

An override's `note` becomes the reasons both sides see.

## Escalation to arbitration

When `arbitration_enabled` is true, a party can take the decision to binding arbitration during the review window. The amount in dispute is:

* for the buyer, what they did not get back;
* for the seller, what they had to refund.

Arbitration needs both sides to agree after the dispute arose (during the pilot, [Rule 1(b)](https://rubicourt.com/rules/2027.1#rule-1)). When a party asks:

1. the dispute moves to `awaiting_agreement` and you receive `dispute.arbitration_requested` with `answer_due_at`;
2. the other side has 14 days to agree or decline on their dispute page;
3. if they decline or do not answer, the dispute closes (`dispute.closed`, with `resolution` set to `arbitration_declined` or `arbitration_not_agreed`) and your decision stands.

If they agree, Rubicourt:

1. opens an arbitration case with the requesting party as claimant;
2. attaches every file from the dispute, the transaction record, and a record of both sides' statements and your decision's outcome;
3. assigns an arbitrator at random and emails both parties;
4. sends you `dispute.escalated` with `case_id`. From then on, follow the case with the [arbitration API](https://docs.rubicourt.com/arbitration/cases.md).

The arbitrator decides the claim afresh. The award replaces your Resolve decision.

## Keeping Resolve and arbitration apart

Rubicourt runs your dispute service and also administers the arbitration, so:

* the arbitrator never sees reasoning written by Resolve's AI. Reasons your own reviewer wrote are passed on as your platform's position;
* every arbitrator disclosure, and the request your user sees, states that Rubicourt runs your dispute service under a paid contract;
* arbitrators have no role in Resolve.

> [!NOTE]
>
> Only enable arbitration if your terms of service include an agreement to arbitrate with Rubicourt. Individuals pay at most \$50; your platform pays the rest of the flat fee.


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