---
title: "Get policy by ID"
method: GET
path: "/policies/{id}"
tags: ["Policies"]
---

# Get policy by ID

`GET /policies/{id}`

Returns a single policy by its ID, including assigned reviewer IDs.

## Path parameters

- `id` integer, required

## Response `200`

Policy retrieved successfully

- object
  - `message` string
  - `data` PolicyWithReviewers — A policy record with computed assigned reviewer IDs
    - `id` integer — Auto-generated primary key
    - `organization_id` integer — Tenant organization ID
    - `title` string — Policy title
    - `content_html` string — Full policy content as HTML
    - `status` string — Policy lifecycle status
    - `tags` string[] — Categorization tags
    - `next_review_date` string, date-time, nullable — Scheduled next review date
    - `author_id` integer — User ID of the policy creator
    - `last_updated_by` integer — User ID of the last editor
    - `last_updated_at` string, date-time — Timestamp of last update
    - `review_status` 'pending_review' | 'approved' | 'changes_requested' | 'null', nullable — Current review workflow status
    - `review_comment` string, nullable — Most recent review comment
    - `reviewed_by` integer, nullable — User ID of the last reviewer
    - `reviewed_at` string, date-time, nullable — Timestamp of last review action
    - `is_demo` boolean — Whether this is a demo/seed policy
    - `created_at` string, date-time — Row creation timestamp (set by database)
    - `assigned_reviewer_ids` integer[] — User IDs of assigned reviewers (aggregated from mapping table)

## Other responses

- `404` — unresolved $ref
- `500` — unresolved $ref

---

[API](https://skmtc.net/verifywise-ai/apis/verifywise-api.md) · [All operations](https://skmtc.net/verifywise-ai/apis/verifywise-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/verifywise-ai/verifywise-api/revisions/43f4f62c36f2/schema)
