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

# Introduction

> The AI Gateway API: base URLs, the request formats it accepts, how to name a model, and what it does not serve.

The AI Gateway speaks the APIs your code already uses. Point your client at Altrum, send a [virtual key](/ai-gateway/virtual-keys) instead of a provider key, and keep the rest of your code. Requests and replies keep the shape of the API you called.

```bash theme={null}
curl https://api.altrum.ai/v1/chat/completions \
  -H "Authorization: Bearer $ALTRUM_VIRTUAL_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "openai/gpt-4o-mini", "messages": [{"role": "user", "content": "Say hello."}]}'
```

## Base URLs

| Format | Base URL | Endpoints |
| - | - | - |
| OpenAI | `https://api.altrum.ai/v1` | [Chat completions](/api-reference/openai/create-a-chat-completion), [Responses](/api-reference/openai/create-a-response), [Models](/api-reference/openai/list-models) |
| Anthropic | `https://api.altrum.ai/anthropic` | [Messages](/api-reference/anthropic/create-a-message), [Count tokens](/api-reference/anthropic/count-tokens), [Models](/api-reference/anthropic/list-models) |
| Gemini | `https://api.altrum.ai/genai` | [Generate content](/api-reference/gemini/generate-content), [Stream generated content](/api-reference/gemini/stream-generated-content) |
| MCP | `https://api.altrum.ai/mcp` | [MCP endpoint](/api-reference/mcp/mcp-endpoint), [Run a tool](/api-reference/mcp/run-a-tool) |

The OpenAI endpoints also answer under `https://api.altrum.ai/openai/v1`, for clients that expect that prefix. Cursor has its own base URL: see [Coding agents](/ai-gateway/coding-agents).

Any format can reach any provider your organization has a credential for. A request in the OpenAI format can be answered by an Anthropic model: Altrum converts it, and the reply comes back in the OpenAI format.

## Name a model

Name the provider, a slash, and the model:

| Provider | Example |
| - | - |
| OpenAI | `openai/gpt-4o-mini` |
| Anthropic | `anthropic/claude-sonnet-4-5` |
| Google Gemini | `gemini/gemini-3.5-flash` |
| Google Vertex AI | `vertex/gemini-3.5-flash` |
| Bedrock | `bedrock/<model id>` |
| Azure OpenAI | `azure/<model>` |

If you leave the provider out, Altrum picks one your organization can reach for that model. When none can, the request is refused with status 400 and the message `could not auto resolve a provider for the request, please specify a provider explicitly`. Add the provider to the model name.

Your organization may serve only the models it approved: see [Model catalog](/model-catalog). [List models](/api-reference/openai/list-models) returns the models your key may use.

## Fallbacks

Add `fallbacks` to any request body to name models to try, in order, if the first one fails:

```json theme={null}
{
  "model": "openai/gpt-4o-mini",
  "messages": [{"role": "user", "content": "Say hello."}],
  "fallbacks": ["anthropic/claude-sonnet-4-5"]
}
```

The response header `x-alt-fallback-index` tells you which one answered. See [Models and routing](/ai-gateway/models-and-routing).

## Not served

The AI Gateway does not serve embeddings, images, audio, video, batches, files or realtime sessions, and it does not store responses for you to fetch later. A request to any of those paths gets a 404.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.