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

# Get Policy Input Schema

`GET /api/v1/proxies/{proxy_id}/schema/policy-input`

Return the policy field catalog for this proxy.

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

- `proxy_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-08-25** `e63bfe8e38b4` — 4 breaking, 4 info
  - the response property `items/added_at` became optional for the status `200`
  - the response property `items/last_seen_at` became optional for the status `200`
  - response property `items/added_at` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `items/last_seen_at` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - …4 more

[Change history](https://skmtc.dev/xenovia/apis/controlplane/changes/api/v1/proxies/:proxy_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-service-production.skmtc.workers.dev/v1/apis/xenovia/controlplane/revisions/18ce94490752/schema)
