---
title: "Transfer a member's book to another member"
method: POST
path: "/api/v1/ackdb/members/{id}/transfer"
tags: ["ackDB"]
---

# Transfer a member's book to another member

`POST /api/v1/ackdb/members/{id}/transfer`

## Request

- Base URL: `http://localhost:3009`
- URL: `http://localhost:3009/api/v1/ackdb/members/{id}/transfer`
- Auth: HTTP bearer

Hand off a departing member's active assignments (companies + contacts) to another member — the whole book (all:true) or a listed subset. Preserves each is_primary flag and emits ownership_transferred per owned account. Destination by toMemberId, else toEmail (resolves-or-creates).

## Path parameters

- `id` string, required

## Request body

- AckdbTransferBookRequest: Transfer a member's book (companies + contacts) to another member (#252). Destination by toMemberId OR toEmail. all:true moves the whole book; otherwise list entityIds/contactIds.
  - `toMemberId` string: Destination member id (mutually exclusive with toEmail).
  - `toEmail` string: Destination member email — resolves-or-creates.
  - `name` string: Used only when creating the destination member by a new email.
  - `title` string: Used only when creating the destination member by a new email.
  - `entityIds` string[]: Subset of companies to move.
  - `contactIds` string[]: Subset of contacts to move.
  - `all` boolean: true = move the member's entire active book.
  - `source` string: Provenance tag (default 'manual').

## Response `200`

{ fromMemberId, toMemberId, companies, contacts }.

- object
  - `data` unknown, required

## Other responses

- `400`: Missing destination, no targets, or self-transfer.
- `404`: Member not found.

---

[API](https://skmtc.dev/floqer/apis/floqer-public-api.md) - [All operations](https://skmtc.dev/floqer/apis/floqer-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/floqer/apis/floqer-public-api/revisions/fce50dc07b20?raw)
