Quickstart
Start the trial, create an API key, point your OpenAI client at the gateway and open your first trace — in about ten minutes.
On this page
You need an application that calls a model through an official OpenAI SDK (Python, Node.js or any other language), an Anthropic SDK or plain HTTP. Nothing else in your code changes: the gateway speaks the OpenAI API and Anthropic’s Messages API.
1. Start your free trial#
Create your account at https://worksi.ai/signup. The trial runs for 3 days with Pro features and needs no credit card. Signing up creates:
- your organization, with you as its owner;
- a Default workspace with
development,stagingandproductionenvironments; - a built‑in simulator provider, so you can send requests before you connect a model provider.
Confirm your email address from the message we send you. Until it is verified, the trial is limited to 1,000 gateway requests and 10,000 traced spans.
2. Connect your model provider#
Open Settings → Providers → Add provider. The gallery lists 24 provider presets:
| Group | Providers |
|---|---|
| Global | OpenAI, Anthropic, Gemini, Mistral, xAI, Groq, Together AI, OpenRouter and Azure OpenAI |
| China | DeepSeek, Qwen, Kimi, GLM, MiniMax, ERNIE, Hunyuan, Doubao, BytePlus and StepFun |
| Local and self‑hosted | Ollama and vLLM |
Any other server that speaks the OpenAI API, or the Anthropic API, can be added by its base URL. Pick a provider, choose its region, paste the API key and press Test connection, then save. Import models registers the models you use with their list prices, and Make default chooses where models without a route prefix go. Provider keys are encrypted at rest (AES-256-GCM) and never displayed again. Your provider bills you directly: Worksi never resells or marks up model tokens. Providers & routing has the details.
You can skip this step for now. The simulator answers every request with a deterministic reply, which is enough to see traces, costs and incidents end to end.
3. Create an API key#
Open Governance → API keys → Create key and choose the workspace and environment your application runs in. The key (aiw_sk_live_…) is shown once, so store it in your secret manager. Everything sent with it lands in that workspace and environment and follows its policies and capture mode.
export AIW_API_KEY="aiw_sk_live_…"export AIW_BASE_URL="https://gateway.worksi.ai"4. Point your OpenAI client at the gateway#
Change the base URL to https://gateway.worksi.ai/v1 and use your aiw_sk_… key as the API key. The X-AIW-Agent and X-AIW-Workflow headers are optional, but they let you govern and report per agent and per workflow.
import osfrom openai import OpenAI client = OpenAI( base_url="https://gateway.worksi.ai/v1", api_key=os.environ["AIW_API_KEY"], # name the agent and the workflow behind every call default_headers={ "X-AIW-Agent": "support-bot", "X-AIW-Workflow": "customer-chat", },) reply = client.chat.completions.create( model="gpt-5-mini", messages=[ {"role": "user", "content": "Where is my order?"}, ],)print(reply.choices[0].message.content)import OpenAI from "openai" const client = new OpenAI({ baseURL: "https://gateway.worksi.ai/v1", apiKey: process.env.AIW_API_KEY, // name the agent and the workflow behind every call defaultHeaders: { "X-AIW-Agent": "support-bot", "X-AIW-Workflow": "customer-chat", },}) const reply = await client.chat.completions.create({ model: "gpt-5-mini", messages: [{ role: "user", content: "Where is my order?" }],})console.log(reply.choices[0]?.message.content)curl -si https://gateway.worksi.ai/v1/chat/completions \ -H "Authorization: Bearer $AIW_API_KEY" \ -H "Content-Type: application/json" \ -H "X-AIW-Agent: support-bot" \ -H "X-AIW-Workflow: customer-chat" \ -d '{"model": "gpt-5-mini", "messages": [{"role": "user", "content": "Where is my order?"}]}' # the response headers include X-AIW-Trace-Id# and X-AIW-Cost-USDStreaming and tool calling work unchanged, and so do the Responses API and embeddings where your provider serves them (provider presets). The model name is resolved through your organization’s model registry. To pick a provider per call, prefix the model with the credential’s route prefix, for example deepseek/deepseek-flash (route prefixes). Other unregistered models are routed to your default provider and listed under Workforce → Discovered; you can turn that off in Settings → Organization.
Code written for the Anthropic SDK sets its base URL to https://gateway.worksi.ai, without /v1, and uses the same key (details).
5. Open your first trace#
Every response carries X-AIW-Trace-Id and, for non-streaming calls, X-AIW-Cost-USD. Traces appear within one to two seconds:
- Operations → Live shows calls as they arrive;
- Operations → Traces opens the full trace: model, latency, tokens, cost, status, and the request and response previews your capture mode allows;
- Onboarding marks the step done and shows your time to first value.
| Symptom | Likely cause |
|---|---|
401 invalid_api_key | Wrong, revoked or expired key, or a key from another deployment |
403 model_not_allowed | The model is blocked, missing from an allowlist policy, or unregistered models are disallowed |
502 provider_error on every call | The provider credential is wrong, disabled or unreachable. Use Test on the provider. |
400 unsupported_endpoint | The model’s provider does not serve this endpoint, for example embeddings on Anthropic |
402 subscription_inactive | The trial has ended or the subscription is inactive. See pricing. |
| The request works but no trace shows | Check the workspace, environment and time-range selectors in the top bar |
Next steps#
- Trace whole workflows (runs, steps, tools, approvals and outcomes) with the Python SDK or the TypeScript SDK.
- Give AI assistants and agents governed tool access over MCP.
- Add guardrails with policies, starting in monitor mode.
- Meter your own customers’ AI usage with end‑user plans.
- Route incidents and alerts to email, Slack or a webhook.
Questions? Email info@xeoo.io.