iblai-api-inferencelisted
Install: claude install-skill iblai/api
# iblai-api-inference
Call ibl.ai's **OpenAI-compatible** chat endpoint: identical request/response shape
to OpenAI's `/v1/chat/completions`, but served by your deployment and routed to
whichever `provider/model` you name. Use it for raw completions, streamed tokens,
or tool calls directly — no MCP server, no agent needed. To *configure* which model
an agent runs on use `/iblai-api-agent-llm`; to *converse with a deployed agent*
(RAG, memory, history) use `/iblai-api-agent-chat`.
## Auth & conventions
- **Header:** `Authorization: Api-Token $IBLAI_API_KEY` on every request.
- **Path var:** `{org}` = `$IBLAI_ORG` (no username in the path).
- **Model:** always `provider/model` form, e.g. `openai/gpt-5`,
`anthropic/claude-sonnet-4`. A bare name is rejected `400 invalid_request`.
- **Two hosts — streaming is async/ASGI-only:**
- Non-streaming → `https://api.iblai.app/dm/api/ai-mentor/orgs/{org}/v1`
- Streaming (`stream: true`) → `https://asgi.data.iblai.app/api/ai-mentor/orgs/{org}/v1`
The sync WSGI gateway can't drive the async SSE generator, so `stream:true`
must hit the ASGI host.
- Not connected yet? Run **`/iblai-api-login`** first to populate `IBLAI_ORG` and
`IBLAI_API_KEY`.
## Reads
- **GET** `…/orgs/{org}/v1/models` — OpenAI-style model list for the deployment;
each `id` is a `provider/model` you can pass as `model`.
## Writes
- **POST** `…/orgs/{org}/v1/chat/completions` — run a completion (an inference
call, not a state mutation; `POST` per the O