# Serenity Edge > Serenity Edge is the OpenAI-compatible inference API of Substrate AI, run on its own GPU infrastructure in Spain. Prompts and completions are never written to disk or logs and never used for training. Base URL: `https://api.serenityedge.ai/v1`, with bearer authentication. Code that already uses an OpenAI SDK only needs a new base URL and API key. The live catalogue with context lengths and prices needs no key: `GET https://api.serenityedge.ai/v1/models` lists the chat models (OpenRouter provider schema) and `GET https://api.serenityedge.ai/v1/models?format=openai` lists every model with the endpoints it is served on. Each link below points to the Markdown version of a page; the same URL without `.md` is the HTML page. [llms-full.txt](https://docs.serenityedge.ai/llms-full.txt) holds the docs, guides, access pages and API reference in one file. ## Docs - [Getting started](https://docs.serenityedge.ai/docs/getting-started.md): Make your first request to Serenity Edge, the OpenAI-compatible inference API running on GPUs in Spain. - [Models](https://docs.serenityedge.ai/docs/models.md): The models available on Serenity Edge: the Orion family and the open models, with context, output limits and capabilities read from the API. - [Pricing and limits](https://docs.serenityedge.ai/docs/pricing-and-limits.md): Prices per million tokens, context window, output limits and rate-limit behaviour on Serenity Edge. - [Data residency and retention](https://docs.serenityedge.ai/docs/data-residency.md): Where Serenity Edge processes your data, what it keeps, for how long, and what it never does with it. ## Guides - [Streaming](https://docs.serenityedge.ai/docs/streaming.md): Receive chat completions as server-sent events, with token usage in the final chunk. - [Tool calling](https://docs.serenityedge.ai/docs/tool-calling.md): Let the model call your functions with the OpenAI tools and tool_choice parameters. - [Structured outputs](https://docs.serenityedge.ai/docs/structured-outputs.md): Constrain the response to plain text, any JSON object, or a JSON schema with response_format. - [Responses API](https://docs.serenityedge.ai/docs/responses-api.md): Call every chat model with OpenAI's Responses API (POST /v1/responses): stateless, with streaming events, function tools, structured outputs, reasoning and images. - [Coding agents](https://docs.serenityedge.ai/docs/coding-agents.md): Use OpenCode and Codex CLI with the Serenity Edge chat models. - [Decisions](https://docs.serenityedge.ai/docs/decisions.md): Typed, calibrated answers to typed questions with the Orion Compass and d3 decision models: POST /v1/decisions, in the format of OpenAI's Decisions API, and the Jev-compatible POST /v1/systemone. - [Embeddings, rerank and redaction](https://docs.serenityedge.ai/docs/embeddings-rerank-and-redaction.md): Vector embeddings with POST /v1/embeddings, reranking with POST /v1/rerank and personal-data redaction with POST /v1/redact: request and answer shapes, limits, billing and errors. - [Errors and rate limits](https://docs.serenityedge.ai/docs/errors-and-rate-limits.md): HTTP status codes, the error object and how to handle HTTP 429 with Retry-After. ## Access - [Serenity Star account](https://docs.serenityedge.ai/docs/access/serenity-star-account.md): Create API keys and buy prepaid credits for Serenity Edge from a Serenity Star account. - [Routers and marketplaces](https://docs.serenityedge.ai/docs/access/channels.md): Use Serenity Edge as a provider through a router or marketplace, with that platform's own account, key and billing. - [Enterprise](https://docs.serenityedge.ai/docs/access/enterprise.md): Committed capacity, service level agreements and contractual terms for Serenity Edge. - [OpenRouter onboarding](https://docs.serenityedge.ai/docs/access/openrouter.md): Status of the Serenity Edge onboarding on OpenRouter: what is ready, what will work once it is live, and what to use meanwhile. ## API reference - [OpenAPI specification](https://docs.serenityedge.ai/api/openapi.json): OpenAPI 3.1 description of every endpoint, request and answer (JSON). - [Serenity Edge API](https://docs.serenityedge.ai/docs/api/edge/serenity-edge-api.md): Serenity Edge exposes an OpenAI-compatible API for chat completions, embeddings and model discovery, a rerank API, a redaction API for personal data and, in preview, decisions: typed, calibrated answers to typed questions. Requests are authenticated with a bearer API key and served from GPUs in Valencia, Spain. Prompts and completions are never written to disk or logs; prompt prefixes may stay in a volatile memory cache for at most 24 hours. - [Create chat completion](https://docs.serenityedge.ai/docs/api/edge/create-chat-completion.md): Creates a model response for the given conversation. Set `stream: true` to receive the response as a stream of server-sent events; the final chunk carries the `usage` object when `stream_options.include_usage` is `true`. - [Create a model response](https://docs.serenityedge.ai/docs/api/edge/create-response.md): OpenAI's Responses API (`client.responses.create` in the OpenAI SDKs) over the same chat models as `POST /v1/chat/completions`, with the same keys, prices and limits. - [Create decision](https://docs.serenityedge.ai/docs/api/edge/create-decision.md): **Preview.** Answers typed questions about an input with calibrated probabilities instead of generated text, in the format of OpenAI's Decisions API (`client.decisions.create` in OpenAI's Python SDK). Each question is a `predicate` (yes or no), a `choice` (one of several typed values) or a `score` (one of 2 to 10 ordered levels); the answers come back in question order. - [Create decision (Jev format)](https://docs.serenityedge.ai/docs/api/edge/create-system-one-decision.md): **Preview.** The same decision models in the System One format of TypeSafe Jev (`POST /v1/systemone`), for callers and tools migrating from Jev: `state` is any JSON value, `questions` is an object keyed by your own ids, and the question types are `noul` (yes or no), `choice` and `score`, with the options or levels in `criteria`. The answers come back under the same ids. Add `'calibration': 'raw'` to get uncalibrated probabilities. - [Create embeddings](https://docs.serenityedge.ai/docs/api/edge/create-embedding.md): Turns text into vectors, in the format of OpenAI's embeddings API (`client.embeddings.create` in the OpenAI SDKs). `qwen3-embedding-0.6b` (alias `qwen/qwen3-embedding-0.6b`) returns one vector of 1024 numbers per input, for at most 512 inputs per request. - [Rerank documents](https://docs.serenityedge.ai/docs/api/edge/rerank-documents.md): Scores how relevant each document is to a query, in the format of the rerank APIs of Cohere and Jina, with `qwen3-reranker-0.6b` (alias `qwen/qwen3-reranker-0.6b`). At most 1000 documents per request, a query of at most 4096 characters and about 300,000 tokens (the estimate below); the model reads each document with the query up to 8,192 tokens. - [Redact personal data](https://docs.serenityedge.ai/docs/api/edge/redact-text.md): Finds personal data in text (names, email addresses, phone numbers, postal addresses, account numbers and more) and masks it, in the privacy filter's own format, with `privacy-filter` (alias `openai/privacy-filter`). `model` is optional. At most 256 inputs and a body of 192 KiB (196,608 bytes) per request. The text sent is processed in memory only: it is never written to disk or logs and never used for training. - [List models](https://docs.serenityedge.ai/docs/api/edge/list-models.md): Lists the models the API serves, as a catalogue document in the OpenRouter provider schema 2.4: one entry per model id with its name, context length, maximum output, prices per token (decimal strings in US dollars), streaming support and supported parameters. The `id` of each entry is the value to send as `model` in a chat completion. No API key is needed, and the endpoint answers cross-origin requests from browsers, which is how the tables on [Models](https://docs.serenityedge.ai/docs/models) and [Pricing and limits](https://docs.serenityedge.ai/docs/pricing-and-limits) are filled. ## Release notes - [Release 2026.11.06](https://docs.serenityedge.ai/release-notes/2026-11-06.md): Website - [Release 2026.11.05](https://docs.serenityedge.ai/release-notes/2026-11-05.md): API changes - [Release 2026.10.30](https://docs.serenityedge.ai/release-notes/2026-10-30.md): API changes - [Release 2026.10.29](https://docs.serenityedge.ai/release-notes/2026-10-29.md): API changes - [Release 2026.10.28](https://docs.serenityedge.ai/release-notes/2026-10-28.md): API changes - [Release 2026.10.27](https://docs.serenityedge.ai/release-notes/2026-10-27.md): API changes - [Release 2026.10.14](https://docs.serenityedge.ai/release-notes/2026-10-14.md): API changes - [Release 2026.10.13](https://docs.serenityedge.ai/release-notes/2026-10-13.md): API changes - [Release 2026.09.22](https://docs.serenityedge.ai/release-notes/2026-09-22.md): First publication of the Serenity Edge documentation. ## Optional - [Acceptable Use Policy](https://docs.serenityedge.ai/terms/acceptable-use.md) - [Legal document changelog](https://docs.serenityedge.ai/terms/changelog.md) - [Cookie Policy](https://docs.serenityedge.ai/terms/cookie-policy.md) - [Data Processing Agreement](https://docs.serenityedge.ai/terms/data-processing-agreement.md) - [Legal notice](https://docs.serenityedge.ai/terms/legal-notice.md) - [Privacy Policy](https://docs.serenityedge.ai/terms/privacy-policy.md) - [Sub-processors](https://docs.serenityedge.ai/terms/sub-processors.md) - [Terms of Service](https://docs.serenityedge.ai/terms/terms-of-service.md)