---
title: shops.transferAccept | Doing Work API
description: Accept a hand-off and become the shop's owner (the person asked, on a hosted page). The person agrees to the Terms of Service by ticking a box (accept_term
url: https://doingwork.work/docs/reference/shops-transferaccept/
---

# shops.transferAccept

Accept a hand-off and become the shop's owner (the person asked, on a hosted page). The person agrees to the Terms of Service by ticking a box (accept_terms_version); the record keeps the version, time, IP address and browser. Comes back with status expired when the 14 days ran out. Every sent invoice nobody has paid yet is voided and reissued as a draft with the same lines (invoices_reissued), so it pays into your payments account once you finish payment setup and send it. Customers are not emailed. Partly paid invoices, ones with a payment going through and ones with a card checkout open stay as they are and collect on your account once it is set up (invoices_kept).

|  |  |
|---|---|
| Who | Hosted page only (a person does it in the browser) |
| REST | `POST /v1/shops/transfers/accept` |
| MCP tool | Not an MCP tool |
| Writes | yes, send an Idempotency-Key |
| Area | [Shop](https://doingwork.work/docs/reference/#shop) |

## When to use it

Accept a hand-off and become the shop's owner (the person asked, on a hosted page). The person agrees to the Terms of Service by ticking a box (accept_terms_version); the record keeps the version, time, IP address and browser.

## 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 |
|---|---|---|
| `transfer_id` | string (uuid) | yes |
| `accept_terms_version` | string | yes |

## Example

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

{
  "transfer_id": "00000000-0000-4000-8000-000000000000",
  "accept_terms_version": "..."
}
```

## Output

| Field | Type | Always there |
|---|---|---|
| `transfer_id` | string (uuid) | yes |
| `shop_id` | string (uuid) | yes |
| `shop` | string | yes |
| `from_person_id` | string (uuid) | yes |
| `from_name` | ['string', 'null'] | yes |
| `to_person_id` | string (uuid) | yes |
| `to_name` | ['string', 'null'] | yes |
| `status` | string | yes |
| `old_owner_stays_as_office` | boolean | yes |
| `started_at` | string (date-time) | yes |
| `expires_at` | string (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_status` | string | yes |
| `you_are` | string | yes |
| `invoices_reissued` | array | yes |
| `invoices_reissued[].voided_invoice_id` | string (uuid) | yes |
| `invoices_reissued[].new_invoice_id` | string (uuid) | yes |
| `invoices_reissued[].total_minor` | integer | yes |
| `invoices_kept` | array | yes |
| `invoices_kept[].invoice_id` | string (uuid) | yes |
| `invoices_kept[].reason` | string | yes |

```json
{
  "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": "...",
  "invoices_reissued": [
    {
      "voided_invoice_id": "00000000-0000-4000-8000-000000000000",
      "new_invoice_id": "00000000-0000-4000-8000-000000000000",
      "total_minor": 50000
    }
  ],
  "invoices_kept": [
    {
      "invoice_id": "00000000-0000-4000-8000-000000000000",
      "reason": "..."
    }
  ]
}
```

## Errors

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