Anduril Industries Tasks API

Create, update, query, cancel, and stream tasks; agent-side listen/stream endpoints.

Operations 9

POST /tasks Create a task
GET /tasks/{task_id} Get a task by ID
PATCH /tasks/{task_id}/status Update task status
POST /tasks/{task_id}:cancel Cancel a task
POST /tasks:query Query tasks
GET /tasks:stream Stream tasks (SSE)
POST /tasks:listenAsAgent Long-poll as an agent
GET /tasks:streamAsAgent Stream as an agent (SSE)
GET /tasks/{task_id}/manualControlFrames:stream Stream manual control frames (SSE)

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/anduril-tasks-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

anduril-tasks-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Anduril Lattice REST Entities Tasks API
  version: v1
  description: 'REST/JSON surface of the Anduril Lattice SDK. Lattice exposes a common operating-picture data fabric for defense partners. The API is organized around three resource families: Entities (anything of operational significance: assets, tracks, geos, sensors), Tasks (sequential commands issued to connected agents with lifecycle and acknowledgements), and Objects (distributed binary payloads such as imagery and telemetry, up to 1 GiB). Authentication uses OAuth 2.0 client credentials to mint short-lived bearer tokens, or direct partner-issued bearer tokens. Production environments are partner-gated and subject to U.S. export controls (ITAR/EAR). Endpoints were reconstructed from the public Lattice SDK reference; gRPC/Protobuf transports are also available but are not described here.'
  contact:
    name: Anduril Developer Portal
    url: https://developer.anduril.com/
servers:
- url: https://api.{environment}.anduril.com
  description: Partner-specific Lattice environment
  variables:
    environment:
      default: developer
      description: Lattice environment subdomain provisioned for the partner
security:
- bearerAuth: []
- oauth2ClientCredentials: []
tags:
- name: Tasks
  description: Create, update, query, cancel, and stream tasks; agent-side listen/stream endpoints.
paths:
  /tasks:
    post:
      tags:
      - Tasks
      summary: Create a task
      description: Create a new task with an auto-generated or specified ID; initializes with STATUS_CREATED.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Task'
      responses:
        '200':
          description: Task created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Task'
  /tasks/{task_id}:
    get:
      tags:
      - Tasks
      summary: Get a task by ID
      parameters:
      - $ref: '#/components/parameters/TaskId'
      responses:
        '200':
          description: Task details including status, specification, and relations
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Task'
  /tasks/{task_id}/status:
    patch:
      tags:
      - Tasks
      summary: Update task status
      description: Update task status as it progresses; increments status_version for optimistic consistency.
      parameters:
      - $ref: '#/components/parameters/TaskId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                status:
                  type: string
                status_version:
                  type: integer
      responses:
        '200':
          description: Status updated
  /tasks/{task_id}:cancel:
    post:
      tags:
      - Tasks
      summary: Cancel a task
      description: Immediate cancellation if the task has not been sent to an agent; otherwise routes to the agent for decision.
      parameters:
      - $ref: '#/components/parameters/TaskId'
      responses:
        '200':
          description: Cancellation accepted
  /tasks:query:
    post:
      tags:
      - Tasks
      summary: Query tasks
      description: Search tasks by parent ID, status, time range, assignee, and type. Paginated.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                parent_task_id:
                  type: string
                statuses:
                  type: array
                  items:
                    type: string
                assignee:
                  type: string
                task_type:
                  type: string
                start_time:
                  type: string
                  format: date-time
                end_time:
                  type: string
                  format: date-time
                page_size:
                  type: integer
                page_token:
                  type: string
      responses:
        '200':
          description: Page of tasks
          content:
            application/json:
              schema:
                type: object
                properties:
                  tasks:
                    type: array
                    items:
                      $ref: '#/components/schemas/Task'
                  next_page_token:
                    type: string
  /tasks:stream:
    get:
      tags:
      - Tasks
      summary: Stream tasks (SSE)
      description: SSE stream delivering existing non-terminal tasks and real-time updates with heartbeats.
      responses:
        '200':
          description: SSE stream of task updates
          content:
            text/event-stream:
              schema:
                type: string
  /tasks:listenAsAgent:
    post:
      tags:
      - Tasks
      summary: Long-poll as an agent
      description: Long-poll connection for agents to receive ExecuteRequest, CancelRequest, and CompleteRequest messages.
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                agent_id:
                  type: string
                session_token:
                  type: string
      responses:
        '200':
          description: Agent task requests
  /tasks:streamAsAgent:
    get:
      tags:
      - Tasks
      summary: Stream as an agent (SSE)
      description: SSE stream for agents to receive task requests (Execute, Cancel, Complete) with heartbeats.
      responses:
        '200':
          description: SSE stream of agent task requests
          content:
            text/event-stream:
              schema:
                type: string
  /tasks/{task_id}/manualControlFrames:stream:
    get:
      tags:
      - Tasks
      summary: Stream manual control frames (SSE)
      description: SSE stream delivering manual control frames to the executing agent; terminates at task completion.
      parameters:
      - $ref: '#/components/parameters/TaskId'
      responses:
        '200':
          description: SSE stream of manual control frames
          content:
            text/event-stream:
              schema:
                type: string
components:
  schemas:
    Task:
      type: object
      description: A sequential command issued to a Lattice-connected agent.
      properties:
        task_id:
          type: string
        display_name:
          type: string
        description:
          type: string
        specification:
          type: object
        status:
          type: object
          properties:
            status:
              type: string
              enum:
              - STATUS_CREATED
              - STATUS_SENT
              - STATUS_ACKED
              - STATUS_EXECUTING
              - STATUS_DONE_OK
              - STATUS_DONE_NOT_OK
              - STATUS_CANCELED
            status_version:
              type: integer
        relations:
          type: object
        assignee:
          type: object
  parameters:
    TaskId:
      name: task_id
      in: path
      required: true
      description: Unique identifier of the task.
      schema:
        type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Bearer token issued via /oauth/token or partner-issued bearer.
    oauth2ClientCredentials:
      type: oauth2
      description: OAuth 2.0 client credentials flow for service-to-service access.
      flows:
        clientCredentials:
          tokenUrl: https://api.developer.anduril.com/oauth/token
          scopes: {}