---
title: "Get Policy Input Schema"
method: GET
path: "/api/v1/agents/{agent_id}/schema/policy-input"
tags: ["agents"]
---

# Get Policy Input Schema

`GET /api/v1/agents/{agent_id}/schema/policy-input`

Return the policy field catalog for this agent.

Curated contract fields (grouped, typed, with stage availability) lead;
fresh observed fields reported by the runtime that the contract doesn't
cover follow as raw paths. Descriptions edited via this response are
preserved on future runtime updates.

## Path parameters

- `agent_id` string, uuid, required

## Headers

- `Authorization` string, nullable

## Response `200`

Successful Response

- PolicyInputFieldRead[]
  - `key` string, required
  - `value_type` string, required
  - `description` string, required
  - `group` string
  - `availability` string
  - `stages` string[]
  - `snippet` string
  - `added_at` string, date-time, nullable
  - `last_seen_at` string, date-time, nullable

## Other responses

- `422` — Validation Error

## Changes

- **2026-09-27** `b20a3bdd6219` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/xenovia/apis/controlplane/changes/api/v1/agents/:agent_id/schema/policy-input/get.md)

---

[API](https://skmtc.dev/xenovia/apis/controlplane.md) · [All operations](https://skmtc.dev/xenovia/apis/controlplane/llms.txt) · [OpenAPI document](https://skmtc.dev/xenovia/apis/controlplane/revisions/b20a3bdd6219?raw)
