---
title: "Re-parent a mis-attached contact to the right company"
method: POST
path: "/api/v1/ackdb/contacts/{contactId}/move"
tags: ["ackDB"]
---

# Re-parent a mis-attached contact to the right company

`POST /api/v1/ackdb/contacts/{contactId}/move`

## Request

- Base URL: `http://localhost:3009`
- URL: `http://localhost:3009/api/v1/ackdb/contacts/{contactId}/move`
- Auth: HTTP bearer

The fix for a contact that was attached to the wrong company. A move is a **CORRECTION, not a job change**, so it RESTAMPS the edge's events onto the corrected company (`entity_events.entity_id`): that history was always about the target company — only the pointer was wrong. `contact.moved` { from_entity_id, to_entity_id } is emitted on the NEW company. The person is untouched.

**409** when the move would collide at the target: the person already has an active edge there (that is the same affiliation — merge the contacts instead of duplicating them), or an active contact there already holds this email.

A genuine job change is NOT a move — it is a new contact at the new company (and the old edge ends). Never restamp a transition.

## Path parameters

- `contactId` string, required

## Request body

- AckdbContactMoveRequest: Re-parent this edge to the company it really belongs to (a correction — its events move with it).
  - `entityId` string, required: The correct company.
  - `reason` string: Free-form operator note, recorded on the contact.moved event.

## Response `200`

`{ data: Contact, moved: { fromEntityId, toEntityId, eventsRestamped } }`.

- object
  - `data` unknown, required

## Other responses

- `400`: Missing entityId, or the contact already belongs to it.
- `404`: Contact or target entity not found.
- `409`: The person (or the email) already has an active contact at the target company.

---

[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)
