---
title: "Resolve a tool's input/output schema for policy authoring"
method: GET
path: "/v1/policies/tool-schema"
tags: ["policies"]
---

# Resolve a tool's input/output schema for policy authoring

`GET /v1/policies/tool-schema`

## Query parameters

- `tool` string, required — canonical tool key, e.g. api:<uuid>

## Response `200`

Successful Response

- PolicyToolSchemaResponse — A tool_target's resolved input/output schema for the policy authoring surface.
  - `input_schema` object, nullable
  - `output_schema` object, nullable
  - `has_input` boolean, required
  - `has_output` boolean, required
  - `display_name` string, nullable

## Other responses

- `400` — Bad request
- `401` — Authentication required
- `404` — Resource not found
- `422` — Validation Error

## Changes

- **2026-08-12** `5a5597ebb2d6` — 6 info
  - added the optional property `retry_after` to the response with the `400` status
  - added the optional property `retry_after` to the response with the `401` status
  - added the optional property `retry_after` to the response with the `404` status
  - added the optional property `retryable` to the response with the `400` status
  - …2 more

[Change history](https://skmtc.dev/oneloop-hq/apis/feather-api/changes/v1/policies/tool-schema/get.md)

---

[API](https://skmtc.dev/oneloop-hq/apis/feather-api.md) · [All operations](https://skmtc.dev/oneloop-hq/apis/feather-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/oneloop-hq/feather-api/revisions/9cd7291d4228/schema)
