Org compute (BYO)
Last updated:
GET /v1/org/compute returns your organization's whole compute stack in a single
call: the GPUs you have connected yourself (BYO), the shared staik fleet you can
reach, how your tokens split between the two, and what your own nodes cost. It is
a read-only overview — it never changes routing or billing.
GET https://api.staik.se/v1/org/computeAuthentication & scope
Send an org-scoped API key as a Bearer token (see
authentication). Everything is scoped to your own
organization — you can never see another org's nodes. An owner sees the whole
org's token split; a member sees only their own share. A key that belongs to
no organization returns 404.
Request
import httpx
r = httpx.get(
"https://api.staik.se/v1/org/compute",
headers={"Authorization": "Bearer sk-st-your-key"},
)
print(r.json()["own_gpus"]["online_count"])Optional query parameter since (ISO-8601) scopes the token split to a time
window, e.g. ?since=2026-09-01T00:00:00Z.
Response
{
"org": {
"id": "…",
"name": "Acme AB",
"slug": "acme",
"status": "active",
"shared_pool_fallback": false
},
"own_gpus": {
"nodes": [
{
"id": "…",
"hostname": "cust-acme-0",
"base_url": "http://cust-acme-0:8000",
"engine": "vllm",
"served_model": "qwen3.5:9b",
"num_ctx": 65536,
"status": "online",
"last_seen_at": "2026-09-01T09:12:04Z",
"last_heartbeat_model": "qwen3.5:9b",
"online": true
}
],
"online_count": 1,
"total_count": 1,
"models": ["qwen3.5:9b"],
"total_context": 65536,
"billing": {
"price_per_gpu_sek": 99,
"billable_nodes": 1,
"monthly_cost_sek": 99
}
},
"shared_fleet": {
"fallback_enabled": false,
"models": [
{ "id": "qwen3.6:35b-a3b", "context_window": 262144, "capabilities": ["chat", "tools"], "owned_by": "staik" },
{ "id": "gemma4:31b", "context_window": 262144, "capabilities": ["chat", "vision", "tools"], "owned_by": "staik" }
]
},
"usage": {
"own_gpu_tokens": 1000,
"staik_tokens": 400,
"requests": 5,
"role": "owner"
}
}Fields
| Field | Description |
|---|---|
org | Your organization: id, name, slug, status (active/suspended), and shared_pool_fallback. |
own_gpus.nodes[] | Your connected GPU nodes. online is derived (see below); served_model is what the node is configured to serve, last_heartbeat_model what it last reported. |
own_gpus.online_count / total_count | How many of your nodes are online vs registered in total. |
own_gpus.models | Distinct models your online nodes currently serve. |
own_gpus.total_context | Largest context window (tokens) across your online nodes. |
own_gpus.billing | Per-GPU billing: price per GPU, billable (non-disabled) node count, and the resulting monthly cost. |
shared_fleet.fallback_enabled | Whether your org opted in to fall through to the shared pool when no own node is healthy. |
shared_fleet.models[] | The models you can reach on staik's shared hardware. See the full table under Models. |
usage | Token split for the window: own_gpu_tokens (unmetered, your hardware) vs staik_tokens (metered), plus requests and your role. |
When is a node online?
A node counts as online when its status is online and it has sent a
heartbeat within the last 90 seconds. If the agent goes quiet the node is
reported as offline even though its last stored status was online, so the
overview always reflects live reachability.
Own GPU vs shared fleet
The usage split mirrors how routing is metered (see the BYO lane under
Models):
- Own GPU (unmetered) — a request that used the
<org_slug>/<model>prefix ran on your own hardware and counts towardown_gpu_tokens. - staik shared fleet (metered) — a bare model name ran on staik's shared pool
and counts toward
staik_tokens, against your plan.
staik only stores usage counters for billing, never the content of your requests
(see BYO security). To track raw
consumption over time use GET /v1/usage.
Related
- Connect your own GPU — provision a node
- Models — the shared fleet + the unmetered BYO lane
- Your GPUs — manage nodes and members in the dashboard
- Errors — status codes and
GET /v1/usage