---
title: "Cross-tenant Request ledger"
method: GET
path: "/v1/admin/requests"
tags: ["admin"]
---

# Cross-tenant Request ledger

`GET /v1/admin/requests`

## Request

- Base URL: `https://api.patricia.app` (the document declares no server; this is the origin it was published from)
- URL: `https://api.patricia.app/v1/admin/requests`
- Auth: HTTP bearer

## Query parameters

- `team_id` string, uuid, nullable
- `reporter_actor_id` string, uuid, nullable
- `source` 'slack' | 'teams' | 'web' | 'email' | 'system': Where a report originated. For a chat report it is the platform (``slack`` / ``teams``); the column is also the seam for external reporters (a public web form, an inbound email) later, so the sweep is source-neutral. Derived from the reporting platform, never hardcoded (a Teams report must not be stamped ``slack``).
- `intake_kind` 'bug' | 'feature', nullable
- `status_code` 'new' | 'triaging' | 'shipping' | 'shipped' | 'duplicate' | 'rejected' | 'drafted' | 'cancel_requested' | 'failed': The triage lifecycle of a single bug report (plain ``String`` column, not a PG enum).
- `severity` 'blocker' | 'high' | 'medium' | 'low'
- `area` string, nullable
- `priority` integer, nullable
- `confidence_min` number, nullable
- `confidence_max` number, nullable
- `linear_state_type` 'backlog' | 'unstarted' | 'started' | 'completed' | 'canceled'
- `duplicate_state` 'any' | 'only_duplicates' | 'only_originals'
- `related_run_id` string, uuid, nullable
- `created_after` string, date-time, nullable
- `created_before` string, date-time, nullable
- `search` string, nullable
- `limit` integer
- `sort_by` 'created_at:desc' | 'created_at:asc'
- `pq` string, nullable
- `from_prev` boolean

## Response `200`

Successful Response

- AdminRequestListResponse
  - `items` AdminRequestListItem[], required
    - `id` string, uuid, required
    - `team` AdminTeamRef, required
      - `id` string, uuid, required
      - `display_name` string, required
      - `unavailable` boolean
    - `reporter` AdminActorRef
      - `id` string, uuid, required
      - `display_name` string, required
      - `unavailable` boolean
    - `source` string, required
    - `intake_kind` string, required
    - `status_code` string, required
    - `severity` string, nullable
    - `area` string, nullable
    - `priority` integer, nullable
    - `confidence` number, nullable
    - `summary` string, required
    - `attempt_count` integer, required
    - `claimed` boolean, required
    - `shipped_at` string, date-time, nullable
    - `linear_issue_identifier` string, nullable
    - `linear_state_type` string, nullable
    - `duplicate_parent` AdminRequestRef
      - `id` string, uuid, required
      - `summary` string, required
      - `status_code` string, required
      - `source` string, required
      - `unavailable` boolean
    - `related_run` AdminRunRef
      - `id` string, uuid, required
      - `status_code` string, required
      - `trigger_code` string, required
      - `started_at` string, date-time, nullable
      - `unavailable` boolean
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
  - `first` string, nullable
  - `next` string, nullable
  - `previous` string, nullable

## Other responses

- `422`: Validation Error

---

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