Record a setup step
const url = 'http://127.0.0.1:7700/api/setup/step';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"id":"network","data":{"wired":true}}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url http://127.0.0.1:7700/api/setup/step \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "id": "network", "data": { "wired": true } }'Owner only. Marks a step as taken. suggested in GET /setup lists the usual ids; the box accepts any id. data is at most 4 KB and holds answers, never keys; keys go to PUT /vault/{name}. The log records the step id only.
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”object
Answers for this step. At most 4 KB as JSON.
Example
{ "id": "network", "data": { "wired": true }}Responses
Section titled “Responses”The setup state.
object
Whether tasks can run: the vault holds a model key. via is factory with FACTORY_API_KEY, anthropic with only ANTHROPIC_API_KEY, or null with neither.
object
Where the Droid download stands. A task that needs Droid waits, queued, until ready.
object
False until the vault holds a model key. Without one no Droid task can start.
The box already ran tasks when setup arrived
object
object
The usual step ids, in order. Server’s screen skips folders, and Personal’s skips network, name and updates. The box accepts any id.
The setup port for setting up from another computer.
object
When the port closes by itself.
The addresses another computer can use.
The box’s remote access address
object
Example
{ "model": { "via": "factory" }, "droid": { "state": "ready" }, "suggested": [ "welcome", "network", "name", "phone", "models", "folders", "safety", "updates" ]}A bad step id, or data over 4 KB.
object
What went wrong
Example generated
{ "error": "example"}The owner’s route, called by someone who is not the box’s own screen or a device paired as the owner.
object
What went wrong
Example
{ "error": "only this computer's own screen or the owner's paired device can do this"}