---
title: "Extract Policy"
method: POST
path: "/api/policies/extract"
---

# Extract Policy

`POST /api/policies/extract`

## Request

- Base URL: `https://api.gethesperai.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.gethesperai.com/api/policies/extract`
- Auth: none declared

Kick off policy-PDF extraction as a background job; return its id.

Extraction runs Reducto's agentic deep_extract (~2-3 min) — too long to hold
the request open (proxy/LB idle timeouts, client spinner). The client polls
GET /api/policies/extract/{job_id} until status is completed, then renders
the fields as the pre-filled review form. Does NOT save.

## Headers

- `X-Team-Id` string, nullable

## Request body `multipart/form-data`

- BodyExtractPolicyApiPoliciesExtractPost
  - `file` string, binary, required

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/gethesperai/apis/hesper-ai-claims-investigator.md) - [All operations](https://skmtc.dev/gethesperai/apis/hesper-ai-claims-investigator/llms.txt) - [OpenAPI document](https://skmtc.dev/gethesperai/apis/hesper-ai-claims-investigator/revisions/1a031ee6acf1?raw)
