API Reference
OpenAI-compatible endpoints. Base URL: https://gateway.broadcomms.net
Gateway Proxy Endpoints
These endpoints are OpenAI-compatible — any OpenAI SDK works by changing base_url.
POST
/v1/chat/completionsCreate a chat completion. Supports streaming via SSE.
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
| model | string | Yes | Model ID (e.g., gpt-4o-mini, claude-sonnet-4) |
| messages | array | Yes | Array of message objects with role and content |
| stream | boolean | No | Enable SSE streaming (default: false) |
| temperature | number | No | Sampling temperature (0-2) |
| max_tokens | integer | No | Maximum tokens to generate |
| top_p | number | No | Nucleus sampling (0-1) |
| stop | array | No | Stop sequences |
Response
{
"id": "chatcmpl-abc123",
"object": "chat.completion",
"created": 1712345678,
"model": "gpt-4o-mini",
"choices": [{
"index": 0,
"message": { "role": "assistant", "content": "Hello!" },
"finish_reason": "stop"
}],
"usage": {
"prompt_tokens": 9,
"completion_tokens": 5,
"total_tokens": 14
}
}GET
/v1/modelsList all available models with pricing metadata.
{
"object": "list",
"data": [
{ "id": "gpt-4o", "object": "model", "owned_by": "openai", "pricing": { "input": 2.50, "output": 10.00 } },
{ "id": "claude-sonnet-4", "object": "model", "owned_by": "anthropic", "pricing": { "input": 3.00, "output": 15.00 } },
...
]
}Management Endpoints
These use JWT authentication (Bearer token from login), not API keys.
POST
/api/v1/gateway/org— Create organizationGET
/api/v1/gateway/org— Get current organizationGET
/api/v1/gateway/org/members— List organization membersPOST
/api/v1/gateway/keys— Create API keyGET
/api/v1/gateway/keys— List API keysDELETE
/api/v1/gateway/keys/{id}— Revoke API keyGET
/api/v1/gateway/providers— List available providersGET
/api/v1/gateway/billing/status— Get billing statusPOST
/api/v1/gateway/billing/checkout— Create Stripe checkout sessionGET
/api/v1/gateway/billing/portal— Open Stripe billing portalGET
/api/v1/gateway/billing/usage— Get usage summaryError Responses
Errors follow the OpenAI format:
{
"error": {
"message": "Rate limit exceeded: 20 RPM",
"type": "rate_limit",
"code": "rate_limit"
}
}| Code | HTTP | Description |
|---|---|---|
| auth_error | 401/403 | Invalid or missing API key |
| rate_limit | 429 | RPM or budget limit exceeded |
| model_not_found | 404 | Unknown model ID |
| context_length_exceeded | 400 | Input too long for model |
| content_filter | 400 | Content blocked by safety filters |
| server_error | 500+ | Provider or gateway error |
| timeout | 504 | Provider request timed out |
Interactive API Explorer
The full OpenAPI specification is available at /docs (Swagger UI) and /redoc (ReDoc) on the backend.