{{ st.title }}
{{ st.lead }}
{{ st.progLabel }}
{{ st.progSub }}
Get started
Five steps. About five minutes.
Setup complete
The CLI is installed, you have a key and your first request worked.
{{ s.n }}
{{ s.title }}
{{ s.sub }}
{{ c.label }}
{{ c.prompt }}{{ c.text }}
{{ c.label }}
{{ c.prompt }}{{ c.text }}
{{ s.hint }}
{{ s.out }}
{{ c.label }}
{{ c.prompt }}{{ c.text }}
{{ s.code }}
Runs in this preview with your new key
{{ s.respMeta }}
{{ s.resp }}
{{ s.balance }}available
Usage
Spend · last 14 days
{{ st.uSpend }}
{{ x.label }}
{{ x.value }}
Billing
Balance
{{ balanceLabel }}
{{ autoTopLine }}
{{ r.k }}{{ r.v }}
{{ st.statusTitle }}
{{ v.name }}
{{ v.up }}
Recent activity
{{ a.text }}
{{ a.meta }}
What’s new
{{ n.tag }}{{ n.date }}
{{ n.title }}
{{ n.body }}
Help and community
{{ h.title }}
{{ h.sub }}
Docs
Guides, API reference and CLI commands.
{{ r.title }}{{ r.group }}
{{ r.snip }}
{{ doc.noResultsText }}
{{ doc.cur.group }}

{{ doc.cur.title }}

{{ doc.cur.lead }}

{{ b.x }}

{{ b.x }}

