---
title: "Merge another user into this one — moves identities + email aliases, deletes source"
method: POST
path: "/api/users/{id}/merge"
tags: ["Users"]
---

# Merge another user into this one — moves identities + email aliases, deletes source

`POST /api/users/{id}/merge`

## Path parameters

- `id` string, required

## Request body

- object
  - `sourceUserId` string, required

## Response `200`

Merged user

- object
  - `user` object, nullable, required
    - `id` string, required
    - `name` string, required
    - `email` string
    - `role` string
    - `notes` string
    - `emailAliases` string[]
    - `preferredChannel` string
    - `timezone` string
    - `metadata` object
    - `dailyBudgetUsd` number, nullable
    - `status` 'invited' | 'active' | 'suspended'
    - `createdAt` string, date-time, required
    - `lastUpdatedAt` string, date-time, required
    - `identities` object[], required
      - `kind` string, required
      - `externalId` string, required
    - `tokens` object[], required
      - `id` string, required
      - `userId` string, required
      - `label` string, nullable, required
      - `tokenPreview` string, required
      - `createdAt` string, required
      - `lastUsedAt` string, nullable, required
      - `revokedAt` string, nullable, required
    - `recentEvents` object[], required
      - `id` string, required
      - `userId` string, required
      - `eventType` string, required
      - `actor` string, required
      - `before` unknown
      - `after` unknown
      - `createdAt` string, required

## Other responses

- `400` — Validation error (e.g. target == source)
- `401` — Unauthorized
- `404` — Target or source user not found

---

[API](https://skmtc.net/desplega-ai/apis/agent-swarm-api.md) · [All operations](https://skmtc.net/desplega-ai/apis/agent-swarm-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/desplega-ai/agent-swarm-api/versions/ef761849166b/schema)
