legal.acceptShopTerms
The shop owner, on the hosted shop terms page, ticks the box and accepts the current Terms of Service for the shop (accept_terms_version). Records the time, version, person, IP address and browser.
| |
|---|
| Who | Hosted page only (a person does it in the browser) |
| REST | POST /v1/legal/shop-terms/accept |
| MCP tool | Not an MCP tool |
| Writes | yes, send an Idempotency-Key |
| Area | 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.
| Field | Type | Required |
|---|
shop_id | string | yes |
accept_terms_version | string | yes |
Example
POST https://doingwork.work/v1/legal/shop-terms/accept
content-type: application/json
Idempotency-Key: 3f1c...
{
"shop_id": "00000000-0000-4000-8000-000000000000",
"accept_terms_version": "..."
}
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 |
acceptance_id | string | yes |
{
"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": "...",
"acceptance_id": "00000000-0000-4000-8000-000000000000"
}
Errors
| Code | Status | What to do |
|---|
invalid_input, invalid_token, rate_limited | | Can happen on any call. See errors. |