---
title: "List the desk's operators"
method: GET
path: "/products/help-desk/operators"
tags: ["help-desk"]
---

# List the desk's operators

`GET /products/help-desk/operators`

## Request

- Base URL: `https://api.sparkvault.com/v1`
- URL: `https://api.sparkvault.com/v1/products/help-desk/operators`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/sparkvault/apis/sparkvault-api/docs/products/help-desk/operators/get.ts> (a function with typed inputs; its response is checked against the schema)

One page of the organization's active members in name order, as the desk sees them: the organization's own roster its inbox shows, filters its assignee picker by and assigns by. Any member, from their own session, once the organization has a help desk (from its first activation on: a desk deactivated since, or whose subscription lapsed, included).

## Query parameters

- `team_id` string
- `cursor` string

## Response `200`

A page of operators.

- object
  - `data` HelpDeskOperatorsPage, required
    - `operators` HelpDeskOperatorListed[], required
      - `user_id` string, required
      - `name` string, nullable, required
      - `email` string, required
      - `team_id` string, nullable, required
      - `available` boolean, required: Whether balanced assignment gives them new requests.
      - `display_first` string, nullable, required: The first name derived from the operator's identity profile; null when the profile has no name, so customers see the generic label.
      - `display_last_initial` string, nullable, required
      - `avatar_handle` string, nullable, required: The opaque address of their avatar on the desk's portal; null before the desk first needed one.
      - `open_assigned_count` integer, required: Their open assigned requests.
      - `in_training` boolean, required: Every new public reply requires the designated manager to approve it.
      - `training_manager_id` string, nullable, required
      - `can_manage_training` boolean, required: An active Full License operator who is not in training; a candidate for another operator's manager.
      - `version` integer, required: The version required when changing training assignment.
    - `count` integer, required
    - `has_more` boolean, required
    - `next_cursor` string, nullable, required: Opaque continuation token. Null when the listing is exhausted.
  - `meta` ResponseMeta: Envelope metadata present on every successful response.
    - `api_version` string
    - `request_id` string
    - `response_ms` integer
    - `timestamp` integer: Unix seconds.
    - `pools` object: Storage and bandwidth capacity snapshot for the account.
    - `billing` object
      - `past_due` boolean
    - `quota` object: This minute of the account request budget. Present on authenticated success responses that passed the throttle; absent otherwise.
      - `limit` integer
      - `used` integer
      - `remaining` integer
      - `resets_at` integer: Unix seconds.

## Other responses

- `400`: VALIDATION_ERROR — `team_id` is neither a team id nor `none`, or the cursor is not one this list issued.
- `401`: AUTHENTICATION_ERROR — missing or invalid credentials.
- `403`: FORBIDDEN — the credential is an API key or an impersonated session: the help desk is worked from a member's own session. HELP_DESK_SUBSCRIPTION_REQUIRED — a change that needs the help desk, on an organization that does not hold it.
- `409`: HELP_DESK_NOT_ACTIVE — the organization has no help desk yet: it has never activated one.

## Changes

- **2026-10-28** `a9a10e328ba5`: 16 info
  - the response property `error/details` became required for the status `400`
  - the response property `error/details` became required for the status `401`
  - the response property `error/details` became required for the status `403`
  - the response property `error/details` became required for the status `409`
  - …12 more
- **2026-10-28** `56d7c265a77a`: 4 breaking
  - the response property `error/details` became nullable for the status `400`
  - the response property `error/details` became nullable for the status `401`
  - the response property `error/details` became nullable for the status `403`
  - the response property `error/details` became nullable for the status `409`
- **2026-10-27** `ac44ec1f8cfa`: 4 info
  - added the required property `data/operators/items/can_manage_training` to the response with the `200` status
  - added the required property `data/operators/items/in_training` to the response with the `200` status
  - added the required property `data/operators/items/training_manager_id` to the response with the `200` status
  - added the required property `data/operators/items/version` to the response with the `200` status
- **2026-10-22** `f5ac9c809ef7`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/sparkvault/apis/sparkvault-api/changes/products/help-desk/operators/get.md)

---

[API](https://skmtc.dev/sparkvault/apis/sparkvault-api.md) - [All operations](https://skmtc.dev/sparkvault/apis/sparkvault-api/llms.txt) - [OpenAPI document](https://skmtc.dev/sparkvault/apis/sparkvault-api/revisions/97cfadccd0c0?raw)
