On this page

Compute environment status

GET/compute/status

Operation getComputeStatusAuthBearer token

Responses

StatusDescriptionBody
200StatusComputeStatus
statusrequiredstring

One of not_installed, machine_stopped, stopped, starting, running, error

containerNamerequiredstring
activeAgentsrequiredarray<string>
errorstring
Errors 401 · 403 · 503
401Missing or wrong bearer token (unauthorized)
403The request guard refused it: Host header not allowed (host_not_allowed, DNS-rebinding protection) or a browser cross-site request (cross_origin)host_not_allowedcross_origin
503The subsystem is not configured on this daemon

Error bodies use the error format.

Example

Request
curl "http://127.0.0.1:7385/compute/status" \
  -H "Authorization: Bearer $ADF_DAEMON_TOKEN"
Response 200
{
  "status": "running",
  "containerName": "adf-mcp",
  "activeAgents": [
    "agent-1"
  ]
}

List ADF compute containers

GET/compute/containers

Operation listComputeContainersAuthBearer token

Responses

StatusDescriptionBody
200ContainersComputeContainersResponse
containersrequiredarray<ComputeContainer>
3 fields of containers
namerequiredstring
statusrequiredstring
runningrequiredboolean
Errors 401 · 403 · 503
401Missing or wrong bearer token (unauthorized)
403The request guard refused it: Host header not allowed (host_not_allowed, DNS-rebinding protection) or a browser cross-site request (cross_origin)host_not_allowedcross_origin
503The subsystem is not configured on this daemon

Error bodies use the error format.

Example

Request
curl "http://127.0.0.1:7385/compute/containers" \
  -H "Authorization: Bearer $ADF_DAEMON_TOKEN"

Start the shared compute environment

POST/compute/start

Operation startComputeAuthBearer token

No body.

Responses

StatusDescriptionBody
200Status after startComputeStatus
statusrequiredstring

One of not_installed, machine_stopped, stopped, starting, running, error

containerNamerequiredstring
activeAgentsrequiredarray<string>
errorstring
Errors 401 · 403 · 500 · 503
401Missing or wrong bearer token (unauthorized)
403The request guard refused it: Host header not allowed (host_not_allowed, DNS-rebinding protection) or a browser cross-site request (cross_origin)host_not_allowedcross_origin
500Unexpected runtime failure
503The subsystem is not configured on this daemon

Error bodies use the error format.

Example

Request
curl -X POST "http://127.0.0.1:7385/compute/start" \
  -H "Authorization: Bearer $ADF_DAEMON_TOKEN"
Response 200
{
  "status": "running",
  "containerName": "adf-mcp",
  "activeAgents": [
    "agent-1"
  ]
}

Stop the daemon's compute containers

POST/compute/stop

Operation stopComputeAuthBearer token

No body.

Responses

StatusDescriptionBody
200Status after stopComputeStatus
statusrequiredstring

One of not_installed, machine_stopped, stopped, starting, running, error

containerNamerequiredstring
activeAgentsrequiredarray<string>
errorstring
Errors 401 · 403 · 500 · 503
401Missing or wrong bearer token (unauthorized)
403The request guard refused it: Host header not allowed (host_not_allowed, DNS-rebinding protection) or a browser cross-site request (cross_origin)host_not_allowedcross_origin
500Unexpected runtime failure
503The subsystem is not configured on this daemon

Error bodies use the error format.

Example

Request
curl -X POST "http://127.0.0.1:7385/compute/stop" \
  -H "Authorization: Bearer $ADF_DAEMON_TOKEN"
Response 200
{
  "status": "running",
  "containerName": "adf-mcp",
  "activeAgents": [
    "agent-1"
  ]
}

Destroy the daemon's compute containers and images

POST/compute/destroy

Operation destroyComputeAuthBearer token

No body.

Responses

StatusDescriptionBody
200DestroyedComputeDestroyResponse
successrequiredboolean

