Agents API: deploy and manage agent runtimes
Deploy, start, stop, restart, and monitor Nora agent containers. Covers all lifecycle endpoints including live stats and gateway URL resolution.The Agents API is the core of Nora. You use it to deploy new agent containers, control their lifecycle (start, stop, restart, redeploy, delete), poll live resource stats, and retrieve the gateway UI URL for direct browser access. Read endpoints include agents you own directly and agents shared with you through workspaces. Destructive deletion remains limited to the direct agent owner.
An agent moves through the following statuses:
queued → deploying → running. From running
it can transition to warning, error, or stopped. Use POST /agents/:id/redeploy to recover an
agent that is in warning, error, or stopped state.List agents
Returns all agents accessible to the authenticated user, ordered by creation time (newest first). Usescope=owned when a UI or integration needs only directly owned agents, such as assignment candidates or quota counters.
Query parameters
Optional.
accessible (default) includes directly owned and workspace-shared agents. owned
returns only directly owned agents.Deploy an agent
Create and queue a new agent for deployment. The agent record is created immediately with statusqueued; the actual container is started asynchronously by the deployment worker.
Request body
Human-readable agent name. Maximum 100 characters. Control characters are stripped. Defaults to
OpenClaw-Agent-<random>.Sandbox type.
standard (Docker) or nemoclaw (NVIDIA NemoClaw). The nemoclaw option requires
nemoclaw to be included in ENABLED_SANDBOX_PROFILES on the server.Number of virtual CPUs. Ignored on PaaS deployments (locked to subscription). On self-hosted,
clamped to operator limits.
RAM allocation in MB. Ignored on PaaS. Minimum
512.Disk allocation in GB. Ignored on PaaS. Minimum
1.Response
Returns the newly created agent record.UUID of the new agent.
Agent display name.
queued — deployment is pending.standard or nemoclaw.Allocated vCPU count.
Allocated RAM in MB.
Allocated disk in GB.
Scheduler node assigned to this agent.
Generated runtime resource name, such as a Docker container name or Kubernetes Deployment name.
ISO 8601 creation timestamp.
| Status | Condition |
|---|---|
400 | Name too long or NemoClaw not enabled |
402 | Billing limit reached |
Get agent
Fetch a single agent by ID. The status is reconciled against the live container state on every call — if the container has stopped unexpectedly the stored status is updated before the response is returned.Path parameters
Agent UUID.
Start agent
Start a stopped agent’s existing container.Path parameters
Agent UUID.
status: "running".
| Status | Condition |
|---|---|
400 | Agent has no container — redeploy first |
404 | Agent not found |
Stop agent
Gracefully stop a running agent’s container. The status is set tostopped regardless of whether the container was already stopped.
Path parameters
Agent UUID.
status: "stopped".
Restart agent
Restart a running agent’s container in place (does not redeploy).Path parameters
Agent UUID.
Response
true when the container was restarted.| Status | Condition |
|---|---|
400 | Agent has no container — redeploy first |
Redeploy agent
Re-queue an agent for a full redeploy. Only available when the agent is inwarning, error, or stopped state. Clears the existing container reference and submits a new deployment job. For Kubernetes-backed agents, the job deletes the previous Deployment, Service, and bootstrap ConfigMap before creating the replacement.
Path parameters
Agent UUID.
Response
true when the redeploy job was queued.queued.| Status | Condition |
|---|---|
400 | Agent is not in warning, error, or stopped state |
Delete agent
Permanently delete an agent and destroy its container.Path parameters
Agent UUID.
Response
true when the agent was deleted.Get live stats
Return a single real-time resource snapshot from the running container. Polls the Docker daemon directly.Path parameters
Agent UUID.
Response
CPU utilisation as a percentage across all cores.
Actual memory usage in MB (excludes page cache).
Memory limit allocated to the container in MB.
Memory usage as a percentage of the limit.
Total received bytes across all network interfaces, in MB.
Total transmitted bytes across all network interfaces, in MB.
Total block device read bytes in MB.
Total block device write bytes in MB.
Number of processes running inside the container.
Seconds since the container last started.
Whether the container is currently running.
| Status | Condition |
|---|---|
409 | Agent has no container |
502 | Could not reach the Docker daemon |
Get stats history
Return time-series container stats stored by the background collector (sampled every 10 seconds, retained for 24 hours).Path parameters
Agent UUID.
Query parameters
Preset time window. One of
5m, 15m, 30m, 1h, 6h, 24h. Ignored when from and to are
provided.ISO 8601 start timestamp for a custom range. Must be used together with
to.ISO 8601 end timestamp for a custom range. Must be used together with
from.CPU % at sample time.
Memory usage in MB at sample time.
Memory limit in MB.
Memory % at sample time.
Cumulative received MB at sample time.
Cumulative transmitted MB at sample time.
Cumulative disk read MB at sample time.
Cumulative disk write MB at sample time.
Process count at sample time.
ISO 8601 timestamp when the sample was recorded.
Get gateway URL
Resolve the HTTP URL of the agent’s embedded gateway control UI. The agent must be inrunning state.
Path parameters
Agent UUID.
Response
Full HTTP URL to the gateway UI, e.g.
http://localhost:32101.Resolved host port number.
| Status | Condition |
|---|---|
409 | Agent is not running, or has no container |
502 | Could not inspect the container to resolve the port |
Get agent budget
List an agent’s LLM spend budgets with current spend attached. When spend crosses 100% of any cap, Nora pauses the runtime automatically (paused_reason becomes budget_exceeded); a warning event fires at the soft threshold.
Response
One entry per period (
daily, weekly, monthly) with limitUsd, softThresholdPct,
currentUsd, pct, and bucket (none | soft | hard).budget_exceeded while the agent is paused by a cap.Set agent budget
Create or update the budget for one period. Requires theagents:write scope.
Request body
daily, weekly, or monthly.Hard cap in USD. Crossing 100% pauses the runtime.
Warning threshold percent (default
80). Emits agent.budget_soft_exceeded.Delete agent budget
paused_reason, and the budget sweep re-pauses it within a minute if a cap is still exceeded.
