Update routing user status

put/v1/routing/statuses/{id}
Requires any one of these rolesAbout roles
org.permission.routing_status.updateorg.permission.routing.update
Legacyorg.admin.routing.write

The API key or user must hold at least one of them. Legacy roles still work; prefer the others for new keys.

Updates a routing user status based on its unique ID.

About this resource

Routing user statuses

A routing user status is one of the states an agent can be in for routing, such as "Available", "Lunch" or "Training". Admins define the list; each status has a type that decides whether routing sends the agent new work.

Agents pick their status from the routing status menu in the agent desktop, and supervisors can change it for them. The status an agent is in right now lives on their work session, which points to one of these status records. Statuses are org-wide settings: admins create them in Kustomer's routing settings, and every team shares the same list.

Each org starts with built-in statuses, returned with system: true, such as the default available status and the busy status Kustomer sets for agents on a call or in wrap-up. Statuses you create sit alongside them, so an org can have several unavailable statuses ("Lunch", "Coaching", "Admin work") that routing treats the same way but that show up separately in utilization reporting.

Status types

statusType is what routing acts on. The name is only a label.

statusType Meaning
available Ready for new work. The only type that can receive routed items, so it's the only type with routable: true.
busy Occupied with work that isn't routed, such as a call. Counts toward queue staffing, but receives nothing new.
unavailable Signed in but not taking work, such as on a break.
offline Signed out. Switching to it ends the agent's work session.

You can create statuses of type available, unavailable or busy; offline is built in. The type is fixed when the status is created, so to change it, create a new status and disable the old one.

Fields

  • name is required, up to 150 characters, and must be unique in the org. It is stored lowercased and trimmed.
  • description is free text for admins.
  • externalId is your own identifier for the status, unique in the org, for keeping it in step with an outside system such as a phone or workforce management tool.
  • selectable controls whether agents can choose the status themselves. It defaults to false, so set it to true for statuses agents should see in their menu.
  • enabled retires a status without deleting it; there is no delete operation.
  • routable and system are read-only.

Which endpoint to use

To Call
List the org's statuses GET /v1/routing/statuses
Read one status GET /v1/routing/statuses/{id}
Add a status POST /v1/routing/statuses
Rename, describe or disable a status PUT /v1/routing/statuses/{id}
Put an agent into a status PUT /v1/routing/work-sessions/current for yourself, or PUT /v1/routing/work-sessions/{id} for another agent

Changing a status record doesn't change anyone's status. To move an agent, update their work session with the status ID. If an agent rejects a routed item or doesn't accept it in time, Kustomer moves them to an unavailable status so routing stops offering them work until they return.

Path parameters

idstringrequired
Example "5f184e74c61792001af42e49"

Request body

application/jsonrequired
namestring
min length 1 · max length 150
descriptionstring
max length 1024
externalIdstringnullable
max length 1024
enabledboolean

Responses

OK

objectrequired