Value true

statusrequiredobject
4 fields of status · ComputeStatus
statusrequiredstring

One of not_installed, machine_stopped, stopped, starting, running, error

containerNamerequiredstring
activeAgentsrequiredarray<string>
errorstring
Errors 401 · 403 · 405 · 500 · 503
401Missing or wrong bearer token (unauthorized)
403The request guard refused it: Host header not allowed (host_not_allowed, DNS-rebinding protection) or a browser cross-site request (cross_origin)host_not_allowedcross_origin
405Not available on this daemon (the subsystem is read-only or lacks this operation)
500Unexpected runtime failure
503The subsystem is not configured on this daemon

Error bodies use the error format.

Example

Request
curl -X POST "http://127.0.0.1:7385/compute/destroy" \
  -H "Authorization: Bearer $ADF_DAEMON_TOKEN"

Run a compute setup step

POST/compute/setup

Operation setupComputeAuthBearer token

Studio's compute setup steps. check reports availability (Podman, machine, installMethods); any other step name is refused before Podman is probed. install runs installCommand only when it exactly matches the command of an autoRunnable entry in availability.installMethods from check (e.g. /opt/homebrew/bin/brew install podman); anything else is refused with "Install command is not one this runtime can run automatically" and nothing runs. Methods with a url are for the user to open; on Linux every method needs sudo, so install is always refused there. machine_init sizes the Podman machine from compute settings machineMemoryMb / machineCpus (missing, invalid or larger than the host: 2048 MB, 2 CPUs). Step failures answer 200 with success: false.

Request bodyapplication/json · ComputeSetupBody · required

FieldTypeDescription
steprequiredstring

One of install, machine_init, machine_start, check

installCommandstring

step=install: must exactly match an autoRunnable command in availability.installMethods from step=check; anything else is refused

Responses

StatusDescriptionBody
200Step outcomeComputeSetupResponse
successrequiredboolean
errorstring
availabilityobject

Podman availability: binPath, version, machine state, installMethods, prerequisites

Errors 400 · 401 · 403 · 405 · 500 · 503
400Invalid request: missing or malformed field, query parameter or body. A body Fastify cannot parse gets Fastify's own shape (statusCode, code, error, message).bad_requestFST_ERR_CTP_EMPTY_JSON_BODY
401Missing or wrong bearer token (unauthorized)
403The request guard refused it: Host header not allowed (host_not_allowed, DNS-rebinding protection) or a browser cross-site request (cross_origin)host_not_allowedcross_origin
405Not available on this daemon (the subsystem is read-only or lacks this operation)
500Unexpected runtime failure
503The subsystem is not configured on this daemon

Error bodies use the error format.

Example

Request
curl -X POST "http://127.0.0.1:7385/compute/setup" \
  -H "Authorization: Bearer $ADF_DAEMON_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"step":"check"}'

Recent container exec log

GET/compute/exec-log

Operation getComputeExecLogAuthBearer token

Query parameters

NameTypeDescription
namestring

Only this container's entries

Responses

StatusDescriptionBody
200EntriesComputeExecLogResponse
entriesrequiredarray<ComputeExecLogEntry>
7 fields of entries
timestamprequiredinteger
containerNamerequiredstring
commandrequiredstring
exitCoderequiredinteger
stdoutrequiredstring

Truncated

stderrrequiredstring

Truncated

durationMsrequiredinteger
Errors 401 · 403 · 405 · 503
401Missing or wrong bearer token (unauthorized)
403The request guard refused it: Host header not allowed (host_not_allowed, DNS-rebinding protection) or a browser cross-site request (cross_origin)host_not_allowedcross_origin
405Not available on this daemon (the subsystem is read-only or lacks this operation)
503The subsystem is not configured on this daemon

Error bodies use the error format.

Example

Request
curl "http://127.0.0.1:7385/compute/exec-log" \
  -H "Authorization: Bearer $ADF_DAEMON_TOKEN"