{{ b.label }}
{{ b.x }}
{{ it.k }}{{ it.v }}
{{ b.x }}
Was this page helpful?
{{ doc.voteText }}
{{ greeting }}
{{ ws.name }} · Everything your apps sent through Xoobo.
Balance
{{ balanceLabel }}
{{ autoTopLine }}
{{ k.label }}
{{ k.value }}
{{ k.delta }} vs previous
{{ ovChart.label }}
{{ ovChart.value }}
{{ ovChart.sub }}
{{ x }}
Top models
{{ m.name }}{{ m.value }}
Quick start
One endpoint for every model. Works with the OpenAI SDK.
{{ codeSnippet }}
Recent requests
{{ r.model }}
{{ r.app }}
{{ r.cost }}
{{ r.time }}
API keys
Create a key for each app so you can limit, track and revoke it on its own.
{{ selKeyLabel }}
KeyExpiresLast usedUsageLimit
{{ k.name }}Disabled
{{ k.masked }}
{{ k.expires }} {{ k.lastUsed }} {{ k.usage }}
{{ k.limit }}{{ k.reset }}
No keys match “{{ f.keyQ.v }}”
{{ keyCountLabel }}
Files Beta
Files API
Upload files, use them in sandboxed tools, and get back the files your tools create.
/
No files yet
Upload a file to get started. Use a folder path like reports/2026/ to keep things organised.
{{ x.ext }}
{{ x.name }}
{{ x.path }}
{{ x.size }} {{ x.when }}
{{ fileCountLabel }}
Guardrails
Spending limits, data rules and model restrictions for the keys in this workspace.
NameStatusPoliciesMembersKeys
{{ g.name }}Default
{{ g.desc }}
{{ g.policies }} {{ g.members }} {{ g.keys }}
No guardrails match
{{ guardCountLabel }}
Bring your own keys
Use your own provider keys. Requests made with them are billed by the provider, and Xoobo only charges a small routing fee.
Configured
{{ p.letter }} {{ p.name }} {{ p.status }}
Available
{{ p.letter }} {{ p.name }} {{ p.status }}
No providers match
Routing
Choose how Xoobo picks a model and a provider for each request.
Auto router
Cost tier
Lower tiers favour cheaper models. Higher tiers favour stronger ones.
Only route to
Model patterns, separated by commas or new lines. Leave empty to allow every model.
Never route to
Applied after the list above, so an excluded model is never picked.
Prevent overrides
Ignore model lists sent with individual requests.
Send xoobo/auto as the model name to use the auto router.
Providers
Sort by
How providers are ranked when several serve the same model.
Fallbacks
Try the next provider when one fails or is rate limited.
Max price
Skip providers above this price per million tokens.
$
You have unsaved changes
Presets
Save a model, a system prompt and settings, then call them by name from any app.
No presets yet
Create a preset to reuse a model and its settings across your apps.
{{ p.name }}
@preset/{{ p.slug }}
{{ p.model }}Temp {{ p.temp }}
{{ p.system }}
Tools
Built-in tools your models can call during a request. Turn on only what your apps need.
Server tools
Web search
Search the web and cite sources in the answer.
Results
{{ webMax }}
Engine
Code execution
Run Python and shell commands in a private sandbox for 30 seconds at a time.
Image generation
Let text models ask an image model to draw.
Fetch a page
Read the contents of a link the user shares.
File search
Search files you uploaded. Needs the Files API.
Tool calls are billed at the model’s normal rate plus the tool price shown on each model page.
Workspace config
Settings every Xoobo CLI signed in to {{ wcWsName }} picks up when it starts. A config file on the computer or in the project can still override them.
{{ wc.syncLabel }}
Model
Default model
{{ wc.modelId }}
Used when a session doesn’t pick one.
Small model
{{ wc.smallId }}
Writes session titles and summaries.
Permissions
File edits
Writing and deleting files in the project.
Shell commands
Running commands like npm test or git push.
Web fetch
Opening web pages and reading them.
Outside the project
Reading or changing files outside the project folder.
Ask shows a prompt in the terminal before each action.
MCP servers
{{ wc.formHint }}
{{ m.name }}{{ m.typeLbl }}
{{ m.target }}
No MCP servers yet. Add one to give the CLI more tools.
Sharing and updates
Session sharing
{{ wc.shareSub }}
Auto-update
{{ wc.updateSub }}
What the CLI receives
{{ wc.json }}
Sent from /api/config each time the CLI starts.
Shared sessions
Conversations shared from the Xoobo CLI. Anyone with the link can read them until you turn the link off.
Sharing is off
Nobody in this workspace can share new sessions.
{{ shr.countLabel }}
{{ s.title }}
{{ s.meta }}
{{ s.views }}
{{ m.who }}{{ m.text }}
Continue it in your terminal
${{ s.imp.text }}
{{ s.link }}
{{ shr.emptyTitle }}
{{ shr.emptySub }}
Cloud tasks
Run Xoobo on GitHub Actions in your own repository. Each task works on its own branch and opens a pull request, so no Xoobo server runs your code.
Set up once
1
Add the workflow to your repository
Run this in the repository folder. It writes the GitHub Actions workflow and offers to save your provider key as a repository secret.
${{ ct.setup.text }}
2
Push it to GitHub
Tasks can start once the workflow is on your default branch.
${{ ct.push.text }}
Start a task
Model
Effort
Branch
Run this in the repository folder
${{ ct.run.text }}
Follow along
{{ c.text }}
{{ c.sub }}
Devices
Computers signed in to {{ wcWsName }} with the Xoobo CLI. Signing one out removes its access right away.
Sign in a new device
1
Run this on the new computer
Your browser opens and the terminal shows a code.
${{ dv.login.text }}
2
Enter the code from the terminal
Check it matches before you approve.
Signed in · {{ dv.count }}
{{ d.name }}Update available
{{ d.meta }}
Run xoobo upgrade on this computer.
{{ d.seen }}
No devices are signed in. Use the steps above to add one.
Coming soon
{{ soon.title }}
{{ soon.desc }}
{{ soon.hint }}
${{ soon.cmd.text }}
Observability
Send a trace of every request to the tools your team already uses.
Destinations
What to send
Prompts and completions
Turn off to send only timing, tokens and cost.
Request metadata
User IDs, tags and app names.
Sampling
{{ sampleLabel }}
Classifiers Beta
Label every request with a small, fast model, then filter Logs and Activity by label.
{{ c.name }}
{{ c.meta }}
{{ l.name }}{{ l.pct }}
Try it
Label{{ c.result }}
{{ c.conf }} sure
No classifiers yet
Create one to sort requests into labels like Refund, Shipping or Quality.
Workspace settings
{{ ws.name }}
General
Name
Shown to everyone in this workspace.
Workspace ID
Use it in API calls that target this workspace.
{{ ws.wid }}
Default model
Used when a request doesn’t name a model.
Members
{{ m.initial }}
{{ m.name }}
{{ m.email }}
Invited Owner
Delete workspace
Removes its keys, CLI config and shared sessions. This can’t be undone.
M
M Aamir Mursleen
{{ email }}
Usage summary
{{ pf.value }}
{{ pf.delta }} {{ pf.sub }}
{{ x }}
Credits {{ pf.credits }}Your keys {{ pf.byok }}
Top models by {{ pf.metricLabel }}
{{ m.name }}{{ m.value }}
Activity{{ heat.hover }}
{{ s.label }}
{{ s.value }}
{{ m.label }}
MWF
LessMore
Activity
Your usage across every model on Xoobo.
GMT+5
{{ k.label }}
{{ k.value }}
{{ k.delta }} vs previous
Top API keys
{{ r.rank }}
{{ r.name }}
{{ r.sub }}
{{ r.value }}
Top apps
{{ r.rank }}{{ r.initial }}{{ r.name }}{{ r.value }}
Usage by model{{ actHover }}
{{ x }}
Logs
Every request with its tokens, cost and speed. Click a row for the full details.
{{ logHistLabel }}{{ logHistHover }}
{{ c.label }}
{{ c.t }}
Nothing matches “{{ f.logQ.v }}”
{{ logCountLabel }}
Credits
Personal account · {{ email }}
Available
{{ balanceLabel }}
Pay-as-you-go balance
To move credits to an organisation, turn on two-step verification.
Buy creditsPay with crypto
$
Platform fee (5.5%){{ buyFee }}
You pay{{ buyTotal }}
{{ buyNote }}
Auto top-up
Top up automatically
{{ autoTopLine }}
Add
$
when the balance drops below
$
Recent transactions
{{ x.date }} {{ x.desc }} {{ x.method }} {{ x.amount }}
Management keys
Keys that create, update and delete API keys through the API. They can’t call models.
No management keys
Create one to provision API keys for your customers or CI from code.
{{ k.name }}
{{ k.masked }}
Created {{ k.created }} {{ k.lastUsed }}
Notifications
Pick what you hear about and where it goes.
Budget and spend
Low balance
Email me when my balance drops below this amount.
$
Daily spend
Warn me when a single day costs more than this.
$
Weekly summary
Spend, top models and errors, every Monday morning.
Models
Deprecations
When a model you use is about to be retired.
Price drops
When a model you use gets cheaper.
New models
When a provider you use releases a model.
Deliver to
Email
{{ email }}
On
Slack
{{ slackSub }}
Webhook
{{ webhookUrl }}
Privacy
Rules for every key on your account. Guardrails can tighten them further inside a workspace.
Zero data retention
All other models
Every other request must use an endpoint that stores nothing.
A
Anthropic
Turns off first-party Anthropic. Bedrock and Vertex stay on.
O
OpenAI
Turns off first-party OpenAI. Azure stays on.
G
Google
Turns off AI Studio. Vertex stays on.
X
xAI
Turns off xAI endpoints that keep data.
Only applies to provider routing. Tools and plugins you turn on follow their own policies.
Model training
Paid endpoints that train on data
Allow providers that may use your requests to improve their models.
Free endpoints that train on data
Most free models need this. Turning it off hides them.
Logging
Keep prompts and completions
Show full messages in Logs. Off keeps only tokens, cost and timing.
Keep logs for
Older entries are deleted automatically.
Preferences
Account
Two-step verification
{{ tfaSub }}
Organisation
{{ orgSub }}
Account tier
Standard · 5.5% fee on top-ups
{{ tier }}
Wallpaper
Auto contrast
Adjusts text and glass so every wallpaper meets WCAG 2.0 AA.
{{ contrastLabel }}
Blur
Blur the wallpaper so the sidebar and cards stand out.
{{ wallBlurLabel }}
Soften
Fade busy photos so text stays easy to read.
{{ wallSoftenLabel }}
Display
Accent colour
Buttons, charts and highlights everywhere.
Date format
Used in Logs, Activity and Credits.
Browser
Analytics cookies
Help us improve the console.
Browser notifications
When a long request finishes while the tab is in the background.
Attestations
18+ age confirmation
I confirm that I am 18 years of age or older.
Confirmed
{{ keyModalTitle }}
Name
Credit limit
$
Requests stop once the key has spent this much.
Resets
Expires
Copy your key now. For your security it won’t be shown again.
{{ keySecret }}
{{ guardTitle }}
Name
Monthly budget per key
$
Allowed providers
Leave all off to allow every provider.
Zero data retention
Only use endpoints that store nothing
{{ byokSel.name }}
{{ byokSel.letter }}
{{ byokSel.desc }}
API key
Encrypted at rest. Only used for requests from this account.
Always use this key
Fall back to Xoobo credits only if it fails
{{ presetTitle }}
Name
Model
System prompt
Temperature · {{ f.pTemp.v }}
Lower is more focused. Higher is more creative.
{{ destSel.name }}
{{ destSel.letter }}
{{ destSel.desc }}
{{ destSel.urlLabel }}
API key
New classifier
Name
Labels
Separate labels with commas. Two to six works best.
Model
New workspace
Name
Workspaces keep keys, usage and CLI config separate.
Two-step verification
QR code
Scan with your authenticator app, or type this key.
XOOB 7KQ2 MZP9 TRA4
6-digit code
Create organisation
Name
Share credits, keys and CLI config with your team.
esc
Nothing matches
{{ toastMsg }}
Xoobo apps
Xoobo {{ curtainLabel }}