---
title: "Ticket counts by status"
method: GET
path: "/tickets/summary"
tags: ["tickets"]
---

# Ticket counts by status

`GET /tickets/summary`

## Request

- Base URL: `https://api.instruxi.dev/api/v1/enforcer`
- URL: `https://api.instruxi.dev/api/v1/enforcer/tickets/summary`
- Auth: one of:
  - API key in header `Authorization`
  - API key in header `X-API-Key`

Counts the caller-visible tickets per status under the SAME filters as GET /tickets (status itself is ignored — every status is reported). One query, no page cap: `?unassigned=true&source=support_contact` is the true human queue depth, however deep it is.

## Query parameters

- `priority` string
- `assignee` string
- `unassigned` boolean
- `requester` string
- `requester_group_id` string, uuid
- `source` string
- `q` string
- `tenant_id` string, uuid
- `all_tenants` boolean

## Response `200`

OK

- InternalDeliveryHttpHandlerTicketSummaryResponse
  - `data` InternalDeliveryHttpHandlerTicketSummary
    - `by_status` object
    - `total` integer
  - `success` boolean

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: forbidden: tenant_id/all_tenants beyond your own tenant without the cross_tenant grant
- `404`: group_not_found

---

[API](https://skmtc.dev/instruxi/apis/enforcer-api.md) · [All operations](https://skmtc.dev/instruxi/apis/enforcer-api/llms.txt) · [OpenAPI document](https://skmtc.dev/instruxi/apis/enforcer-api/revisions/fa82bc1becc0?raw)
