Anduril Industries Objects API

Upload, fetch, list, and delete distributed binary objects.

Operations 5

GET /api/v1/objects List objects #
GET /api/v1/objects/{objectPath} Get object #
POST /api/v1/objects/{objectPath} Upload object #
DELETE /api/v1/objects/{objectPath} Delete object #
HEAD /api/v1/objects/{objectPath} Get object metadata #

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:anduril-objects-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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-objects-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: REST Objects API
  version: 1.0.0
  description: API to manipulate and interrogate object data on the local node, as well as list objects from the Lattice mesh.
servers:
- url: https://example.developer.anduril.com
  description: https://{server}
tags:
- name: Objects
  description: API to manipulate and interrogate object data on the local node, as well as list objects from the Lattice mesh.
paths:
  /api/v1/objects:
    get:
      operationId: objects_listObjects
      summary: List objects
      description: Lists objects in your environment. You can define a prefix to list a subset of your objects. If you do not set a prefix, Lattice returns all available objects. By default this endpoint will list local objects only.
      tags:
      - Objects
      parameters:
      - name: prefix
        in: query
        description: Filters the objects based on the specified prefix path. If no path is specified, all objects are returned.
        required: false
        schema:
          type: string
      - name: sinceTimestamp
        in: query
        description: 'Filters out objects whose `last_updated_at` is earlier than this timestamp.


          `last_updated_at` records when an object arrived on the node that holds it, so this filter selects objects that arrived since the given time. It is not the time the object was authored: a copy that reaches a node later carries the later arrival time.

          '
        required: false
        schema:
          type: string
          format: date-time
      - name: pageToken
        in: query
        description: Opaque cursor for continuing the same list request. Start a new listing without the previous cursor if any query parameter or listing scope changes.
        required: false
        schema:
          type: string
          format: string
      - name: allObjectsInMesh
        in: query
        description: Lists objects across all environment nodes in a Lattice Mesh. When false or unset, only objects held by the local node are returned.
        required: false
        schema:
          type: boolean
      - name: maxPageSize
        in: query
        description: Sets the maximum number of items that should be returned on a single page.
        required: false
        schema:
          type: integer
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized to access resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - OAuth: []
  /api/v1/objects/{objectPath}:
    get:
      operationId: objects_getObject
      summary: Get object
      description: Fetches an object from your environment using the objectPath path parameter.
      tags:
      - Objects
      parameters:
      - name: objectPath
        in: path
        description: The path of the object to fetch.
        required: true
        schema:
          type: string
          pattern: ^[a-zA-Z0-9/_=\-.]*$
      - name: Accept-Encoding
        in: header
        description: If set, Lattice will compress the response using the specified compression method. If the header is not defined, or the compression method is set to `identity`, no compression will be applied to the response.
        required: false
        schema:
          $ref: '#/components/schemas/ApiV1ObjectsObjectPathGetParametersAcceptEncoding'
      - name: Priority
        in: header
        description: 'Indicates a client''s preference for the priority of the response. The value is a structured header as defined in RFC 9218. If you do not set the header, Lattice uses the default priority set for the environment. Incremental delivery directives are not supported and will be ignored.

          '
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized to access resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: The specified resource was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - OAuth: []
    post:
      operationId: objects_uploadObject
      summary: Upload object
      description: Uploads an object. The object must be 1 GiB or smaller.
      tags:
      - Objects
      parameters:
      - name: objectPath
        in: path
        description: Path of the Object that is to be uploaded.
        required: true
        schema:
          type: string
          pattern: ^[a-zA-Z0-9/_=\-.]*$
      - name: Time-To-Live
        in: header
        description: An optional expiry TTL associated with an object. The value represents the number of nanoseconds the object will exist in the local store. If no TTL is supplied, the server applies a default TTL. In most cases, the default TTL is 90 days. However, it might be higher or lower, depending on the retention requirements of your environment.
        required: false
        schema:
          type: integer
          format: int64
      - name: Distribution-Mode
        in: header
        description: Controls how the object is distributed across the mesh. If set to `force`, the object will be force distributed to all nodes. Force-distributed objects are subject to a size limit.
        required: false
        schema:
          $ref: '#/components/schemas/ApiV1ObjectsObjectPathPostParametersDistributionMode'
      responses:
        '200':
          description: Successful upload
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PathMetadata'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '413':
          description: Content too large
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '507':
          description: Insuccifient Storage
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      requestBody:
        content:
          application/octet-stream:
            schema:
              type: string
              format: binary
      security:
      - OAuth: []
    delete:
      operationId: objects_deleteObject
      summary: Delete object
      description: Deletes an object from your environment given the objectPath path parameter.
      tags:
      - Objects
      parameters:
      - name: objectPath
        in: path
        description: The path of the object to delete.
        required: true
        schema:
          type: string
          pattern: ^[a-zA-Z0-9/_=\-.]*$
      responses:
        '204':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties: {}
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized to access resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - OAuth: []
    head:
      operationId: objects_getObjectMetadata
      summary: Get object metadata
      description: Returns metadata for a specified object path. Use this to fetch metadata such as object size (size_bytes), its expiry time (expiry_time), or when it arrived on the node holding it (last_updated_at).
      tags:
      - Objects
      parameters:
      - name: objectPath
        in: path
        description: The path of the object to query.
        required: true
        schema:
          type: string
          pattern: ^[a-zA-Z0-9/_=\-.]*$
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Objects_getObjectMetadata_Response_200'
        '400':
          description: Not Found
          content:
            application/json:
              schema:
                description: Any type
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                description: Any type
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                description: Any type
      security:
      - OAuth: []
