Skip to main content
Zero to a running agent in five steps. Every command on this page is tested verbatim against a live deploy.
1

Install the CLI

Prefer not to install it globally? Every command below also works as npx @usenaive-sdk/vetta-cli ….The snippets below use jq to capture ids from JSON output (… | jq -r .id) — install it, or copy the agt_... / ses_... ids from the output by hand.Working with a coding agent? Point it at the onboarding manifest — https://usenaive.ai/skill.md — and it will walk your operator through everything on this page. Every command below is also a REST call against the API, so curl works before the CLI does.
2

Authenticate

The CLI stores a profile — a credential plus base URL — and never prints it back.
Confirm which organization you are pointed at before you spend anything:
VETTA_API_KEY and VETTA_API_BASE_URL override the stored profile for a single command, so scripts and CI never need a config file at all.
3

Add credits

Billing is real US dollars, prepaid. topup prints a hosted checkout link — nothing is credited until the payment settles.
Your organization is the billing entity; every agent draws from the same balance. See Billing.
4

Create an agent

An agent bundles a model, a system prompt, a completion window, and a budget — the budget is required, so every agent has a spend cap from birth.
Later commands take the id, not the name. vetta models list prints the model ids and the completion windows each supports.
You do not attach a computer to an agent. A session provisions its own fresh sandbox only when the agent’s tools need one — a text-only agent pays nothing for a box it won’t use.
5

Run it and stream the output

A session is one directly-controlled run: create it with its first message, then stream events.
The stream is the whole truth of the run — every model call with its quote, every tool call, the reply, the usage line:
Follow up with vetta session send --session "$SID" --text "…"; resume a dropped stream with --after-seq.
6

Read the meter

Every dollar is metered per component, per agent, and per session.
Files the agent published during the run are listed with vetta file list --scope session --session "$SID".

Create an API key for programmatic access

Code authenticates with a scoped API key — the secret is returned once and never again:

Driving a sandbox directly

A computer is a disposable Linux sandbox you can drive yourself, independently of any agent. Pause it to bill storage only. Sessions always get their own sandbox — a computer you create here is never handed to one. See the Computer reference.

The same arc over HTTP

The CLI is a thin client over the REST API; the whole arc above is a few requests.
See the API overview for auth, pagination, idempotency and the shared error envelope.

Next: how Vetta works

Harness, runtime, tools — the three layers that make a finished task cheap.