Skip to content

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.