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

# Platform API

> One key-authenticated surface; templates are addresses.

## Base URL

```txt theme={null}
https://api.askeditor.com
```

Auth: `Authorization: Bearer <key>` on every call (except filling an upload
ticket, which is its own one-time credential). Every response is
wrapped `{ success, data }`; errors carry a typed `errorCode`.

| Endpoint                         | Purpose                                          |
| -------------------------------- | ------------------------------------------------ |
| `GET /v1/recipes`                | The template menu: contracts, prices, ETAs       |
| `GET /v1/estimate?recipeId={id}` | Free: price + typed blockers before any spend    |
| `POST /v1/uploads`               | Mint a one-time upload ticket                    |
| `POST /v1/uploads/{ticket}/file` | Fill the ticket from a shell (multipart, no key) |
| `GET /v1/uploads/{ticket}`       | Poll the ticket → the `material` handle          |
| `POST /v1/run/remove-background` | Synchronous run: the response is the result      |
| `GET /v1/jobs`                   | Recent jobs                                      |
| `GET /v1/jobs/{envelopeId}`      | One job's envelope (queued templates)            |
| `GET /v1/me`                     | Account, credits remaining, this key's scopes    |

The same surface is also mounted at `/api/mcp/v1/*` (the MCP connector's
address); the two are identical.

The full machine-readable spec lives at a stable URL:
[`/api-reference/openapi.json`](/docs/api-reference/openapi.json), generated from
the same registry as the Templates tab, so the two cannot disagree.
