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

# List Policies

`GET /organization/usage/policies`

## Request

- Base URL: `https://api.traversal.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.traversal.com/organization/usage/policies`
- Auth: none declared

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' | 'worker': 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' | 'worker', 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

> 66 revisions in range; 9 not diffed.

- **2026-09-30** `4fa2a4911e01`: 1 warning, 1 info
  - added the new `worker` enum value to the `policies/items/scope` response property for the response status `200`
  - added the enum value `worker` to the property `anyOf[subschema #1: UsagePolicyScope]/` of the `query` request parameter `scope`
- **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

[Operation history](https://skmtc.dev/traversal/apis/traversal-api/changes/organization/usage/policies/get.md)

---

[API](https://skmtc.dev/traversal/apis/traversal-api.md) - [All operations](https://skmtc.dev/traversal/apis/traversal-api/llms.txt) - [OpenAPI document](https://skmtc.dev/traversal/apis/traversal-api/revisions/31e1a8b7cf89?raw)
