FruxonDocs
ApiAgent takeovers

Opens a human takeover on a live conversation, routing it to a chosen operator on their own channel

The customer channel, business integration config, and session are all derived from the topic's persisted state — no live inbound is required. The operator must be an operator of the topic's network. Returns the opened takeover in the same shape as the active-escalations list. Fails `400` when the conversation has no network or no reachable channel, and `409` when a takeover is already active for the customer or the operator can't be reached.

POST
/v1/tenants/{tenant}/agents/{agent}/takeovers
AuthorizationBearer <token>

JWT Authorization header using the Bearer scheme. Enter 'Bearer' [space] and then your token.

In: header

Path Parameters

agent*string

The unique identifier of the agent.

tenant*string

The tenant identifier

The topic to take over and the operator to route it to.

topicId*string

The customer-owned topic to take over (identifies the customer, network, and session).

Formatuuid
operatorParticipantId*string

The operator to route the takeover to — must be an operator of the topic's network.

Formatuuid
reason?string|null

Optional context surfaced to the operator in the hand-off ping.

[key: string]?never

Response Body

curl -X POST "https://api.fruxon.com/v1/tenants/string/agents/string/takeovers" \  -H "Content-Type: application/json" \  -d '{    "topicId": "97b608a9-302e-4387-a5f4-fd35969cdc21",    "operatorParticipantId": "3a030ca5-8d8c-410c-82e4-9ecfd85bd83c"  }'
{
  "bridgeId": "00000000-0000-0000-0000-000000000000",
  "state": "PENDING",
  "topicId": "00000000-0000-0000-0000-000000000000",
  "customerParticipantId": "00000000-0000-0000-0000-000000000000",
  "customerDisplayName": "string",
  "operatorParticipantId": "00000000-0000-0000-0000-000000000000",
  "operatorDisplayName": "string",
  "topicGoal": "string",
  "topicPriority": "LOW",
  "reason": "string",
  "openedAt": 0,
  "activatedAt": 0,
  "lastActivityAt": 0
}
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "property1": null,
  "property2": null
}
Empty
Empty
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "property1": null,
  "property2": null
}
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "property1": null,
  "property2": null
}