> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sylvian.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Forms API overview

> Parse PDFs and fill forms programmatically.

Use the Forms API to parse PDFs, fill forms from natural-language instructions, and download completed documents.

## Base URL

Use your deployed API host:

`https://api.sylvian.ai`

## Authentication

Protected endpoints require:

* `X-API-Key: forms_sk_...`

## Core workflow

1. Call `POST /parse` with a PDF file.
2. Poll `GET /parse/{job_id}` until `status = succeeded`.
3. Call `POST /fill` with the parsed `file_id` and your prompt.
4. Poll `GET /fill/{job_id}` until `status = succeeded`.
5. Download from the returned `download_url`.

This API is asynchronous by design. Write clients to submit work, poll status, then continue once a job succeeds.

## Parse example

```bash theme={null}
curl -X POST "https://api.sylvian.ai/parse" \
  -H "X-API-Key: forms_sk_your_key" \
  -F "file=@sample.pdf"
```

## Fill example

```bash theme={null}
curl -X POST "https://api.sylvian.ai/fill" \
  -H "X-API-Key: forms_sk_your_key" \
  -F "file_id=<parsed-file-id>" \
  -F "prompt=Fill in the customer name, date, and signature fields."
```

## Endpoints

**OpenAPI-backed schemas** from [openapi.json](https://api.sylvian.ai/openapi.json) keep request and response structures in sync with the live API.

* `GET /`
* `POST /parse`
* `GET /parse/{job_id}`
* `POST /fill`
* `GET /fill/{job_id}`
* `GET /download/{token}`
