---
title: legal.arbitrationOptOut | Doing Work API
description: The shop owner, on the hosted shop terms page, opts the shop out of section 19 arbitration and the class action waiver. Works within 30 days after the owne
url: https://doingwork.work/docs/reference/legal-arbitrationoptout/
---

# legal.arbitrationOptOut

The shop owner, on the hosted shop terms page, opts the shop out of section 19 arbitration and the class action waiver. Works within 30 days after the owner first accepted terms with section 19 for the shop (or, for a shop an agent signed up, after we emailed the owner the terms). Records the time, person, IP address and browser.

|  |  |
|---|---|
| Who | Hosted page only (a person does it in the browser) |
| REST | `POST /v1/legal/arbitration-opt-out` |
| MCP tool | Not an MCP tool |
| Writes | yes, send an Idempotency-Key |
| Area | [Sign-in and agent access](https://doingwork.work/docs/reference/#sign-in-and-agent-access) |

## When to use it

To start a new shop for someone, call shops.signUp once with accept_terms true, the shop name, the jurisdiction and the owner's name and email. That accepts the Terms of Service for the shop.

## What to tell the owner

Send the person the link. They finish this step themselves on the page; you never do it for them.

## Input

| Field | Type | Required |
|---|---|---|
| `shop_id` | string | yes |
| `confirm` | boolean | yes |

## Example

```http
POST https://doingwork.work/v1/legal/arbitration-opt-out
content-type: application/json
Idempotency-Key: 3f1c...

{
  "shop_id": "00000000-0000-4000-8000-000000000000",
  "confirm": true
}
```

## Output

| Field | Type | Always there |
|---|---|---|
| `shop_id` | string | yes |
| `shop` | string | yes |
| `current_version` | string | yes |
| `terms_url` | string | yes |
| `owner_accepted_current` | boolean | yes |
| `owner_accepted_at` | ['string', 'null'] | yes |
| `terms_emailed_at` | ['string', 'null'] | yes |
| `opt_out_window_start` | ['string', 'null'] | yes |
| `opt_out_deadline` | ['string', 'null'] | yes |
| `opt_out_open` | boolean | yes |
| `opted_out` | boolean | yes |
| `opted_out_at` | ['string', 'null'] | yes |
| `opted_out_by` | ['string', 'null'] | yes |
| `page_url` | string | yes |
| `already_opted_out` | boolean | yes |

```json
{
  "shop_id": "00000000-0000-4000-8000-000000000000",
  "shop": "...",
  "current_version": "...",
  "terms_url": "...",
  "owner_accepted_current": true,
  "owner_accepted_at": "...",
  "terms_emailed_at": "...",
  "opt_out_window_start": "...",
  "opt_out_deadline": "...",
  "opt_out_open": true,
  "opted_out": true,
  "opted_out_at": "...",
  "opted_out_by": "...",
  "page_url": "...",
  "already_opted_out": true
}
```

## Errors

| Code | Status | What to do |
|---|---|---|
| `invalid_input`, `invalid_token`, `rate_limited` |  | Can happen on any call. See [errors](https://doingwork.work/docs/errors/). |
