Markforged Devices API

The Devices API from Markforged — 4 operation(s) for devices.

OpenAPI Specification

markforged-devices-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Eiger API V3 Builds Devices API
  description: REST API for the Markforged Eiger cloud 3D printing platform. The Eiger API is organized around resources (devices, builds, print jobs, parts, printed parts, users) each addressable at its own URI, accessed with standard HTTP methods. Responses are JSON. Authentication is HTTP Basic Auth using an Eiger Access Key (username) and Secret Key (password). Requests must use the fully qualified host https://www.eiger.io to avoid redirect/security issues. This document models the publicly documented Eiger API V3 surface; consult the official reference at https://www.eiger.io/developer/spec for request and response schemas, which are not fully reproduced here.
  termsOfService: https://markforged.com/terms
  contact:
    name: Markforged / Eiger Support
    url: https://support.markforged.com/portal/s/
  version: v3
servers:
- url: https://www.eiger.io/api/v3
security:
- basicAuth: []
tags:
- name: Devices
paths:
  /devices:
    get:
      operationId: listDevices
      tags:
      - Devices
      summary: List all devices (printers) in the organization.
      responses:
        '200':
          description: A list of devices.
  /devices/{device_id}:
    get:
      operationId: getDevice
      tags:
      - Devices
      summary: Get the state of a specific device.
      parameters:
      - name: device_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Device state.
    post:
      operationId: sendBuildToPrinter
      tags:
      - Devices
      summary: Send a build to a printer.
      parameters:
      - name: device_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Build sent to the printer.
  /devices/{device_id}/queue:
    get:
      operationId: listDeviceQueue
      tags:
      - Devices
      summary: List queued jobs for a device.
      parameters:
      - name: device_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: A list of queued jobs.
    post:
      operationId: addBuildToQueue
      tags:
      - Devices
      summary: Add a build to a device's queue.
      parameters:
      - name: device_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Build added to the queue.
  /devices/{device_id}/queue/{queued_job_id}:
    get:
      operationId: getQueuedJob
      tags:
      - Devices
      summary: Get details of a queued job.
      parameters:
      - name: device_id
        in: path
        required: true
        schema:
          type: string
      - name: queued_job_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Queued job details.
    delete:
      operationId: removeQueuedJob
      tags:
      - Devices
      summary: Remove a job from a device's queue.
      parameters:
      - name: device_id
        in: path
        required: true
        schema:
          type: string
      - name: queued_job_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Job removed from the queue.
components:
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic Auth using an Eiger Access Key as the username and Secret Key as the password, generated from the Eiger organization settings.