API Overview & Endpoints
Overview of public and authenticated endpoints, base URLs, rate limits, and authentication.
API Overview
The Interference API is strictly OpenAI-compatible. All user-facing routes operate under the unified base URL:
(Or https://interference.designrade.com/v1)
Endpoint Classification
Endpoints are divided into Public (Unauthenticated) and Authenticated (Secured) surfaces:
1. Public Endpoints (No API Key Required)
These endpoints allow discovery and pre-flight configuration without needing an account or credentials:
| Endpoint | Method | Purpose |
|---|---|---|
/v1/models | GET | Discovers all active, enabled models, context limits, and capabilities. |
2. Authenticated Endpoints (API Key Required)
Inference endpoints require an active account, sufficient credit balance, and an Authorization header containing your live API key (sk_live_...):
| Endpoint | Method | Purpose |
|---|---|---|
/v1/chat/completions | POST | Generates chat completions, SSE streaming deltas, tool calls, and structured JSON. |
/v1/embeddings | POST | Computes text vector embeddings for similarity search and retrieval. |
Authentication
Every authenticated request must include your secret API key in the Authorization header using Bearer authentication:
- Keys begin with the prefix
sk_live_. - Never commit your API key to public repositories.
- Only create and revoke keys via your secure Interference Console.
Rate Limits & Concurrency
To ensure stability and protect against abusive traffic:
- Edge IP Rate Limit: An in-memory sliding-window limit of 60 requests per minute per IP is enforced before upstream processing. Exceeding this limit returns HTTP
429 Too Many Requestswith aRetry-Afterheader. - Per-Key Concurrency: Accounts with active credit balances are granted high concurrent stream capabilities.
- Response Headers:
X-RateLimit-Limit: Maximum requests per minute allowed (e.g.60).X-RateLimit-Remaining: Estimated remaining requests in the current window.Retry-After: Seconds to wait before retrying when throttled.
HTTP Status Codes
| Code | Type | Description |
|---|---|---|
200 OK | success | The request succeeded. |
400 Bad Request | invalid_request_error | Malformed JSON or invalid parameter schema. |
401 Unauthorized | authentication_error | Missing, invalid, or revoked API key. |
402 Payment Required | insufficient_quota | Credit balance is zero or insufficient to reserve tokens. |
404 Not Found | invalid_request_error | The requested model is disabled or does not exist. |
429 Too Many Requests | rate_limit_exceeded | IP rate limit or concurrency quota exceeded. |
502 / 503 | service_unavailable | Temporary gateway failure. No credits are charged. |
Error Response Format
All errors return standard OpenAI-compatible JSON: