---
title: "List metric policies"
method: GET
path: "/v1/metric/policies"
tags: ["Metric Policy"]
---

# List metric policies

`GET /v1/metric/policies`

Returns a paginated list of metric policies for the project, including system policies.

## Query parameters

- `limit` integer — Maximum number of policies to return (default: 20, max: 50)
- `after` string — Cursor for pagination - use the nextCursor value from a previous response
- `status` 'ACTIVE' | 'INACTIVE' — Filter by policy status

## Response `200`

Paginated list of metric policies

- GetMetricPoliciesResponse — Paginated list of metric policies
  - `data` MetricPolicyResponse[], required
    - `id` string, uuid, required — Unique identifier of the metric policy
    - `name` string, required — Name of the metric policy
    - `type` 'SYSTEM' | 'USER', required — Type of the metric policy (SYSTEM or USER)
    - `status` 'ACTIVE' | 'INACTIVE', required — Status of the metric policy (ACTIVE or INACTIVE)
    - `conditions` object[], nullable, required — Condition groups for this policy. Null means the policy matches all calls.
      - `conditions` object[], required
        - `conditionType` 'AGENT' | 'CALL_SOURCE' | 'CALL_PROPERTY' | 'INTEGRATION', required — Type of condition: AGENT (match by agent ID), CALL_SOURCE (match by source e.g. VAPI, RETELL), CALL_PROPERTY (match by call property key/value)
        - `conditionKey` string, required — Key to match against. For AGENT: the agent ID. For CALL_SOURCE: the source name. For CALL_PROPERTY: the property key.
        - `conditionOperator` 'EQUALS' | 'NOT_EQUALS' | 'CONTAINS' | 'STARTS_WITH' | 'GREATER_THAN' | 'LESS_THAN' | 'GREATER_THAN_OR_EQUALS' | 'LESS_THAN_OR_EQUALS', nullable, required — Comparison operator. Required for CALL_PROPERTY conditions.
        - `conditionValue` string, nullable, required — Value to compare against. Required for CALL_PROPERTY conditions.
    - `metrics` object[], required — Metric definitions associated with this policy
      - `id` string, uuid, required
    - `createdAt` string, required — When the policy was created
    - `updatedAt` string, required — When the policy was last updated
  - `pagination` object, required
    - `total` number, required — Total number of items
    - `hasMore` boolean, required — Whether there are more items to fetch
    - `nextCursor` string, nullable, required — Cursor for the next page of items

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `429` — Too Many Requests
- `500` — Internal Server Error

---

[API](https://skmtc.net/roarkhq/apis/roark-analytics-api.md) · [All operations](https://skmtc.net/roarkhq/apis/roark-analytics-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/roarkhq/roark-analytics-api/revisions/83528d3618ef/schema)
