Skip to main content
Get a key and make your first OpenAI-compatible request against a Kibbu fleet.
Your organization needs at least one enrolled machine reporting as ready. If you are the one putting machines into the fleet, start with Enroll a machine — enrollment is an operator task, not an API one.
1

Get an API key

Inference requests authenticate with a per-organization API key, not an enrollment token.
  1. Open the admin console and go to API keys.
  2. Select Create key. The plaintext key is shown once — copy it now.
  3. Store it as an environment variable. Never commit it.
The key is scoped to your organization: every request is billed and rate-limited against it, and only sees your organization’s models.
2

Discover a model

Never hardcode a model id — which models your organization can call is decided by your fleet operator.
Pick an id from data and keep it in an environment variable so the rest of this guide stays copy-pasteable:
3

Make a chat completion

Point any OpenAI client at $KIBBU_BASE_URL. Nothing else about your code changes.
The response is the standard OpenAI chat.completion object:
4

Stream the response

Set stream: true for a Server-Sent Events stream of chat.completion.chunk objects, terminated by data: [DONE].

Handle the errors you will actually see

Every error uses the OpenAI envelope — {"error": {"message", "type", "code"}}. Branch on code, never on the message text. Three codes cover most first-day surprises: The full vocabulary is in Error codes.

Check there is capacity

If requests are failing with no_eligible_node or fleet_busy, confirm the fleet has machines online:
status: "ok" with nodes_online > 0 means the fleet can serve you. The endpoint is intentionally tiny and stable — point uptime monitors at it too.

Next

How Kibbu works

What actually happens to a request after you send it.

Kibbu extensions

Optional fields: routing tier, adapters, reasoning controls.