FruxonDocs
Agent NetworkGraph

Replaces the Network's only escalation desk.

Full replace, creating the desk (attached nowhere) when the Network has none. Every operator must be an active operator of the Network (enroll them via the operators directory first); an unknown or non-operator participant yields `400 Bad Request` — a customer can never be an operator. A `mode` other than the desk's own, or a Network with more than one desk, yields `409 Conflict`. Applies immediately.

PUT
/v1/tenants/{tenant}/networks/{network}/escalationPolicy
AuthorizationBearer <token>

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

In: header

Path Parameters

network*string

The owning Network id.

Formatuuid
tenant*string

The tenant identifier

The escalation ladder to set.

tiers?

The ordered escalation ladder. Every operator must be an active operator of the network.

defaultReason?string|null

Optional fallback reason used when a member escalates without giving one.

mode?string

How a chosen operator receives the conversation: DeliveryMode.Bridge (Fruxon relays; operator can be on any channel) or DeliveryMode.NativeHandoff (page the operator and step back; the source console owns the live conversation). Omitted → DeliveryMode.Bridge, the long-standing behaviour.

Value in"UNSPECIFIED" | "BRIDGE" | "NATIVE_HANDOFF"
consoleMuteTrigger?string

Console-routed only: when the agent steps back once the conversation is queued to the console — ConsoleMuteTrigger.OnQueued (immediately; default) or ConsoleMuteTrigger.OnAssigned (keep helping until a human takes the chat). Omitted → ConsoleMuteTrigger.OnQueued. No effect under DeliveryMode.Bridge.

Value in"UNSPECIFIED" | "ON_QUEUED" | "ON_ASSIGNED"
afterHoursConsoleMuteTrigger?string

Console-routed only: what UpdateNetworkEscalationPolicyRequest.ConsoleMuteTrigger becomes while the team is outside its UpdateNetworkEscalationPolicyRequest.WorkingHoursScheduleId hours. Omitted or null → the same as during working hours. Typically ConsoleMuteTrigger.OnAssigned, so a chat queued for a team that is off keeps its agent until someone actually takes it. Has no effect without working hours.

Value in"UNSPECIFIED" | "ON_QUEUED" | "ON_ASSIGNED"
checkBackEnabled?boolean

Whether post-hand-back verification and its auto-close backstop are enabled.

stalledTakeoverUnmuteEnabled?boolean

Whether a console takeover a person has left unanswered past the watchdog's threshold is handed back to the assistant, replaying the customer's withheld messages into its next turn. Omitted means false, the fail-safe direction: an unset field turns the reclaim off rather than on. Alerting about a stalled takeover is not set here and stays on.

workingHoursScheduleId?string|null

The working hours of the team this Application escalates to. Omitted or null → none: the team is treated as always available. Must name working hours in this workspace.

Formatuuid
[key: string]?never

Response Body

curl -X PUT "https://api.fruxon.com/v1/tenants/string/networks/497f6eca-6276-4993-bfeb-53cbbbba6f08/escalationPolicy" \  -H "Content-Type: application/json" \  -d '{}'
{
  "networkId": "00000000-0000-0000-0000-000000000000",
  "tiers": [
    {
      "operatorParticipantIds": [
        "00000000-0000-0000-0000-000000000000"
      ],
      "strategy": "FIRST_AVAILABLE"
    }
  ],
  "defaultReason": "string",
  "mode": "BRIDGE",
  "consoleMuteTrigger": "ON_QUEUED",
  "afterHoursConsoleMuteTrigger": "ON_QUEUED",
  "checkBackEnabled": false,
  "stalledTakeoverUnmuteEnabled": false,
  "workingHoursScheduleId": "00000000-0000-0000-0000-000000000000",
  "doorways": [
    {
      "provider": "string",
      "supportsNativeHandoff": false
    }
  ],
  "createdAt": 0,
  "modifiedAt": 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
}