OpenAI-compatible API
Use the OpenAI SDKs and tools with BreachLine by changing the base URL. What is compatible, what differs, and which endpoints exist.
On this page
The LLM API follows the OpenAI wire format. Point any OpenAI SDK or compatible tool at the BreachLine base URL and authenticate with a BreachLine key.
| Setting | Value |
|---|---|
| Base URL | https://api.breachline.io/api/v1/llm/v1 |
| API key | Your bl_live_ key |
| Model | nebula-4.5 (see Models) |
from openai import OpenAI
import os
client = OpenAI(api_key=os.environ["BREACHLINE_API_KEY"], base_url="https://api.breachline.io/api/v1/llm/v1")
Endpoints
POST
/api/v1/llm/v1/chat/completions Chat completions with tools, structured output and streaming. Guide
Scope: llm:access or llm:chat
POST
/api/v1/llm/v1/responses The Responses API, with stored threads. Guide
Scope: llm:access or llm:chat
POST
/api/v1/llm/v1/batches Asynchronous bulk chat completions. Guide
Scope: llm:batch, llm:chat or llm:access
Differences from OpenAI
- Models. Only Nebula models exist. Unknown and vendor ids resolve to
nebula-4.5. - Errors. Errors use the BreachLine envelope (
error.status,error.code,error.detail), not OpenAI’s. SDKs still raise the right exception class from the HTTP status. See Errors. - Idempotency.
Idempotency-Keyrefuses a replay with409instead of returning the original response. See Idempotency. - Responses API. Hosted tools (web search, file search, code interpreter) are not supported and are dropped; function tools work.
- Embeddings. Float vectors with 768 dimensions only, with tight per-request size limits.
- Endpoints. Only the endpoints in the API reference are available. The legacy
/v1/completionsendpoint does not exist.