Private preview of the new site. Not live.

shops.transferStart

Start handing the shop to a current worker (owner, on a hosted page). They accept on their own hosted page within 14 days, and ownership moves at once. If the shop has a payments account, it stops taking new payments and only settles what is in flight; the new owner connects their own.

WhoHosted page only (a person does it in the browser)
RESTPOST /v1/shops/transfers
MCP toolNot an MCP tool
Writesyes, send an Idempotency-Key
AreaShop

When to use it

Start handing the shop to a current worker (owner, on a hosted page). They accept on their own hosted page within 14 days, and ownership moves at once.

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

FieldTypeRequired
shop_idstring (uuid)yes
to_membership_idstring (uuid)yes
old_owner_stays_as_officebooleanno

Example

POST https://doingwork.work/v1/shops/transfers
content-type: application/json
Idempotency-Key: 3f1c...

{
  "shop_id": "00000000-0000-4000-8000-000000000000",
  "to_membership_id": "00000000-0000-4000-8000-000000000000"
}

Output

FieldTypeAlways there
transfer_idstring (uuid)yes
shop_idstring (uuid)yes
shopstringyes
from_person_idstring (uuid)yes
from_name['string', 'null']yes
to_person_idstring (uuid)yes
to_name['string', 'null']yes
statusstringyes
old_owner_stays_as_officebooleanyes
started_atstring (date-time)yes
expires_atstring (date-time)yes
completed_at['string', 'null', ' ', '(', 'd', 'a', 't', 'e', '-', 't', 'i', 'm', 'e', ')']yes
cancelled_at['string', 'null', ' ', '(', 'd', 'a', 't', 'e', '-', 't', 'i', 'm', 'e', ')']yes
processor_reverify_statusstringyes
you_arestringyes
{
  "transfer_id": "00000000-0000-4000-8000-000000000000",
  "shop_id": "00000000-0000-4000-8000-000000000000",
  "shop": "...",
  "from_person_id": "00000000-0000-4000-8000-000000000000",
  "from_name": "...",
  "to_person_id": "00000000-0000-4000-8000-000000000000",
  "to_name": "...",
  "status": "...",
  "old_owner_stays_as_office": true,
  "started_at": "...",
  "expires_at": "...",
  "completed_at": "...",
  "cancelled_at": "...",
  "processor_reverify_status": "...",
  "you_are": "..."
}

Errors

CodeStatusWhat to do
invalid_input, invalid_token, rate_limitedCan happen on any call. See errors.