Developer Hub
Open API specifications, MCP manifests, OAuth endpoints and LLM sitemaps for integrating with SIMOSphere AI.
API Documentation
OpenAPI 3.1 specification with all endpoints, authentication and error codes.
/openapi.jsonSDKs & Libraries
Official client libraries for Python, Node.js and Go — type-safe and versioned.
Coming soonMCP Specification
MCP manifest, server card and surface endpoints. WebMCP via Streamable HTTP (JSON-RPC 2.0).
/.well-known/mcp/manifest.jsonMCP Server
WebMCP endpoint with JSON-RPC 2.0 over Streamable HTTP. Browser agents can call tools directly.
/mcpAgent Skills
Skills index for AI agents: tools, prompts and resources as machine-readable manifests.
/.well-known/agent-skills/index.jsonChangelog
All platform changes documented — breaking changes, new features and bug fixes.
Authentication
All API endpoints under /v1/* require a Bearer token in the Authorization header. Tokens are API keys created in the SIMOSphere AI Dashboard, scoped to a single tenant. The platform supports API key authentication today, with OAuth 2.0 (Authorization Code + PKCE) planned for Q4 2026.
1. Create an Account
Register at app.simosphereai.com/register. All plans include a 14-day free trial without requiring a credit card. After email verification, you gain access to the Dashboard.
2. Generate an API Key
In the Dashboard, navigate to Settings > API Keys and click Create New Key. Choose the scopes your application needs (chat, embeddings, files, models). Copy the key immediately — it is shown only once.
3. Authenticate Requests
Include the key as a Bearer token: Authorization: Bearer sk_live_YOUR_KEY. The gateway validates the key, checks rate limits, verifies plan entitlements, and routes the request to the appropriate model backend.
Code Examples
SIMOSphere AI provides an OpenAI-compatible REST API. You can use any OpenAI SDK or standard HTTP client to interact with the platform. Below are examples for the chat completions endpoint, which accepts messages and returns model-generated responses.
curl — Chat Completions
Send a chat completion request from the command line. Replace sk_live_YOUR_API_KEY with your actual API key. The response follows the OpenAI chat completions format.
curl -X POST https://api.simosphereai.com/v1/chat/completions \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "mistral-small-latest",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "What is the EU AI Act?"}
],
"temperature": 0.7,
"max_tokens": 1024
}'TypeScript — OpenAI SDK
Use the official OpenAI Node.js SDK with the SIMOSphere AI base URL. This approach gives you full type safety, automatic retries, and streaming support out of the box.
import OpenAI from "openai";
// SIMOSphere AI is OpenAI-compatible — use any OpenAI SDK
const client = new OpenAI({
apiKey: process.env.SIMOSPHERE_API_KEY,
baseURL: "https://api.simosphereai.com/v1",
});
const response = await client.chat.completions.create({
model: "mistral-small-latest",
messages: [
{ role: "system", content: "You are a helpful assistant." },
{ role: "user", content: "Summarise the GDPR in 3 sentences." },
],
temperature: 0.7,
max_tokens: 512,
});
console.log(response.choices[0].message.content);
// Token usage: response.usage.total_tokensPython — OpenAI SDK
The Python OpenAI SDK works identically. Point the base_url to SIMOSphere AI and use your API key. All OpenAI-compatible features including streaming, function calling, and JSON mode are supported.
from openai import OpenAI
client = OpenAI(
api_key="sk_live_YOUR_API_KEY",
base_url="https://api.simosphereai.com/v1",
)
response = client.chat.completions.create(
model="mistral-small-latest",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Explain data sovereignty in the EU."},
],
max_tokens=512,
)
print(response.choices[0].message.content)Rate Limits
Rate limits are applied per API key and depend on your plan tier. Limits are enforced on both requests per minute (RPM) and tokens per month (TPM). When a limit is exceeded, the API returns HTTP 429 with a Retry-After header indicating when the next request can be sent.
| Plan | Requests / min | Tokens / month |
|---|---|---|
| Personal | 60 | 5M |
| Freelancer | 120 | 20M |
| Professional | 300 | 100M |
| Business | 600 | 500M |
| Enterprise | 1,200 | 2B |
Every response includes X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset headers for proactive monitoring.
Error Codes
All error responses use a consistent JSON envelope with type, message, and code fields. Implement retry logic for transient errors (429, 500, 503) and credential refresh logic for persistent 401 errors.
401Invalid API Key
Check that the Authorization: Bearer header contains a valid, non-revoked key.
401Expired Token
Re-authenticate via the login endpoint to obtain a fresh JWT token.
403Insufficient Scope
The API key lacks the required scope. Add the missing scope in Dashboard > API Keys.
403Plan Limit Exceeded
Your current plan does not include this feature. Upgrade at app.simosphereai.com/billing.
429Rate Limit Exceeded
Too many requests. Wait for the number of seconds specified in the Retry-After header.
500Internal Server Error
An unexpected error occurred. Retry with exponential backoff. If persistent, contact support.
Roadmap
- NPM package @simosphere/sdk-js (auto-generated from OpenAPI)
- PyPI package simosphere-sdk
- CLI simosphere via Homebrew
- MCP registry listings on mcp.run / mcphub.io / Smithery