> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stateset.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List Job Tags V1

> Distinct tag values + counts across the tenant's jobs. Pairs with the ?tag= filter on GET /jobs for tag discovery…

Distinct tag values + counts across the tenant's jobs.

Pairs with the `?tag=` filter on `GET /jobs` for tag discovery.
Implementation pulls each tagged job's `params.tags` and aggregates
in Python — JSON-stored tags don't have a portable GROUP BY across
SQLite + Postgres, and tenant volume is bounded.

### Response

`TagListResponse`

<ResponseField name="rows" type="TagSummary[]" required>
  Distinct tag values, sorted by count descending. Empty when the tenant has no tagged jobs.

  <Expandable title="TagSummary">
    <ResponseField name="tag" type="string" required />

    <ResponseField name="count" type="integer" required>
      Number of jobs carrying this tag.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="total_unique_tags" type="integer" required />

### Status codes

| Code  | Meaning             |
| ----- | ------------------- |
| `200` | Successful Response |

<RequestExample>
  ```bash cURL theme={null}
  curl --request GET \
    --url 'https://api.computer.stateset.app/api/v1/tags' \
    --header 'X-API-Key: YOUR_API_KEY'
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "rows": [
      {
        "tag": "priority",
        "count": 2
      }
    ],
    "total_unique_tags": 1
  }
  ```
</ResponseExample>
