Operations
Each fleet has one long-lived operation composed from its mission templates. A template is one operation step. Create or edit templates to change the operation; do not create a separate plan object.
The former plan draft, validation, and deployment lifecycle and its plans endpoints were removed. The old operation list, feedback, progress, history, per-action control, operation-priority, and operation-wide reset-decomposers routes were also replaced by the Agent API.
Authentication
Use operations:read for live operation context and operations:control for lifecycle and scheduled-command control. Template authoring and mission priorities use missions:write.
Read live operation state
Use these Agent API tools:
| Tool | Purpose |
|---|---|
get-runtime-status |
Fleet rollup or live operation, robot, and schedule status. |
get-entity with kind: "operation" |
Detailed operation state. |
query-entities with kind: "operation" |
Resolve the fleet operation. |
get-map-context |
Feature geometry and robot positions relevant to work. |
The fleet manifest also returns the operation as one object, not an array:
{
"operation": {
"operation_id": "operation-uuid",
"name": "North yard operation"
}
}
Control the operation
POST /v1/agent/control-operation
Supported actions include start, pause, reset, restart, abort_missions, reset_step, assign_robot, unassign_robot, and reset_decomposers.
{
"org_id": "org-uuid",
"fleet_id": "fleet-uuid",
"action": "start"
}
operation_id is optional because a fleet has one operation. Roster actions target a mission template and robot, rather than an operation-wide robot list.
Mission priorities are changed through:
POST /v1/agent/set-mission-priorities
Priority updates are applied as one batch.
Scheduled commands
Use:
POST /v1/agent/schedule-command
POST /v1/agent/cancel-schedule
schedule-command requires Idempotency-Key and returns 201 Created with status: "scheduled". It is for non-mission commands. Use schedule-mission for mission templates.
The required authorization is derived from the command kind. Resources named inside the command must belong to the target fleet.
Submit one inline job
For one-call job intake, use POST /v1/agent/submit-job. It creates one enabled template and registers its schedule. See Agent API.
Runtime synchronization
Template create, update, delete, and enable operations can return 202 Accepted after persistence if the live operation has not yet confirmed the update. Inspect persistenceState, runtimeSync, and runtimeSyncError before deciding whether to retry.
Audit and events
Use GET /v1/audit-log for command audit entries and GET /v1/events for the full correlated event timeline. The removed nested activity-log endpoint is not a replacement for either.