Contents

Getting Started

1

Register

Create an account via the web interface or the API:

curl -X POST https://api.turbocabbage.ru/auth/register \
  -H 'Content-Type: application/json' \
  -d '{"email":"you@company.com","password":"your-password","name":"Your Name"}'
2

Log in and get your token

Exchange credentials for a JWT access token:

curl -X POST https://api.turbocabbage.ru/auth/login \
  -H 'Content-Type: application/json' \
  -d '{"email":"you@company.com","password":"your-password"}'
3

Create an agent

Save the API key immediately -- it is displayed only once.

curl -X POST https://api.turbocabbage.ru/auth/create-agent \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"name":"my-agent"}'
4

Start chatting

Send a message and get an LLM response through your subscription:

curl -X POST https://api.turbocabbage.ru/chat/conversations/CONV_ID/messages \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"content":"Check my Wildberries orders for today"}'

Auth API

All endpoints under /auth/. JWT tokens via Authorization: Bearer <token>.

MethodEndpointAuthDescription
POST/auth/register--Create account
POST/auth/login--Get JWT tokens
POST/auth/refresh--Refresh access token
GET/auth/meJWTGet profile
POST/auth/create-agentJWTCreate agent + API key
POST/auth/change-passwordJWTChange password
POST/auth/forgot-password--Request password reset
POST/auth/reset-password--Reset with token

Billing API

All endpoints under /billing/.

MethodEndpointAuthDescription
GET/billing/plans--List available plans
GET/billing/subscriptionJWTCurrent plan + usage
POST/billing/subscribeJWTSubscribe or change plan
GET/billing/usageJWTToken usage details
POST/billing/overage-policyJWTSet hard_cutoff or pay_per_token

Chat API

All endpoints under /chat/.

MethodEndpointAuthDescription
GET/chat/conversationsJWTList conversations
POST/chat/conversationsJWTCreate conversation
POST/chat/conversations/:id/messagesJWTSend message + get LLM reply

Agent API

All endpoints under /agent/.

MethodEndpointAuthDescription
POST/agent/runJWTStart autonomous agent task
GET/agent/status/:idJWTCheck progress, see step-by-step execution
POST/agent/stop/:idJWTCancel a running agent
GET/agent/historyJWTList past agent runs

Sabaki Queue API

Human-in-the-loop approval queue.

MethodEndpointAuthDescription
GET/sabaki/cardsJWTList cards in the queue
POST/sabaki/cards/:id/resolveJWTApprove/reject, resumes linked agent
GET/sabaki/statsJWTQueue statistics

Triggers API

Scheduled and webhook-based agent activation.

MethodEndpointAuthDescription
POST/triggersJWTCreate a scheduled trigger
POST/triggers/:id/fireJWTManually fire a trigger

LLM Proxy (OpenAI-compatible)

Use your agent API key with any OpenAI-compatible client. Endpoint: /llm/v1/.

curl -X POST https://api.turbocabbage.ru/llm/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openrouter/healer-alpha",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'

For MCP clients, connect to /mcp with Authorization: Bearer <api-key> on the initialize request. Reuse the Mcp-Session-Id header for subsequent calls.

Known Limitations