---
title: "Api Limit Policies List List"
method: GET
path: "/api/limit-policies/list/"
tags: ["platformApi"]
---

# Api Limit Policies List List

`GET /api/limit-policies/list/`

Live dashboard list. One row per active LimitPolicy with the current-window counter read from Redis — the same value ``apply_limits`` evaluates decisions against. Source: PG ``LimitPolicy.objects.filter(is_active=True)`` + pipelined ``HGET counter`` over ``limit:fw:<meter_id>`` in one RTT.

## Query parameters

- `page` integer
- `page_size` integer

## Headers

- `Authorization` string, required

## Response `200`

- PaginatedLimitPolicyStateRowList
  - `count` integer, required
  - `next` string, uri, nullable
  - `previous` string, uri, nullable
  - `total_count` integer
  - `current_filters` FilterParamDictPydantic — Pydantic model for FilterParamDict. A dictionary that maps metric names to their filter parameters. Each key is a metric name (str), and each value can be: - A single MetricFilterParamPydantic (one condition) - A List[MetricFilterParamPydantic] (multiple conditions for same metric) - A FilterBundlePydantic (nested filter bundle with connector) Note: Uses extra="allow" for dynamic metric name fields. The __pydantic_extra__ annotation tells Pydantic what types to expect for extra fields, and generates typed additionalProperties in JSON Schema.
  - `filters_data` PaginatedLimitPolicyStateRowListFiltersData
  - `results` LimitPolicyStateRow[], required
    - `policy_id` string, required — ``LimitPolicy.id`` (UUID).
    - `policy_name` string, required — Human-readable label — e.g. ``API Key: acme-prod`` for a single-dim policy, or ``API Key: acme × Model: gpt-4o`` for a composite. Resolved from PG reference tables by the ``enrich_policy_names`` pass.
    - `scope` string, required — Free-form display label set on the policy (``API Key``, ``Model``, ``Custom × Model``). Not used for matching.
    - `scope_value` string, required — The identity being metered. For composite policies (``compose`` length > 1) this is a canonical JSON list — decode with ``limit/utils/composite.py::decode_composite_scope_value``.
    - `compose` string[], required — Dimensions the policy composes (empty list for single-dim policies). Known dims: ``organization_id``, ``api_key_id``, ``user_id``, ``customer_identifier``, ``model``, ``endpoint``.
    - `metric` string, required — ``cost`` | ``request_count`` | ``token_count`` — which ch_meter column ``current_value`` was picked from.
    - `algorithm` string, required — ``balance_fixed_window`` | ``token_bucket``.
    - `period` string, required — Named bucket (``minute``/``hour``/``day``/``week``/``month``) or stringified seconds for custom windows.
    - `anchor` string, required — ``calendar`` | ``first_event`` | ``explicit_ts`` — how fixed windows line up against the epoch.
    - `priority` integer, required — Policy priority (higher = checked first).
    - `is_active` boolean, required
    - `meter_definition_id` string, required — Stable hash of the identity tuple. Joins this row to the policy-side config — useful if the FE needs a URL-safe handle for the metered definition independent of the window instance.
    - `threshold_value` number, double, required — Derived from ``rules`` — first hard rule's counter trigger value, or largest soft rule value if no hard rule is present. FE gauge shows ``current_value / threshold_value`` as consumed fraction. (After #2333 ``LimitPolicy`` no longer stores a standalone ``amount`` column — rules dominate.)
    - `meter_id` string, required — Runtime meter id for this row's window instance — ``{meter_definition_id}:{window_start_epoch}``.
    - `interval_start` integer, nullable, required — Epoch seconds. Inclusive start of the window instance this row aggregates. Null for algorithms without a window (e.g., token_bucket).
    - `interval_end` integer, nullable, required — Epoch seconds. Exclusive end of the window instance (= ``interval_start + period_seconds`` for fixed windows). Null for algorithms without a window.
    - `current_value` number, double, required — Consumed value (same unit as ``threshold_value``). For ``balance_fixed_window``: accumulated SUM of ``metric`` over this window instance. For ``token_bucket``: ``capacity - tokens_remaining`` so the FE gauge fills the same direction as fixed-window regardless of algorithm.
    - `tags` GenericTagDisplay[], required — ``GenericTag`` rows assigned to this policy via ``feature_type=limit_policies``. Managed through ``/api/tag-assignments/limit_policies/...``.
      - `id` string, required
      - `name` string, required
      - `color` string, required
      - `created_at` string, date-time, required
      - `updated_at` string, date-time, required

---

[API](https://skmtc.net/keywordsai/apis/api-reference.md) · [All operations](https://skmtc.net/keywordsai/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/keywordsai/api-reference/versions/c26d550029f8/schema)
