# Gateway endpoints

What the Gateway exposes, for when you are integrating something yourself rather than
using the Endpoint Suite.

## Chat endpoints

| Path | Shape |
|---|---|
| `POST /v1/messages` | Anthropic — Claude Code |
| `POST /v1/chat/completions` | OpenAI — Cursor, Copilot |
| `POST /azure/openai/deployments/{deployment}/chat/completions` | Azure OpenAI |
| `POST /gemini/v1beta/models/{model}` | Gemini |

They mirror the upstream providers' own shapes, which is what makes governing existing
tools possible without modifying them.

## Supporting endpoints

- `GET /v1/models` — an OpenAI-compatible model list. VS Code Copilot's custom-endpoint
  feature probes this to populate its dropdown. It is a curated list, not a statement of
  what your organization is entitled to.
- `GET /v1/status` — per-provider health.
- `GET /healthz` — public liveness.

## MCP endpoints

- `POST /mcp/{alias}` — a routed remote MCP server, registered on MCP Inventory.
- `POST /mcp/decide` — the policy decision the Endpoint Suite's shim asks for.
- `POST /mcp/observations` — the shim reporting observed tool schemas and protocol
  versions.

## The public Observatory

`GET /v1/slopsquat/observatory` needs no authentication. It returns the anonymized feed of
commonly hallucinated package names. Use it in your own supply-chain checks if it is
useful.

## Two ways to authenticate

A normal `Authorization: Bearer` or `x-api-key` header, **or** a device token embedded in
the path. The Endpoint Suite uses the second form, because it can be written into a tool's
base URL setting where there is nowhere to put a header.