---
title: "List the routing rules"
method: GET
path: "/products/help-desk/routing-rules"
tags: ["help-desk"]
---

# List the routing rules

`GET /products/help-desk/routing-rules`

## Request

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

The desk's routing rules in order, the version a save is made against, and the rules that can never match. Any member, from their own session.

## Response `200`

The routing rules.

- object
  - `data` HelpDeskRoutingRules, required
    - `version` integer, required: The version a save is made against; 0 before the first save.
    - `rules` HelpDeskRoutingRule[], required: In order: the first enabled rule that matches wins.
      - `rule_id` string, required
      - `name` string, required
      - `enabled` boolean, required
      - `match` 'all' | 'any', required
      - `domains` string[], required
      - `include_subdomains` boolean, required
      - `keywords` string[], required
      - `actions` HelpDeskRoutingActions, required: What a matching rule does to a new request; at least one.
        - `team_id` string: The team the request goes to.
        - `add_tags` string[]: Tags the request gets, stored in lowercase.
        - `set_priority` 'urgent' | 'high' | 'normal' | 'low'
    - `shadowed_rule_ids` string[], required: Enabled rules an earlier enabled rule always wins over, so they never match.
  - `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

- `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.

## Changes

- **2026-10-28** `a9a10e328ba5`: 8 info
  - 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 `meta` became required for the status `401`
  - the response property `meta` became required for the status `403`
  - …4 more
- **2026-10-28** `56d7c265a77a`: 2 breaking
  - the response property `error/details` became nullable for the status `401`
  - the response property `error/details` became nullable for the status `403`
- **2026-10-22** `f5ac9c809ef7`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/sparkvault/apis/sparkvault-api/changes/products/help-desk/routing-rules/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)
