Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions introduction.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,21 @@ Manifest is a smart model router for agents and AI applications that redirects e

This documentation will help you to get started and use Manifest to use AI efficiently and reduce your inference costs.

## Quick reference

| | |
|---|---|
| Cloud base URL | `https://app.manifest.build/v1` |
| Self-hosted base URL | `http://localhost:2099/v1` |
| Auth header | `Authorization: Bearer mnfst_<key>` |
| Get a key | [app.manifest.build](https://app.manifest.build) |
| Request model | `manifest/auto` (the only accepted value) |
| OpenAI endpoint | `POST /v1/chat/completions` |
| Anthropic endpoint | `POST /v1/messages` |
| Client SDK | None — use the official `openai` or `@anthropic-ai/sdk` packages with `baseURL` set |

The chosen provider model is returned in the response (e.g. `auto→claude-sonnet-4`). Provider-specific names like `gpt-4o-mini` are not accepted as the request model. Full details in the [API reference](/reference/api).

## Key features

<CardGroup cols={2}>
Expand Down
20 changes: 19 additions & 1 deletion reference/api.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,11 @@ Every request requires a Manifest agent key:
Authorization: Bearer mnfst_YOUR_KEY_HERE
```

Generate a key from the dashboard's **Agents** page. Keys always start with `mnfst_`.
To get one:

1. Sign up at [app.manifest.build](https://app.manifest.build).
2. Create an agent from the dashboard — its key is shown in the setup modal.
3. Pass the key as `Authorization: Bearer mnfst_<key>`. Keys always start with `mnfst_`; sending a token without that prefix returns error [M003](/errors/M003).

## Endpoints

Expand All @@ -37,7 +41,21 @@ The proxy translates between formats internally, so you can send an OpenAI-shape

## Chat completions

**Model identifier.** Pass `manifest/auto` — it is the only accepted request model. The chosen provider model is returned in the response (e.g. `auto→claude-sonnet-4`). Do not pass provider-specific names like `gpt-4o-mini` or `claude-sonnet-4` as the request model; they are not accepted.

```bash
# Cloud (default):
curl -X POST https://app.manifest.build/v1/chat/completions \
-H "Authorization: Bearer mnfst_YOUR_KEY_HERE" \
-H "Content-Type: application/json" \
-d '{
"model": "manifest/auto",
"messages": [
{"role": "user", "content": "What is the capital of France?"}
]
}'

# Self-hosted (Docker on default port):
curl -X POST http://localhost:2099/v1/chat/completions \
-H "Authorization: Bearer mnfst_YOUR_KEY_HERE" \
-H "Content-Type: application/json" \
Expand Down