Dokumentasi API

Base URL

https://api.sistematis.ai/v1

SISTEMATIS AI API kompatibel dengan format OpenAI API. Anda bisa menggunakan SDK OpenAI yang ada dengan mengubah baseURL dan apiKey.

Semua request harus menggunakan HTTPS dan menyertakan header Authorization: Bearer YOUR_API_KEY.

Autentikasi

API Keys

API Key bisa didapat dari dashboard. Setiap key memiliki akses ke plan yang sama dengan akun Anda.

curl https://api.sistematis.ai/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "sai-1.0",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'
⚠️

Tips Keamanan

  • β€’ Jangan share API Key publicly atau commit ke repository
  • β€’ Gunakan environment variables untuk menyimpan key
  • β€’ Rotate key secara berkala melalui dashboard

Chat Completions

POST/chat/completions

Membuat chat completion dengan model AI yang dipilih.

Request Body

ParameterTypeRequiredDescription
modelstringYesModel ID (sai-1.4, sai-1.3, sai-1.2, sai-1.1, sai-1.0)
messagesarrayYesArray of message objects
temperaturenumberNo0.0 - 1.0 (default: 1.0)
max_tokensintegerNoMaximum tokens in response
streambooleanNoEnable streaming (default: false)

Contoh Response

{
  "id": "chatcmpl-xxx",
  "object": "chat.completion",
  "created": 1234567890,
  "model": "sai-1.0",
  "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

POST/messages

SISTEMATIS AI menyediakan kompatibilitas native Anthropic Messages API. Gunakan endpoint ini dengan Claude Code, Anthropic SDK, atau klien kompatibel Anthropic lainnya.

Autentikasi

Gunakan header x-api-key (standar Anthropic) atau Authorization: Bearer:

x-api-key: YOUR_API_KEY

Request Body

ParameterTypeRequiredDescription
modelstringYesNama model Anthropic atau alias SISTEMATIS (claude-sonnet-4, claude-opus-4, dll.)
messagesarrayYesArray dari objek pesan (format Anthropic)
systemstring/arrayNoSystem prompt (string atau array dari content blocks)
max_tokensintegerNoToken maksimum dalam respons
streambooleanNoAktifkan SSE streaming (default: false)
thinkingobjectNoExtended thinking: {type: 'enabled', budget_tokens: N}
toolsarrayNoDefinisi fungsi/tool (format Anthropic)

Pemetaan Model

Nama model Anthropic secara otomatis dipetakan ke model SISTEMATIS:

Anthropic ModelSISTEMATIS Model
claude-opus-4-7, claude-opus-4, claude-3-opus*sai-1.2
claude-sonnet-4-6, claude-sonnet-4, claude-3-5-sonnet*sai-1.1
claude-haiku-4-5, claude-haiku-4, claude-3-5-haiku*sai-1.0

Nama model yang tidak dikenal default ke sai-1.4.

Setup Claude Code

Set environment variables berikut untuk menggunakan Claude Code dengan SISTEMATIS AI:

// ~/.claude/settings.json
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.sistematis.ai/anthropic",
    "ANTHROPIC_AUTH_TOKEN": "YOUR_API_KEY",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "sai-1.1",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "sai-1.2",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "sai-1.0"
  }
}

API Responses (Codex)

POST/v1/responses

Endpoint protokol OpenAI Responses untuk Codex CLI dan klien native-Responses. Kirim request dalam format OpenAI Responses β€” respons diteruskan langsung dari upstream dengan pelacakan usage dan penagihan kuota yang sama seperti endpoint lainnya.

Setup Codex CLI

Tambahkan custom model provider di ~/.codex/config.toml β€” wire_api harus "responses".

# ~/.codex/config.toml
model_provider = "SISTEMATIS"
model = "sai-1.1"
model_reasoning_effort = "high"

[model_providers.SISTEMATIS]
name = "Sistematis AI"
base_url = "https://api.sistematis.ai/v1"
experimental_bearer_token = "YOUR_API_KEY"
wire_api = "responses"

Pemetaan Model

Model KlienTier Sistematis
gpt-5.1-codex, gpt-5*, o3*sai-1.4
o3, o3-prosai-1.3
gpt-4.1*, o3-mini, o4-mini, codex-minisai-1.1
gpt-4o*, o1*, nanosai-1.0
sai-1.0 … sai-1.4 (passthrough)β€”

Nama model yang tidak dikenal default ke sai-1.4 (flagship). Slug SAI (sai-1.0 … sai-1.4) diteruskan dengan tier penagihannya masing-masing.

Models

GET/models

List semua model yang tersedia.

Model Tersedia

Tips: Selalu gunakan sai-1.4 (flagship, konteks 1M) untuk hasil maksimal β€” model terkuat untuk reasoning mendalam dan codebase kompleks.

sai-1.4
LITEPLUSPROMAXULTRA

Panjang Context

1Mtokens

Maks. Output

131Ktokens

Model flagship terbaru dengan context 1M token. Paling kuat untuk reasoning mendalam, arsitektur kompleks, dan codebase sangat besar.

sai-1.4-flash
LITEPLUSPROMAXULTRA

Panjang Context

1Mtokens

Maks. Output

131Ktokens

