---
title: "List Policies"
method: GET
path: "/organization/usage/policies"
tags: ["usage"]
---

# List Policies

`GET /organization/usage/policies`

The caller's own organization's policies, as of ``date``.

``date`` is exclusive against creation and inclusive against retirement.
Omitting it reports on now.

## Query parameters

- `resource_kind` 'investigation' — A category of product activity metered and governed on its own. Two activities are different kinds when their accounting or entitlement behavior differs, not merely because a user would name them differently.
- `scope` 'user' | 'organization' | 'automation' — Whose consumption a policy counts. ``AUTOMATION`` counts the whole organization exactly as ``ORGANIZATION`` does and differs only in which activity it accepts: human and automated work draw on separate budgets, so each of those two scopes counts one of them and refuses the other.
- `date` string, date-time, nullable — Exclusive end of the window to report on, which selects what was live at that instant. Absent means the window containing now.

## Response `200`

Successful Response

- ListUsagePoliciesResponse — Response for ``GET /organization/usage/policies``. ``ceilings`` holds one entry per resource kind actually present in ``policies`` (or the filtered kind, if the caller named one) — never a single top-level value, since a ceiling is scoped to a resource kind and ``policies`` can span several.
  - `policies` UsagePolicy[], required
    - `id` string, uuid, required
    - `resource_kind` 'investigation', required — A category of product activity metered and governed on its own. Two activities are different kinds when their accounting or entitlement behavior differs, not merely because a user would name them differently.
    - `scope` 'user' | 'organization' | 'automation', required — Whose consumption a policy counts. ``AUTOMATION`` counts the whole organization exactly as ``ORGANIZATION`` does and differs only in which activity it accepts: human and automated work draw on separate budgets, so each of those two scopes counts one of them and refuses the other.
    - `policy_created_at` string, date-time, required
    - `display_title` string, required
    - `display_subtitle` string, nullable
    - `limit` integer, nullable — Absent when the policy imposes no limit.
  - `ceilings` ResourceKindCeiling[], required
    - `resource_kind` 'investigation', required — A category of product activity metered and governed on its own. Two activities are different kinds when their accounting or entitlement behavior differs, not merely because a user would name them differently.
    - `max_credit_limit` integer, nullable — Ceiling on the sum of this kind's policy limits; absent means no maximum.

## Other responses

- `422` — Validation Error

## Changes

> 57 revisions in range; 9 not diffed.

- **2026-09-11** `c5e1ea955e81` — 1 warning, 1 info
  - added the new `automation` enum value to the `policies/items/scope` response property for the response status `200`
  - added the enum value `automation` to the property `anyOf[subschema #1: UsagePolicyScope]/` of the `query` request parameter `scope`
- **2026-09-10** `47dcc19b4add` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/traversal/apis/fastapi/changes/organization/usage/policies/get.md)

---

[API](https://skmtc.dev/traversal/apis/fastapi.md) · [All operations](https://skmtc.dev/traversal/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc.dev/traversal/apis/fastapi/revisions/c3bd9dec6c16?raw)
