FruxonDocs
Agent NetworkGraph

Partially updates an operator's live status, presence, role keys, and/or pool.

Live drain/disable, presence, and retagging: set the status to `DISABLED` to drain the operator, set the presence to `AWAY` to mark them stepped-away (both skip the operator in escalation resolution; the row and its role keys / pool survive so re-activating restores it), replace the role keys, or set/clear the pool. Omitted fields stay unchanged. Applies immediately.

PATCH
/v1/tenants/{tenant}/networks/{network}/operators/{operator}
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
operator*string

The operator participant id.

Formatuuid
tenant*string

The tenant identifier

The status / role-key / pool changes.

status?string

Live operational status of a Fruxon.Model.AgentNetwork.NetworkOperatorMembership. A safety control an operator can flip without a deployment: a Fruxon.Model.AgentNetwork.NetworkOperatorStatus.Disabled operator is skipped by escalation resolution and the offer walk, but the membership row (and its role keys / pool) survives so re-activating restores the prior state without a re-add — the same live-override discipline as Fruxon.Model.AgentNetwork.NetworkMembershipStatus.

Value in"UNSPECIFIED" | "ACTIVE" | "DISABLED"
presence?string

An operator's self-service, transient availability within a Fruxon.Model.AgentNetwork.NetworkOperatorMembership — "am I at my desk right now" — as distinct from the admin-owned drain in Fruxon.Model.AgentNetwork.NetworkOperatorStatus ("is this person on the roster at all"). An operator is only offered an escalation when they are both Fruxon.Model.AgentNetwork.NetworkOperatorStatus.ActiveandFruxon.Model.AgentNetwork.NetworkOperatorPresence.Available; going Fruxon.Model.AgentNetwork.NetworkOperatorPresence.Away (e.g. before a shift ends or a vacation) makes escalation resolution skip them so the ladder falls through to the next operator / the network pool — without deleting the membership. Operators flip it themselves, either from the operators list or with a channel command on their own messaging channel.

Value in"UNSPECIFIED" | "AVAILABLE" | "AWAY"
presenceNote?string|null

Optional note to store when going AWAY (e.g. "on vacation"). Applied only when Fruxon.Model.AgentNetwork.PatchNetworkOperatorRequest.Presence is set.

roleKeys?|null

When present, replaces the operator's role keys (send [] to clear them). Null = unchanged.

poolKey?string|null

When present (and Fruxon.Model.AgentNetwork.PatchNetworkOperatorRequest.ClearPoolKey is false), sets the named pool. Blank is treated as null. Null = unchanged.

clearPoolKey?boolean

When true, clears the pool (un-pools the operator). Takes precedence over Fruxon.Model.AgentNetwork.PatchNetworkOperatorRequest.PoolKey.

[key: string]?never

Response Body

curl -X PATCH "https://api.fruxon.com/v1/tenants/string/networks/497f6eca-6276-4993-bfeb-53cbbbba6f08/operators/497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{}'
{
  "id": "00000000-0000-0000-0000-000000000000",
  "networkId": "00000000-0000-0000-0000-000000000000",
  "participantId": "00000000-0000-0000-0000-000000000000",
  "status": "ACTIVE",
  "presence": "AVAILABLE",
  "presenceChangedAt": 0,
  "presenceNote": "string",
  "activeConversationCount": 0,
  "roleKeys": [
    "string"
  ],
  "poolKey": "string",
  "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
}