---
title: "List rule packs"
method: GET
path: "/v1/trace/rule-packs"
tags: ["Trace"]
---

# List rule packs

`GET /v1/trace/rule-packs`

## Request

- Base URL: `https://api.pyai.com`
- URL: `https://api.pyai.com/v1/trace/rule-packs`
- Auth: one of:
  - HTTP bearer
  - API key in header `x-api-key`

Built-in packs (TCPA, HIPAA, PII, brand-voice) plus this tenant's custom uploads. Requires the `trace:configure` scope.

## Response `200`

Rule packs

- object
  - `object` string
  - `data` TraceRulePack[]
    - `object` string
    - `id` string
    - `pack_id` string
    - `version` string
    - `builtin` boolean: True for PyAI's bundled packs; false for tenant uploads.
    - `jurisdiction` string, nullable
    - `legal_status` string, nullable
    - `etag` string
    - `status` 'active' | 'deprecated'
    - `created_at` integer: Unix ms.
    - `spec` object: The authored DSL (only on the single-pack GET).

## Other responses

- `401`: Missing or invalid API key (`code: unauthorized`)

---

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