Fire Mission docs
Fire Mission speaks the OpenAI and Anthropic wire formats. Point your existing
SDK at https://firemission.us/v1 and change only the API key. Everything else —
request shape, response shape, streaming events, error envelope — stays the
same as the upstream provider.
hello.py python
from openai import OpenAI
client = OpenAI(api_key="fm_live_...", base_url="https://firemission.us/v1")
print(client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": "Hello"}]
).choices[0].message.content)Where to start
- Python quickstart — OpenAI and Anthropic SDKs.
- Node / TypeScript quickstart.
- Go quickstart.
- curl quickstart.
API reference
Every endpoint on the public /v1/* surface is described in our OpenAPI 3.1 spec — feed it to Stainless,
openapi-typescript, or any code-gen tool. Browse it interactively:
POST /v1/chat/completions— OpenAI chat, streaming, tools, JSON mode, vision.POST /v1/messages— Anthropic messages.POST /v1/embeddings— text embeddings.GET /v1/models— list models reachable on your tier.POST /api/v1/gateway— universal gateway for non-LLM operations.
Guides
- BYOK provider keys — how Fire Mission stores and resolves your provider keys.
- Streaming — SSE for chat and messages.
- MoE routing — auto-route by cost, speed, or quality.
- Security scanning — PII, prompt-injection, and key-leakage detection.
What you don't have to think about
- Two-Plane isolation. Fire Mission never persists raw prompt or completion bytes — only metadata (token counts, cost cents, status, latency, security verdicts).
- BYOK encryption. Your provider keys are AES-256 encrypted at rest and decrypted only on the hot path.
- Geopolitical authorization. Every call is checked against the supply-chain whitelist before egress.
- Model-substitution detection. If the responding model id doesn't match the requested one, the call fails with
model_substitution_detected.