---
title: "Get a policy"
method: GET
path: "/api/v1/policies/{policyId}"
tags: ["Policies"]
---

# Get a policy

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

## Request

- Base URL: `https://policyforge.co`
- URL: `https://policyforge.co/api/v1/policies/{policyId}`
- Auth: HTTP bearer

Retrieve full details of a specific policy including its content, hosting information, and metadata.

## Response `200`

Policy details

- PolicyDetailResponse
  - `id` string, uuid
  - `type` string
  - `policy_type` string: Alias of `type` (same value)
  - `title` string
  - `content` string
  - `created_at` string, date-time
  - `updated_at` string, date-time
  - `published_at` string, date-time, nullable
  - `effective_date` string, date, nullable
  - `status` string
  - `hosting_enabled` boolean
  - `hosted_url` string, uri
  - `url_slug` string

## Other responses

- `401`: Missing or invalid API key
- `404`: Resource not found
- `429`: Rate limit exceeded

---

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