intentic
Download the app
Download the app
Start here

Sandbox API

Every call an intentic sandbox answers (363 of them), generated from the wire contract the daemon and its own browser client both import. Each one has a playground on its page that answers you back.

On this page(4 sections)

Whose API this is

There is no intentic API in the cloud that reaches your code. The platform holds your identity and your sandbox's address and nothing else. Everything documented here is served by your daemon, inside your container, on hardware you own, and the only way in is a credential you minted yourself.

That is also why the playgrounds on these pages answer from a simulation in your own tab rather than by calling anything. There is no shared server to point a demo at, and a demo that needed you to have a sandbox, sign in to it and open its door first would be a demo almost nobody reached. What the playground gives you instead is every one of the 363 calls, including the destructive ones, with the real address, the real fields and the real shapes, and beside each one, the curl that does it for real.

In one minute

The call most people are here for, and the one that shows the API's whole personality: start work, then watch it.

Drive an agent from a script
SANDBOX=https://sandbox-a1b2c3d4e5f6.intentic.dev

# Say something to an agent. It answers as soon as the run exists; the work is detached.
curl -X POST "$SANDBOX/agent" \
  -H "x-intentic-control: $INTENTIC_TOKEN" \
  -H "content-type: application/json" \
  -d '{"prompt":"Update the changelog for the last five commits.",
       "conversationId":"nightly-changelog",
       "isolated":true}'

{ "run": "run_8c2f41d9" }

# Watch it happen, from the start or from wherever you got to.
curl -N -X POST "$SANDBOX/agent/attach" \
  -H "x-intentic-control: $INTENTIC_TOKEN" \
  -H "content-type: application/json" \
  -d '{"conversationId":"nightly-changelog","after":0}'

Starting a turn hands back a run id and nothing else, because the work runs inside the sandbox whether or not you stay connected. Any number of watchers can attach to the same run from any number of devices; a reload loses nothing. Read Authorising a call for where that token comes from, and The shape of a call for the two conventions that cover all 363.

The whole surface

Thirty-seven groups on seven shelves. Nothing below was typed by hand: the groups, their routes and every field in them come from the contract, and only the sentence under each name is written by a person.

Agents

Say something to an agent, watch it work, and decide what happens to what it wrote.

The workspace

The files and repos the agents work on, and the history of both.

Agent setup

The instructions, characters and add-ons that decide how an agent behaves.

Connected systems

The outside world: accounts, credentials, tunnels and the infrastructure you declared.

Models and accounts

Which models are available, whose subscription pays for them, and what has been spent.

Ship and share

Checks before code leaves the machine, and the ways work reaches other people.

The sandbox itself

The daemon's own identity, its live event stream, and the record it keeps.

How this is made

The daemon and the app share one typed contract: it declares every route's method, path, input shape and output shape, and both sides import it rather than agreeing to match. These pages are that contract rendered, so they cannot describe a route the daemon does not serve, and a route added to the contract is documented the day it lands.

The same thing is served as a machine-readable document at openapi.json: OpenAPI 3.1, for a client generator, an editor's HTTP plugin, or a model that needs to be told what a sandbox can do.

More in Start here

Type to search every page, in the docs and the API reference.