API Documentation
Base URL
https://api.sistematis.ai/v1SISTEMATIS AI API is compatible with OpenAI API format. You can use existing OpenAI SDKs by changing the baseURL and apiKey.
All requests must use HTTPS and include the Authorization: Bearer YOUR_API_KEY header.
Authentication
API Keys
Get your API Key from the dashboard. Each key has the same access as your account plan.
curl https://api.sistematis.ai/v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_API_KEY" \ -d '{ "model": "sistematis-fast-v7", "messages": [{"role": "user", "content": "Hello!"}] }'
Security Tips
- • Don't share API Key publicly or commit to repository
- • Use environment variables to store keys
- • Rotate keys regularly through dashboard
Chat Completions
/chat/completionsCreate a chat completion with the selected AI model.
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
| model | string | Yes | Model ID (sistematis-flex-v7, sistematis-super-v7, sistematis-fast-v7) |
| messages | array | Yes | Array of message objects |
| temperature | number | No | 0.0 - 1.0 (default: 1.0) |
| max_tokens | integer | No | Maximum tokens in response |
| stream | boolean | No | Enable streaming (default: false) |
Example Response
{
"id": "chatcmpl-xxx",
"object": "chat.completion",
"created": 1234567890,
"model": "sistematis-fast-v7",
"choices": [{
"index": 0,
"message": {
"role": "assistant",
"content": "Hello! How can I help you today?"
},
"finish_reason": "stop"
}],
"usage": {
"prompt_tokens": 10,
"completion_tokens": 8,
"total_tokens": 18
}
}Anthropic Messages API
/messagesSISTEMATIS AI provides native Anthropic Messages API compatibility. Use this endpoint with Claude Code, the Anthropic SDK, or any Anthropic-compatible client.
Authentication
Use the x-api-key header (Anthropic standard) or Authorization: Bearer header:
x-api-key: YOUR_API_KEYRequest Body
| Parameter | Type | Required | Description |
|---|---|---|---|
| model | string | Yes | Anthropic model name or SISTEMATIS alias (claude-sonnet-4, claude-opus-4, etc.) |
| messages | array | Yes | Array of message objects (Anthropic format) |
| system | string/array | No | System prompt (string or array of content blocks) |
| max_tokens | integer | No | Maximum tokens in response |
| stream | boolean | No | Enable SSE streaming (default: false) |
| thinking | object | No | Extended thinking: {type: 'enabled', budget_tokens: N} |
| tools | array | No | Function/tool definitions (Anthropic format) |
Model Mapping
Anthropic model names are automatically mapped to SISTEMATIS models:
| Anthropic Model | SISTEMATIS Model |
|---|---|
| claude-opus-4-7, claude-opus-4, claude-3-opus* | sistematis-super-v7 (glm-5.1) |
| claude-sonnet-4-6, claude-sonnet-4, claude-3-5-sonnet* | sistematis-flex-v7 (glm-4.7) |
| claude-haiku-4-5, claude-haiku-4, claude-3-5-haiku* | sistematis-fast-v7 (glm-4.5-air) |
Unknown model names default to sistematis-super-v7.
Claude Code Setup
Set these environment variables to use Claude Code with SISTEMATIS AI:
export ANTHROPIC_BASE_URL="https://api.sistematis.ai" export ANTHROPIC_API_KEY="YOUR_API_KEY" claude
Models
/modelsList all available models.
Available Models
sistematis-super-v7Latest flagship model, ideal for complex tasks
sistematis-flex-v7High performance for most use cases
sistematis-fast-v7Fast and efficient for simple tasks
Rate Limits
Rate limits based on your subscription plan. Quota resets every 5 hours and weekly (Monday 00:00 WIB):
| Plan | Requests / 5 Hours | Requests / Week |
|---|---|---|
| BASIC | 60 | 300 |
| STANDARD | 100 | 500 |
| PLUS | 150 | 750 |
| PRO | 360 | 1,800 |
| MAX | 720 | 3,600 |
| ULTRA | 1,440 | 7,200 |
⏱️ Reset Schedule
- 5h Quota: Resets every 5 hours (rolling window)
- Weekly Quota: Resets every Monday at 00:00 WIB
Response headers will include rate limit info:
- X-RateLimit-Limit-5h→Limit 5h
- X-RateLimit-Remaining-5h→Remaining 5h quota
- X-RateLimit-Limit-Weekly→Weekly limit
- X-RateLimit-Remaining-Weekly→Remaining weekly quota
Quota Multiplier
Some models consume more quota per request:
- • super-v7 (glm-5.1): 3x during peak hours (14:00-18:00 WIB), 2x off-peak
- • flex-v7 and fast-v7: 1x quota at all times
Example: 1 super-v7 request during peak = 3 requests deducted from your quota.
Errors
| Code | Description |
|---|---|
| 401 | Invalid or missing API key |
| 403 | No active subscription |
| 429 | Rate limit exceeded (5h or weekly quota) |
| 400 | Bad request (invalid parameters) |
| 404 | Model not found |
| 500 | Internal server error |
Anthropic API Error Format
When using the Anthropic Messages API endpoint, errors follow the Anthropic format with error types like authentication_error, invalid_request_error, rate_limit_error, forbidden, and api_error.
{
"type": "error",
"error": {
"type": "authentication_error",
"message": "Invalid API key"
}
}Code Examples
Python (OpenAI SDK)
from openai import OpenAI client = OpenAI( api_key="YOUR_API_KEY", base_url="https://api.sistematis.ai/v1") # Basic chatresponse = client.chat.completions.create( model="sistematis-fast-v7", messages=[{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": "Hello!"}] ) print(response.choices[0].message.content)
Node.js (OpenAI SDK)
import OpenAI from 'openai'; const client = new OpenAI({ apiKey: 'YOUR_API_KEY', baseURL: 'https://api.sistematis.ai/v1' }); const response = await client.chat.completions.create({ model: 'sistematis-fast-v7', messages: [ { role: 'system', content: 'You are a helpful assistant.' }, { role: 'user', content: 'Hello!' } ] });
cURL
curl https://api.sistematis.ai/v1/chat/completions \ -H "Authorization: Bearer YOUR_API_KEY"