One container's live detail

GET/compute/containers/{name}

Operation getComputeContainerAuthBearer token

Path parameters

NameTypeDescription
namerequiredstring

Container name

Responses

StatusDescriptionBody
200DetailComputeContainerDetail
successrequiredboolean

Value true

overviewrequiredobject | null

Parsed podman inspect summary

processesrequiredstring
packagesrequiredstring
workspacerequiredstring
logsrequiredstring
inspectrequiredstring

Raw podman inspect JSON

Errors 401 · 403 · 405 · 500 · 503
401Missing or wrong bearer token (unauthorized)
403The request guard refused it: Host header not allowed (host_not_allowed, DNS-rebinding protection) or a browser cross-site request (cross_origin)host_not_allowedcross_origin
405Not available on this daemon (the subsystem is read-only or lacks this operation)
500Unexpected runtime failure
503The subsystem is not configured on this daemon

Error bodies use the error format.

Example

Request
curl "http://127.0.0.1:7385/compute/containers/NAME" \
  -H "Authorization: Bearer $ADF_DAEMON_TOKEN"

Start one container

POST/compute/containers/{name}/start

Operation startComputeContainerAuthBearer token

No body.

Path parameters

NameTypeDescription
namerequiredstring

Container name

Responses

StatusDescriptionBody
200OutcomeSuccessResponse
successrequiredboolean
Errors 401 · 403 · 405 · 500 · 503
401Missing or wrong bearer token (unauthorized)
403The request guard refused it: Host header not allowed (host_not_allowed, DNS-rebinding protection) or a browser cross-site request (cross_origin)host_not_allowedcross_origin
405Not available on this daemon (the subsystem is read-only or lacks this operation)
500Unexpected runtime failure
503The subsystem is not configured on this daemon

Error bodies use the error format.

Example

Request
curl -X POST "http://127.0.0.1:7385/compute/containers/NAME/start" \
  -H "Authorization: Bearer $ADF_DAEMON_TOKEN"
Response 200
{
  "success": true
}

Stop one container

POST/compute/containers/{name}/stop

Operation stopComputeContainerAuthBearer token

No body.

Path parameters

NameTypeDescription
namerequiredstring

Container name

Responses

StatusDescriptionBody
200OutcomeSuccessResponse
successrequiredboolean
Errors 401 · 403 · 405 · 500 · 503
401Missing or wrong bearer token (unauthorized)
403The request guard refused it: Host header not allowed (host_not_allowed, DNS-rebinding protection) or a browser cross-site request (cross_origin)host_not_allowedcross_origin
405Not available on this daemon (the subsystem is read-only or lacks this operation)
500Unexpected runtime failure
503The subsystem is not configured on this daemon

Error bodies use the error format.

Example

Request
curl -X POST "http://127.0.0.1:7385/compute/containers/NAME/stop" \
  -H "Authorization: Bearer $ADF_DAEMON_TOKEN"
Response 200
{
  "success": true
}

Destroy one container

POST/compute/containers/{name}/destroy

Operation destroyComputeContainerAuthBearer token

No body.

Path parameters

NameTypeDescription
namerequiredstring

Container name

Responses

StatusDescriptionBody
200OutcomeSuccessResponse
successrequiredboolean
Errors 401 · 403 · 405 · 500 · 503
401Missing or wrong bearer token (unauthorized)
403The request guard refused it: Host header not allowed (host_not_allowed, DNS-rebinding protection) or a browser cross-site request (cross_origin)host_not_allowedcross_origin
405Not available on this daemon (the subsystem is read-only or lacks this operation)
500Unexpected runtime failure
503The subsystem is not configured on this daemon

Error bodies use the error format.

Example

Request
curl -X POST "http://127.0.0.1:7385/compute/containers/NAME/destroy" \
  -H "Authorization: Bearer $ADF_DAEMON_TOKEN"
Response 200
{
  "success": true
}