Skip to main content
POST
/
api
/
departments
/
transfer
/
execute
Execute a user transfer using mappings from a scan
curl --request POST \
  --url https://your-instance.example.com/api/departments/transfer/execute \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "scanVersion": "v2026-05-18T12:00:00Z-abc123",
  "assignments": [
    {
      "userId": "65b1f0a2c3d4e5f6a7b8c9d0",
      "targetDepartmentId": "65c1a0b0c0d0e0f0a0b0c0d1"
    }
  ],
  "deleteSourceDepartmentId": "65c1a0b0c0d0e0f0a0b0c0d0"
}
'
{
  "transferId": "65d0a0b0c0d0e0f0a0b0c0d0",
  "status": "running",
  "progress": {
    "processed": 5,
    "total": 24
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.tetherai.ca/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
scanVersion
string
required

Token from the prior scan; rejected if stale to prevent applying an out-of-date plan.

assignments
object[]
required

Per-user transfer plan: source userId -> target department / new role / re-assignee.

deleteSourceDepartmentId
string

When set, the source department is deleted after the transfer succeeds (must be empty).

Response

Transfer accepted

transferId
string
status
string