components:
  schemas:
    ContentIdentifier:
      type: object
      properties:
        path:
          type: string
          description: 'A valid path must not contain the following:

            - Spaces or Tabs

            - Special characters other than underscore (_), dash (-), period (.) and slash (/)

            - Non-ASCII characters such as accents or symbols

            Paths must not start with a leading space.

            '
        checksum:
          type: string
          description: The SHA-256 checksum of this object.
      required:
      - path
      - checksum
      title: ContentIdentifier
    Error:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
      required:
      - code
      - message
      title: Error
    Objects_getObjectMetadata_Response_200:
      type: object
      properties: {}
      description: Empty response body
      title: Objects_getObjectMetadata_Response_200
    ListResponse:
      type: object
      properties:
        path_metadatas:
          type: array
          items:
            $ref: '#/components/schemas/PathMetadata'
        next_page_token:
          type: string
      required:
      - path_metadatas
      title: ListResponse
    ApiV1ObjectsObjectPathPostParametersDistributionMode:
      type: string
      enum:
      - force
      title: ApiV1ObjectsObjectPathPostParametersDistributionMode
    PathMetadata:
      type: object
      properties:
        content_identifier:
          $ref: '#/components/schemas/ContentIdentifier'
        size_bytes:
          type: integer
          format: uint64
        last_updated_at:
          type: string
          format: date-time
          description: 'When this object arrived on the node that holds it, according to that node''s clock. Because an object is never modified in place, this is effectively the time the object was created on that node.


            The value is local to the node holding the object and may differ when the same object is held on multiple nodes. It is not propagated from the node where the object originated.

            '
        expiry_time:
          type: string
          format: date-time
      required:
      - content_identifier
      - size_bytes
      - last_updated_at
      title: PathMetadata
    ApiV1ObjectsObjectPathGetParametersAcceptEncoding:
      type: string
      enum:
      - identity
      - zstd
      title: ApiV1ObjectsObjectPathGetParametersAcceptEncoding
  securitySchemes:
    OAuth:
      type: http
      scheme: bearer
x-provenance:
  method: harvested
  publisher: Anduril Industries
  source: https://developer.anduril.com/openapi.json
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)