> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.merge.dev/merge-gateway/embedded-routing/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.merge.dev/_mcp/server. # Embedded Routing Stack > Reference for the Embedded Routing API: manage per-end-customer Customers with their routing policies, vendor keys, API keys, budgets, controls, guardrails, and usage. The Embedded Routing API lets a platform built on Gateway provision each end customer as a **Customer** with its own routing policies, BYOK vendor keys, budgets, and usage. Attach one to a model request with the `customer` field on [Create response](/merge-gateway/api-overview/responses/create) or any SDK-compatible surface. Walkthrough: [Embedded routing guide](/merge-gateway/embedded-routing-stack/overview). ## Base URL and authentication ```text https://api-gateway.merge.dev ``` Authenticate with the `mg_` API key you send model requests with; the organization comes from the key. ```http Authorization: Bearer mg_... ``` ## Reference | Endpoints under `/v1/customers` | What it covers | | -------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | | `/`, `/{customer_id}` | Create, list, update, and delete customers | | `/{customer_id}/routing-policies`, `/{customer_id}/default-routing-policy` | The customer's routing policies and its default | | `/{customer_id}/keys` | The customer's BYOK vendor keys. See [Customer keys](/merge-gateway/embedded-routing-stack/customer-keys). | | `/{customer_id}/api-keys` | [Customer API keys](/merge-gateway/embedded-routing-stack/customer-api-keys) bound to one customer, up to 5 each | | `/{customer_id}/budgets` | The customer's [budgets](/merge-gateway/embedded-routing-stack/budgets) | | `/{customer_id}/controls`, `/{customer_id}/models` | The customer's ZDR, vendor, and region controls, and the models it can route to | | `/{customer_id}/pi-settings`, `/{customer_id}/dlp-settings` | Per-customer prompt injection and DLP overrides | | `/usage`, `/{customer_id}/usage` | Spend across customers or for one. See [Usage](/merge-gateway/embedded-routing-stack/usage). | A customer API key can call only routes for its own customer, and changing budgets, controls, or anything but its own `name`, deleting itself, or minting keys returns `403`. Another customer's ID returns `404`. Errors use a [`detail` object](/merge-gateway/errors#management-and-platform-apis). ## Next steps #### [Embedded routing overview](/merge-gateway/embedded-routing-stack/overview) Scope requests and configuration to each customer #### [Customer API keys](/merge-gateway/embedded-routing-stack/customer-api-keys) Create keys scoped to one customer > Build once. Connect to every API, tool, and LLM. Ship products and agents to production without owning the integration stack. ## API Docs - Embedded Routing Stack > Customers [List customers](https://docs.merge.dev/merge-gateway/embedded-routing/customers/list-customers.md) - Embedded Routing Stack > Customers [Create customer](https://docs.merge.dev/merge-gateway/embedded-routing/customers/create-customer.md) - Embedded Routing Stack > Customers [Get customer](https://docs.merge.dev/merge-gateway/embedded-routing/customers/get-customer.md) - Embedded Routing Stack > Customers [Delete customer](https://docs.merge.dev/merge-gateway/embedded-routing/customers/delete-customer.md) - Embedded Routing Stack > Customers [Update customer](https://docs.merge.dev/merge-gateway/embedded-routing/customers/update-customer.md) - Embedded Routing Stack > Customers [List a customer's routable models](https://docs.merge.dev/merge-gateway/embedded-routing/customers/list-customer-models.md) - Embedded Routing Stack > Usage [List usage across customers](https://docs.merge.dev/merge-gateway/embedded-routing/usage/list-customers-usage.md) - Embedded Routing Stack > Usage [Get customer usage](https://docs.merge.dev/merge-gateway/embedded-routing/usage/get-customer-usage.md) - Embedded Routing Stack > Routing Policies [List routing policies](https://docs.merge.dev/merge-gateway/embedded-routing/routing-policies/list-routing-policies.md) - Embedded Routing Stack > Routing Policies [Create routing policy](https://docs.merge.dev/merge-gateway/embedded-routing/routing-policies/create-routing-policy.md) - Embedded Routing Stack > Routing Policies [Get routing policy](https://docs.merge.dev/merge-gateway/embedded-routing/routing-policies/get-routing-policy.md) - Embedded Routing Stack > Routing Policies [Delete routing policy](https://docs.merge.dev/merge-gateway/embedded-routing/routing-policies/delete-routing-policy.md) - Embedded Routing Stack > Routing Policies [Update routing policy](https://docs.merge.dev/merge-gateway/embedded-routing/routing-policies/update-routing-policy.md) - Embedded Routing Stack > Routing Policies [Set a customer's default routing policy](https://docs.merge.dev/merge-gateway/embedded-routing/routing-policies/set-customer-default-routing-policy.md) - Embedded Routing Stack > Customer Keys [List keys](https://docs.merge.dev/merge-gateway/embedded-routing/customer-keys/list-customer-keys.md) - Embedded Routing Stack > Customer Keys [Add provider key](https://docs.merge.dev/merge-gateway/embedded-routing/customer-keys/add-customer-key.md) - Embedded Routing Stack > Customer Keys [Delete provider key](https://docs.merge.dev/merge-gateway/embedded-routing/customer-keys/delete-customer-key.md) - Embedded Routing Stack > Customer API Keys [List API keys](https://docs.merge.dev/merge-gateway/embedded-routing/customer-api-keys/list-customer-api-keys.md) - Embedded Routing Stack > Customer API Keys [Mint API key](https://docs.merge.dev/merge-gateway/embedded-routing/customer-api-keys/create-customer-api-key.md) - Embedded Routing Stack > Customer API Keys [Revoke API key](https://docs.merge.dev/merge-gateway/embedded-routing/customer-api-keys/delete-customer-api-key.md) - Embedded Routing Stack > Budgets [List budgets](https://docs.merge.dev/merge-gateway/embedded-routing/budgets/list-budgets.md) - Embedded Routing Stack > Budgets [Create budget](https://docs.merge.dev/merge-gateway/embedded-routing/budgets/create-budget.md) - Embedded Routing Stack > Budgets [Get budget](https://docs.merge.dev/merge-gateway/embedded-routing/budgets/get-budget.md) - Embedded Routing Stack > Budgets [Delete budget](https://docs.merge.dev/merge-gateway/embedded-routing/budgets/delete-budget.md) - Embedded Routing Stack > Budgets [Update budget](https://docs.merge.dev/merge-gateway/embedded-routing/budgets/update-budget.md) - Embedded Routing Stack > Guardrails [Get customer PI settings](https://docs.merge.dev/merge-gateway/embedded-routing/guardrails/get-customer-pi-settings.md) - Embedded Routing Stack > Guardrails [Update customer PI settings](https://docs.merge.dev/merge-gateway/embedded-routing/guardrails/update-customer-pi-settings.md) - Embedded Routing Stack > Guardrails [Delete customer PI settings](https://docs.merge.dev/merge-gateway/embedded-routing/guardrails/delete-customer-pi-settings.md) - Embedded Routing Stack > Guardrails [Get customer DLP settings](https://docs.merge.dev/merge-gateway/embedded-routing/guardrails/get-customer-dlp-settings.md) - Embedded Routing Stack > Guardrails [Update customer DLP settings](https://docs.merge.dev/merge-gateway/embedded-routing/guardrails/update-customer-dlp-settings.md) - Embedded Routing Stack > Guardrails [Delete customer DLP settings](https://docs.merge.dev/merge-gateway/embedded-routing/guardrails/delete-customer-dlp-settings.md) - Embedded Routing Stack > Controls [Get customer controls](https://docs.merge.dev/merge-gateway/embedded-routing/controls/get-customer-controls.md) - Embedded Routing Stack > Controls [Replace customer controls](https://docs.merge.dev/merge-gateway/embedded-routing/controls/update-customer-controls.md) - Embedded Routing Stack > Controls [Clear customer controls](https://docs.merge.dev/merge-gateway/embedded-routing/controls/delete-customer-controls.md) ## OpenAPI Specification The raw OpenAPI 3.1 specification for this API is available at: - [OpenAPI JSON](https://docs.merge.dev/openapi.json) - [OpenAPI YAML](https://docs.merge.dev/openapi.yaml)