Rootsys

Setup

Four steps to your first call

If your code already speaks to the OpenAI chat API, the only change is the base URL and the key.

  1. Create an accountYour email address is all that is needed.
  2. Redeem your codeThis issues an API key and sets how many tokens it may spend.
  3. Copy the keyIt appears in your dashboard straight away.
  4. Point your client hereSwap the base URL, keep everything else.
https://rootsys.cloud/v1

Examples

Ready to run once you swap in your key.

curl
curl https://rootsys.cloud/v1/chat/completions \
  -H "Authorization: Bearer $ROOTSYS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-v4.1-flash",
    "messages": [{"role": "user", "content": "Hello"}]
  }'
python
from openai import OpenAI

client = OpenAI(
    base_url="https://rootsys.cloud/v1",
    api_key="YOUR_API_KEY",
)

reply = client.chat.completions.create(
    model="deepseek-v4.1-flash",
    messages=[{"role": "user", "content": "Hello"}],
)

print(reply.choices[0].message.content)
node
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://rootsys.cloud/v1",
  apiKey: process.env.ROOTSYS_API_KEY,
});

const reply = await client.chat.completions.create({
  model: "deepseek-v4.1-flash",
  messages: [{ role: "user", content: "Hello" }],
});

console.log(reply.choices[0].message.content);

Worth knowing

Streaming works
Set stream: true and tokens arrive as they are generated, in the same SSE format the OpenAI SDKs expect.
Listing models
GET /models with your key returns the same catalogue the Models page shows.
Token allowance
Each request draws from the allowance on your key. When it runs out, calls are refused until the allowance is topped up.
Rejected model names
Only IDs from the catalogue are accepted. A name that is not mapped comes back as an error rather than being silently swapped.
Browse the models
Rootsys© 2026 Rootsys. All rights reserved.