# Keiro Labs API documentation > Documentation for the Keiro eb1 API. API base URL: https://api.keirolabs.ai/v1. Authenticate with "Authorization: Bearer " using a key created at https://console.keirolabs.ai/api-keys. Use credentials saved by `keiro setup` or a secret manager; keep raw key material out of environment variables, code, docs, and logs. Every page below is also served as raw Markdown for agents. ## Start - [Overview](https://docs.keirolabs.ai/index.md): Keiro is OpenAI-compatible. Change three lines in your existing client — the base URL, your key, and the model — and you are running on eb1. - [Quickstart](https://docs.keirolabs.ai/quickstart.md): Create a key, install one client, and print your first eb1 response. The Python path below is copy-run complete and keeps the API key out of source code, shared environment files, and shell history. - [Models](https://docs.keirolabs.ai/models.md): Keiro currently exposes four public paid-beta eb1 model IDs. If you are unsure which to use, start with eb1-preview and change only after measuring your workload. ## Build - [Tool Calling](https://docs.keirolabs.ai/tool-calling.md): Keiro supports client-executed function tools on Responses, Chat Completions, and Messages. The model chooses a function and produces arguments; your application validates those arguments, runs the function, and sends the result back for the next model turn. - [Images and Vision](https://docs.keirolabs.ai/images-vision.md): Keiro accepts image input on Responses, Chat Completions, and Messages when the requested public model and account path support vision. Image input is for analysis and understanding; this page does not describe image generation. - [Streaming](https://docs.keirolabs.ai/streaming.md): Keiro streams completion responses as server-sent events. Set stream to true, process events in order, and keep the connection open until the surface's terminal event or in-band error. ## Developer tools - [SDKs and CLI](https://docs.keirolabs.ai/sdks.md): Use the Keiro package when you want saved credentials and a prompt-first eb1 client. Use an OpenAI-compatible SDK when you are migrating existing application code. Use curl when you need to inspect the raw HTTP contract. - [Agent Setup](https://docs.keirolabs.ai/agent-setup.md): Have your coding agent set eb1 up for you. Copy one prompt into the agent you already use; the agent confirms which surfaces you want, runs each surface's documented installer, verifies real requests, and reports back — your API key never enters the conversation. - [Codex Setup](https://docs.keirolabs.ai/codex.md): Keiro's setup adds an opt-in keiro profile to the stock Codex CLI and installs a keiro launcher command. Typing keiro opens Codex on the public eb1 catalog with eb1-preview as the default; plain codex keeps your existing OpenAI models, picker, and settings untouched. No Codex fork or local proxy is required. - [Claude Code Setup](https://docs.keirolabs.ai/claude-code.md): Keiro's installer adds a claude-keiro command that starts the stock Claude Code CLI on the public eb1 models. No fork of Claude Code is involved, and your existing claude command keeps its own settings and credentials. - [Omnigent Setup](https://docs.keirolabs.ai/omnigent.md): Omnigent is an open-source coding agent that supports custom gateways in its own configuration file. Registering Keiro there runs Omnigent's agents on the public eb1 models. There is nothing to install from Keiro, and no fork or local proxy is involved. - [OpenCode Setup](https://docs.keirolabs.ai/opencode.md): OpenCode is an open-source terminal coding agent with configurable model providers. Register Keiro as an OpenAI-compatible provider in OpenCode's own configuration, then select an enabled public eb1 model. - [Pi Setup](https://docs.keirolabs.ai/pi.md): Pi is an efficiency-first, customizable coding-agent harness. Use Keiro through Pi's custom model configuration when lower context overhead, local control, and a minimal terminal workflow matter. ## API Reference - [API Reference](https://docs.keirolabs.ai/api-reference.md): Keiro exposes three authenticated completion surfaces at one public base URL - [Authentication](https://docs.keirolabs.ai/api-auth.md): Keiro uses organization API keys for public API requests. - [Responses](https://docs.keirolabs.ai/responses.md): Use POST /v1/responses for typed input and output items, function-call continuations, and the newest OpenAI-compatible response shape. - [Chat Completions](https://docs.keirolabs.ai/chat-completions.md): Use POST /v1/chat/completions when your application already sends ordered message arrays and reads choices[0].message. - [Messages](https://docs.keirolabs.ai/messages.md): Use POST /v1/messages when your application already uses the Messages request and content-block format. Keiro accepts that wire shape, routes it through the same public eb1 service as the other completion endpoints, and returns a Messages-style response. - [Errors](https://docs.keirolabs.ai/errors.md): Keiro returns HTTP errors in the dialect of the surface you called: the Chat Completions and Responses endpoints use the OpenAI-compatible shape shown below, and the Messages endpoint wraps the same content in the Anthropic envelope ({"type": "error", "error": {"type": ..., "message": ...}}), matching its streaming error events. The message, code, and details fields are identical across surfaces for the same failure. Handle errors by status code and retry only where it is safe for your workload. - [Idempotency](https://docs.keirolabs.ai/idempotency.md): Send an idempotency key with retry-sensitive requests so a safely retried request runs at most once. When a key is reused, Keiro replays the original response instead of executing the request again. ## Manage - [API Keys](https://docs.keirolabs.ai/api-keys.md): Create and manage organization API keys in the Keiro console. API keys authenticate requests to the public API; console sessions and API keys are separate credentials. - [Usage and Billing](https://docs.keirolabs.ai/usage-billing.md): Use the Keiro console to understand request volume, token usage, billable amounts, limits, and account billing. API response headers remain authoritative for the limits that applied to one request. - [Limits](https://docs.keirolabs.ai/rate-and-spend-limits.md): Keiro rate limits are Keiro account limits. They are calculated for the public eb1 model you request. Public limits describe customer-visible capacity, not private serving architecture or vendor economics. ## Trust - [Legal and Privacy](https://docs.keirolabs.ai/legal-privacy.md): Paid beta access requires acceptance of the Keiro beta terms and privacy notice through the invite workflow. If those documents are not available for a user or organization, do not start paid traffic for that organization. - [Data Retention](https://docs.keirolabs.ai/data-retention.md): This page summarizes Keiro's paid beta data retention posture for invite-only eb1 access. It is a customer-facing summary, not a substitute for the signed beta terms, privacy notice, or DPA. - [Beta SLA](https://docs.keirolabs.ai/beta-sla.md): Keiro eb1 is in invite-only paid beta. The service is operated for serious evaluation and early production-style testing, but it is not yet sold with a formal uptime guarantee. - [Subprocessors](https://docs.keirolabs.ai/subprocessors.md): This page describes the paid beta subprocessor and data-routing posture for Keiro eb1. It is a customer-facing summary, not a substitute for the signed beta agreement, privacy notice, or DPA. ## Resources - [Migration](https://docs.keirolabs.ai/migration.md): Move an existing OpenAI-compatible client to Keiro by changing three explicit inputs: base URL, credential source, and model ID. Keep request and response handling on a documented public surface. - [Changelog](https://docs.keirolabs.ai/changelog.md): This changelog covers public developer-docs and API-contract changes. - [Status and Support](https://docs.keirolabs.ai/status-support.md): Use status.keirolabs.ai for public availability updates. During paid beta, your invite email may also include a private support channel.