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

# Fetch the live Armature REST API OpenAPI 3.0 spec

> The Armature REST API publishes a live OpenAPI 3.0 document at /api/armature/v1/openapi. Use it to generate clients, import into Postman, or feed into API tooling.

The Armature REST API publishes its own OpenAPI 3.0 document. Fetch it once to generate a typed client, import it into Postman or Insomnia, or feed it into your internal API catalog.

```http theme={null}
GET /api/armature/v1/openapi
```

The document is unauthenticated and reflects the operations live on the host you fetch it from.

```bash theme={null}
curl https://your-org.armature.app/api/armature/v1/openapi > armature.openapi.json
```

The spec covers every operation under `/api/armature/v1/`:

* **org** — `GET /org`
* **mcpServers** — `GET`, `POST /mcp-servers`, `GET /mcp-servers/{id}`
* **workflows** — `GET`, `POST /workflows`, `GET`, `PATCH`, `DELETE /workflows/{id}`, `POST /workflows/{id}/runs`
* **runs** — `GET /runs`, `GET /runs/{id}`, `GET /runs/{id}/trace`, `GET /runs/{id}/evaluation`, `GET /runs/{id}/tool-calls`
* **insights** — `GET /insights/overview`, `GET`, `PATCH /insights/topics(/{id})`, `GET /insights/searches(/{id})`, `GET /insights/sessions`, `GET /insights/sessions/{id}/trace`

All operations use the same `bearerAuth` security scheme. Send your [Armature API key](/rest-api/authentication) as `Authorization: Bearer amt_<key-id>_<secret>`.

## Generate a client

Most OpenAPI generators accept the URL directly. A few examples:

```bash theme={null}
# openapi-typescript
bunx openapi-typescript https://your-org.armature.app/api/armature/v1/openapi -o armature.d.ts

# openapi-generator (JavaScript / Python / Go / Java / etc.)
openapi-generator-cli generate \
  -i https://your-org.armature.app/api/armature/v1/openapi \
  -g typescript-fetch \
  -o ./armature-client
```

## Import into Postman

In Postman, choose **Import → Link** and paste the OpenAPI URL. Postman creates a collection with one request per operation and stubs the `Authorization` header for the bearer token.

## Related

* [REST API overview](/rest-api/overview)
* [Authentication](/rest-api/authentication)
