---
title: "Get metric policy by ID"
method: GET
path: "/v1/metric/policies/{policyId}"
tags: ["Metric Policy"]
---

# Get metric policy by ID

`GET /v1/metric/policies/{policyId}`

## Request

- Base URL: `https://api.roark.ai`
- URL: `https://api.roark.ai/v1/metric/policies/{policyId}`
- Auth: HTTP bearer

Returns a specific metric policy with its conditions and metrics.

## Path parameters

- `policyId` string, uuid, required

## Response `200`

The requested metric policy

- object
  - `data` MetricPolicyResponse, required: A metric policy defining when metrics should be collected
    - `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
      - `settings` PolicyMetricSettings, required: The metric's per-collector setting. A metric takes at most one field, and which one depends on the metric: verifiedProperties for Property Verification, excludedPhrases for voice consistency, voicemailScript for voicemail, screeningBrief for call screening, toolDefinitionIds for tool invocation, knowledgeBaseDocumentIds for knowledge grounding. A field the metric doesn't take is rejected with a 400.
        - `verifiedProperties` string[]: Property Verification metrics: the conversation properties to check against the transcript. Empty or omitted checks every custom property.
        - `excludedPhrases` string[]: Voice consistency metrics: phrases whose agent lines are not judged, such as a recorded prompt in a different voice.
        - `voicemailScript` string: Voicemail metrics: the message the agent is expected to leave on voicemail.
        - `screeningBrief` string: Call screening metrics: what the agent should say when a screener asks who is calling and why.
        - `toolDefinitionIds` string[]: Tool invocation metrics: the tool definitions to score. Empty or omitted scores every tool the agent has.
        - `knowledgeBaseDocumentIds` string[]: Knowledge grounding metrics: the knowledge base documents to ground against, in priority order. Empty or omitted uses every knowledge base in the project.
    - `createdAt` string, required: When the policy was created
    - `updatedAt` string, required: When the policy was last updated

## Other responses

- `401`: Unauthorized
- `404`: Not Found
- `429`: Too Many Requests
- `500`: Internal Server Error

## Changes

> 187 revisions in range; 1 not diffed.

- **2026-10-17** `c967f955e67a`: 1 info
  - added the required property `data/metrics/items/settings` to the response with the `200` status
- **2026-08-17** `887b091b3d81`: 8 warning
  - added the new `conflict` enum value to the `type` response property for the response status `401`
  - added the new `conflict` enum value to the `type` response property for the response status `404`
  - added the new `conflict` enum value to the `type` response property for the response status `429`
  - added the new `conflict` enum value to the `type` response property for the response status `500`
  - …4 more

[Operation history](https://skmtc.dev/roarkhq/apis/roark-analytics-api/changes/v1/metric/policies/:policyId/get.md)

---

[API](https://skmtc.dev/roarkhq/apis/roark-analytics-api.md) - [All operations](https://skmtc.dev/roarkhq/apis/roark-analytics-api/llms.txt) - [OpenAPI document](https://skmtc.dev/roarkhq/apis/roark-analytics-api/revisions/1a91a5c90e44?raw)