Varian flash dari flagship dengan context 1M token. Respons jauh lebih cepat dengan kualitas tinggi β€” ideal untuk coding harian bervolume tinggi dan iterasi cepat.

sai-1.3
LITEPLUSPROMAXULTRA

Panjang Context

1Mtokens

Maks. Output

131Ktokens

Deep reasoning dengan context 1M token untuk codebase besar. 2–4s tipikal. Terbaik untuk refactoring multi-file dan analisis mendalam.

sai-1.2
LITEPLUSPROMAXULTRA

Panjang Context

200Ktokens

Maks. Output

131Ktokens

Tier profesional untuk task kompleks. 1–3s tipikal. Seimbang antara kekuatan dan kecepatan untuk produksi.

sai-1.1
LITEPLUSPROMAXULTRA

Panjang Context

200Ktokens

Maks. Output

131Ktokens

Seimbang untuk kebanyakan kebutuhan. 1–2s tipikal. Respons cepat dengan kualitas tinggi β€” ideal untuk coding harian.

sai-1.0
LITEPLUSPROMAXULTRA

Panjang Context

200Ktokens

Maks. Output

131Ktokens

Ringan dan efisien. 1–8s dengan thinking (5–15s untuk prompt kompleks). Gunakan thinking:disabled untuk respons instan pada task sederhana.

Rate Limits

Rate limit berdasarkan plan subscription Anda. Quota direset setiap 5 jam dan setiap minggu (Senin 00:00 WIB):

PlanRequests / 5 JamRequests / Minggu
LITE135945
PLUS2701,890
PRO5403,780
MAX1,0807,560
ULTRA2,16015,120

⏱️ Jadwal Reset

  • Kuota 5h: Reset setiap 5 jam (rolling window)
  • Kuota Mingguan: Reset setiap Senin 00:00 WIB

Response header akan include informasi rate limit:

  • 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

Setiap model memakan quota points berbeda per request β€” mulai dari 1 poin:

  • β€’ SAI 1.4 & SAI 1.3: tier flagship & deep reasoning β€” konsumsi quota tertinggi
  • β€’ SAI 1.2 & SAI 1.1: tier pro & balanced β€” konsumsi quota lebih tinggi
  • β€’ SAI 1.0: tier paling hemat β€” cukup 1 poin per request

Biaya per request mengikuti model (premium mulai 3 poin, SAI 1.0 = 1 poin) dan skala dengan token input/output. Off-peak (luar 13:00–17:00 WIB, Sen–Jum) tarif 0,5Γ— β€” premium jadi 2 poin. Plan PRO (540 pts/5h) sudah mencakup ratusan request per siklus.

Tips Performa

πŸ’‘Memahami Waktu Respons Model

  • Semua model SAI menggunakan mode thinking secara default β€” mereka berpikir secara internal sebelum merespons. Ini normal dan meningkatkan kualitas jawaban.
  • SAI 1.0 (fast tier) mungkin butuh 5-15 detik untuk pertanyaan sederhana karena ia berpikir melalui masalah. Model lain biasanya 1-3 detik.
  • Untuk menonaktifkan thinking untuk request yang sensitif waktu: kirim "thinking": {"type": "disabled"} di request body Anda. Waktu respons turun ke ~1 detik.
  • Jika respons tampak kosong, max_tokens Anda mungkin terlalu kecil β€” thinking mengkonsumsi token sebelum jawaban. Gunakan max_tokens β‰₯ 256 untuk model thinking.

Errors

KodeDeskripsi
401API key tidak valid atau tidak ditemukan
403Tidak ada subscription aktif
429Rate limit exceeded (kuota 5h atau mingguan)
400Bad request (parameter tidak valid)
404Model tidak ditemukan
504Gateway timeout β€” upstream provider terlalu lama. Sistem otomatis retry dengan backup keys. Jika persist, coba request lebih sederhana atau disable thinking mode.
524Cloudflare timeout β€” request melebihi 100 detik. Gunakan streaming (stream=true) untuk tugas kompleks, atau kurangi ukuran konteks.
500Internal server error

Format Error Anthropic API

Saat menggunakan endpoint Anthropic Messages API, error mengikuti format Anthropic dengan tipe error seperti authentication_error, invalid_request_error, rate_limit_error, forbidden, dan api_error.

{
  "type": "error",
  "error": {
    "type": "authentication_error",
    "message": "Invalid API key"
  }
}

Contoh Kode

Python

Python (OpenAI SDK)

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.sistematis.ai/v1"
)

# Basic chat
response = client.chat.completions.create(
    model="sai-1.0",
    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: process.env.SISTEMATIS_API_KEY,
  baseURL: "https://api.sistematis.ai/v1"
});

const response = await client.chat.completions.create({
  model: "sai-1.0",
  messages: [
    { role: "system", content: "You are a helpful assistant." },
    { role: "user", content: "Hello!" }
  ]
});

console.log(response.choices[0].message.content);
⌨️

cURL

curl https://api.sistematis.ai/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "sai-1.0",
    "messages": [
      {"role": "system", "content": "You are a helpful assistant."},
      {"role": "user", "content": "Hello!"}
    ]
  }'

Mulai Build dalam 5 Menit

Dapatkan API key, paste ke Claude Code atau tool OpenAI-compatible apapun, langsung jalan. Tanpa kartu kredit β€” bayar pakai QRIS.