Display result
contact:
url: https://support.markforged.com
name: Markforged Support
version: 3.0.1
x-logo:
url: '/developer/assets/images/mf-logo-dark.svg'
altText: Markforged Logo
servers:
- url: https://www.eiger.io/api/v3
security:
- basic: []
tags:
- name: Builds
description: Endpoints for interacting with builds
- name: Dashboard
description: Endpoints for interacting with Dashboard metrics
- name: Devices
description: Endpoints for interacting with devices
- name: Parts
description: Endpoints for interacting with parts
- name: Print Jobs
description: Endpoints for interacting with print jobs
- name: Users
description: Endpoints for interacting with users
paths:
/backlog/{build_id}:
post:
tags:
- Builds
operationId: sendBuildToBacklog
summary: Send Build to Backlog
description: |
### Send a build to the backlog.
This will create a printjob with a backlogged status,
and return the printjob.
responses:
'201':
$ref: '#/components/responses/sendBuildToBacklog'
'400':
$ref: '#/components/responses/badRequestError'
'401':
$ref: '#/components/responses/unauthorizedError'
'500':
$ref: '#/components/responses/serverError'
parameters:
- $ref: '#/components/parameters/build_id'
requestBody:
$ref: '#/components/requestBodies/sendBuildToBacklog'
/builds:
get:
tags:
- Builds
operationId: listBuilds
summary: List Builds
description: |
### List all the builds in your organization
Items are returned in reverse chronological order.
responses:
'200':
$ref: '#/components/responses/listBuilds'
'401':
$ref: '#/components/responses/unauthorizedError'
'500':
$ref: '#/components/responses/serverError'
parameters:
- $ref: '#/components/parameters/generic.page.number'
- $ref: '#/components/parameters/generic.page.size'
- $ref: '#/components/parameters/generic.filter.title.eq'
- $ref: '#/components/parameters/generic.filter.created_at.lt'
- $ref: '#/components/parameters/generic.filter.created_at.le'
- $ref: '#/components/parameters/generic.filter.created_at.gt'
- $ref: '#/components/parameters/generic.filter.created_at.ge'
- $ref: '#/components/parameters/generic.filter.updated_at.lt'
- $ref: '#/components/parameters/generic.filter.updated_at.le'
- $ref: '#/components/parameters/generic.filter.updated_at.gt'
- $ref: '#/components/parameters/generic.filter.updated_at.ge'
- $ref: '#/components/parameters/generic.filter.part_count.eq'
- $ref: '#/components/parameters/generic.filter.part_count.ne'
- $ref: '#/components/parameters/generic.filter.part_count.lt'
- $ref: '#/components/parameters/generic.filter.part_count.le'
- $ref: '#/components/parameters/generic.filter.part_count.gt'
- $ref: '#/components/parameters/generic.filter.part_count.ge'
- $ref: '#/components/parameters/generic.filter.sliced.eq'
- $ref: '#/components/parameters/generic.filter.blacksmith_enabled.eq'
- $ref: '#/components/parameters/generic.filter.approved.eq'
- $ref: '#/components/parameters/generic.filter.approved.ne'
- $ref: '#/components/parameters/generic.sort.order.asc'
- $ref: '#/components/parameters/listBuilds.sort.by'
/builds/{build_id}:
get:
tags:
- Builds
operationId: readBuild
summary: Get Build
description: |
### Get a single build
responses:
'200':
$ref: '#/components/responses/readBuild'
'400':
$ref: '#/components/responses/badRequestError'
'401':
$ref: '#/components/responses/unauthorizedError'
'404':
$ref: '#/components/responses/resourceNotFoundError'
'500':
$ref: '#/components/responses/serverError'
parameters:
- $ref: '#/components/parameters/build_id'
/builds/approved:
get:
tags:
- Builds
operationId: listApprovedBuilds
summary: List Approved Builds
description: |
### List all approved builds in your organization
responses:
'200':
$ref: '#/components/responses/listApprovedBuilds'
'204':
description: Build approvals are disabled
'401':
$ref: '#/components/responses/unauthorizedError'
'500':
$ref: '#/components/responses/serverError'
parameters:
- $ref: '#/components/parameters/generic.page.size'
- $ref: '#/components/parameters/generic.page.number'
put:
tags:
- Builds
operationId: approveBuilds
summary: Approve Builds
description: |
### Update all specified builds to be approved, unapproving all others.
responses:
'204':
description: Successfully approved builds.
'401':
$ref: '#/components/responses/unauthorizedError'
'404':
$ref: '#/components/responses/resourceNotFoundError'
'500':
$ref: '#/components/responses/serverError'
requestBody:
$ref: '#/components/requestBodies/approveBuilds'
delete:
tags:
- Builds
operationId: disableApprovedBuilds
summary: Disable Build Approvals
description: |
### Disable all approved builds, leaving all builds as default (approved)
responses:
'204':
description: Successfully disabled approved builds.
'401':
$ref: '#/components/responses/unauthorizedError'
'500':
$ref: '#/components/responses/serverError'
/devices:
get:
tags:
- Devices
operationId: listDevices
summary: List Devices
description: |
### List all devices in organization
responses:
'200':
$ref: '#/components/responses/listDevices'
'401':
$ref: '#/components/responses/unauthorizedError'
'404':
$ref: '#/components/responses/resourceNotFoundError'
'500':
$ref: '#/components/responses/serverError'
parameters:
- $ref: '#/components/parameters/generic.filter.name.eq'
- $ref: '#/components/parameters/generic.filter.created_at.le'
- $ref: '#/components/parameters/generic.filter.created_at.lt'
- $ref: '#/components/parameters/generic.filter.created_at.gt'
- $ref: '#/components/parameters/generic.filter.created_at.ge'
- $ref: '#/components/parameters/generic.filter.updated_at.le'
- $ref: '#/components/parameters/generic.filter.updated_at.lt'
- $ref: '#/components/parameters/generic.filter.updated_at.gt'
- $ref: '#/components/parameters/generic.filter.updated_at.ge'
- $ref: '#/components/parameters/generic.sort.order.asc'
- $ref: '#/components/parameters/listDevices.sort.by'
- $ref: '#/components/parameters/generic.page.number'
- $ref: '#/components/parameters/generic.page.size'
/devices/{device_id}:
get:
tags:
- Devices
operationId: readDevice
summary: Get a Device
description: |
### Get the state of a device
responses:
'200':
$ref: '#/components/responses/readDevice'
'401':
$ref: '#/components/responses/unauthorizedError'
'404':
$ref: '#/components/responses/resourceNotFoundError'
'500':
$ref: '#/components/responses/serverError'
parameters:
- $ref: '#/components/parameters/device_id'
post:
tags:
- Devices
operationId: printToPrinter
summary: Print to Printer
description: |
### Send a build to a printer
> WARNING: Remotely operating machinery can be dangerous.
> Please confirm that the printer is safe to use prior to using this endpoint.
responses:
'201':
$ref: '#/components/responses/printToPrinter'
'400':
$ref: '#/components/responses/badRequestError'
'401':
$ref: '#/components/responses/unauthorizedError'
'409':
$ref: '#/components/responses/conflictError'
requestBody:
$ref: '#/components/requestBodies/printToPrinter'
/devices/{device_id}/queue:
get:
tags:
- Devices
operationId: listDeviceQueue
summary: List Queued Jobs
description: |
### List jobs in a device queue
responses:
'200':
$ref: '#/components/responses/listDeviceQueue'
'401':
$ref: '#/components/responses/unauthorizedError'
'404':
$ref: '#/components/responses/resourceNotFoundError'
'500':
$ref: '#/components/responses/serverError'
post:
tags:
- Devices
operationId: appendToDeviceQueue
summary: Add Build to Queue
description: |
### Add a build to the device queue
responses:
'201':
$ref: '#/components/responses/appendToDeviceQueue'
'400':
$ref: '#/components/responses/badRequestError'
'401':
$ref: '#/components/responses/unauthorizedError'
'404':
$ref: '#/components/responses/resourceNotFoundError'
'500':
$ref: '#/components/responses/serverError'
requestBody:
$ref: '#/components/requestBodies/appendToDeviceQueue'
parameters:
- $ref: '#/components/parameters/device_id'
/devices/{device_id}/queue/{queued_job_id}:
delete:
tags:
- Devices
operationId: removeFromDeviceQueue
summary: Remove Job From Queue
description: |
### Remove a job from the queue
responses:
'204':
description: Build removed from queue
# No content
'401':
$ref: '#/components/responses/unauthorizedError'
'404':
$ref: '#/components/responses/resourceNotFoundError'
'500':
$ref: '#/components/responses/serverError'
get:
tags:
- Devices
operationId: readDeviceQueue
summary: Get Queued Job
description: |
### Get job information from queue
responses:
'200':
$ref: '#/components/responses/readDeviceQueue'
'404':
$ref: '#/components/responses/resourceNotFoundError'
'500':
$ref: '#/components/responses/serverError'
parameters:
- $ref: '#/components/parameters/device_id'
- $ref: '#/components/parameters/queued_job_id'
/job-requests/{build_id}:
post:
tags:
- Builds
operationId: sendBuildToJobRequestQueue
summary: Send Build to Job Request Queue
description: |
### Send a build to the Job Request Queue.
This will create a printjob with a backlogged status,
and return the printjob.
responses:
'201':
$ref: '#/components/responses/sendBuildToJobRequestQueue'
'400':
$ref: '#/components/responses/badRequestError'
'401':
$ref: '#/components/responses/unauthorizedError'
'500':
$ref: '#/components/responses/serverError'
parameters:
- $ref: '#/components/parameters/build_id'
requestBody:
$ref: '#/components/requestBodies/sendBuildToJobRequestQueue'
delete:
tags:
- Builds
operationId: removeBuildFromJobRequestQueue
summary: Delete Build from Job Request Queue
description: |
### Deletes a build's print job from the job request queue
responses:
'204':
description: Successfully deleted printjob from job request queue.
'401':
$ref: '#/components/responses/unauthorizedError'
'500':
$ref: '#/components/responses/serverError'
parameters:
- $ref: '#/components/parameters/build_id'
/parts/{part_id}:
get:
tags:
- Parts
operationId: readPart
summary: Get Part
description: |
### Get a single part.
responses:
'200':
$ref: '#/components/responses/readPart'
'400':
$ref: '#/components/responses/badRequestError'
'500':
$ref: '#/components/responses/resourceNotFoundError'
parameters:
- $ref: '#/components/parameters/part_id'
/parts/upload_stl:
post:
tags:
- Parts
operationId: uploadStl
summary: Upload a Part
description: |
### Upload an STL file.
```bash
$ curl --location 'https://eiger.io/api/v3/parts/upload_stl' \
--header 'Authorization: Basic ' \
--form 'stlFile=@"/Users/your.name/Downloads/theFileName.stl"' \
--form 'userId="uuid"' \
--form 'title="Your Part Title"'
```
requestBody:
$ref: '#/components/requestBodies/uploadStl'
responses:
'201':
$ref: '#/components/responses/uploadStl'
'400':
$ref: '#/components/responses/badRequestError'
'500':
$ref: '#/components/responses/resourceNotFoundError'
/parts/slice_status/{slice_job_id}:
get:
tags:
- Parts
operationId: getSliceStatus
summary: Get the Status of a Slice Job
description: |
### STATUS TYPES: REQUESTED, QUEUED, IN_PROGRESS, CANCELED, ERROR, COMPLETED
responses:
'200':
$ref: '#/components/responses/getSliceStatus'
'400':
$ref: '#/components/responses/badRequestError'
'500':
$ref: '#/components/responses/resourceNotFoundError'
parameters:
- $ref: '#/components/parameters/slice_job_id'
/parts/settings_presets:
get:
tags:
- Parts
operationId: getOrgSettingsPresets
summary: List Organization Settings Presets
description: |
responses:
'200':
$ref: '#/components/responses/getOrgSettingsPresets'
'400':
$ref: '#/components/responses/badRequestError'
'500':
$ref: '#/components/responses/resourceNotFoundError'
/part_versions/{part_version_id}:
get:
tags:
- Parts
operationId: readPartVersion
summary: Get Part Version
description: |
### Get a single part version.
responses:
'200':
$ref: '#/components/responses/readPartVersion'
'400':
$ref: '#/components/responses/badRequestError'
'500':
$ref: '#/components/responses/resourceNotFoundError'
parameters:
- $ref: '#/components/parameters/part_version_id'
/part_versions/{part_version_id}/download:
get:
tags:
- Parts
operationId: readSignedURL
summary: Get Part Version Download URL
description: |
### Get the download URL for the STL file of a part version, valid for 30 seconds.
responses:
'200':
$ref: '#/components/responses/readSignedURL'
'400':
$ref: '#/components/responses/badRequestError'
'500':
$ref: '#/components/responses/resourceNotFoundError'
parameters:
- $ref: '#/components/parameters/part_version_id'
/print_jobs:
get:
tags:
- Print Jobs
operationId: listPrintJobs
summary: List Print Jobs
description: |
### List the print jobs in your organization
Items are returned in reverse chronological order.
responses:
'200':
$ref: '#/components/responses/listPrintJobs'
'401':
$ref: '#/components/responses/unauthorizedError'
'500':
$ref: '#/components/responses/serverError'
parameters:
- $ref: '#/components/parameters/generic.page.size'
- $ref: '#/components/parameters/generic.page.number'
- $ref: '#/components/parameters/listPrintJobs.filter.state.eq'
- $ref: '#/components/parameters/listPrintJobs.filter.state.ne'
- $ref: '#/components/parameters/generic.filter.created_at.lt'
- $ref: '#/components/parameters/generic.filter.created_at.le'
- $ref: '#/components/parameters/generic.filter.created_at.gt'
- $ref: '#/components/parameters/generic.filter.created_at.ge'
- $ref: '#/components/parameters/generic.filter.started_at.lt'
- $ref: '#/components/parameters/generic.filter.started_at.le'
- $ref: '#/components/parameters/generic.filter.started_at.gt'
- $ref: '#/components/parameters/generic.filter.started_at.ge'
- $ref: '#/components/parameters/generic.filter.ended_at.lt'
- $ref: '#/components/parameters/generic.filter.ended_at.le'
- $ref: '#/components/parameters/generic.filter.ended_at.gt'
- $ref: '#/components/parameters/generic.filter.ended_at.ge'
- $ref: '#/components/parameters/generic.filter.updated_at.lt'
- $ref: '#/components/parameters/generic.filter.updated_at.le'
- $ref: '#/components/parameters/generic.filter.updated_at.gt'
- $ref: '#/components/parameters/generic.filter.updated_at.ge'
- $ref: '#/components/parameters/generic.filter.build.eq'
- $ref: '#/components/parameters/generic.filter.device.eq'
- $ref: '#/components/parameters/generic.sort.order.desc'
- $ref: '#/components/parameters/listPrintJobs.sort.by'
/print_jobs/{print_job_id}:
get:
tags:
- Print Jobs
operationId: readPrintJob
summary: Get Print Job
description: |
### Get a single print job
responses:
'200':
$ref: '#/components/responses/readPrintJob'
'400':
$ref: '#/components/responses/badRequestError'
'401':
$ref: '#/components/responses/unauthorizedError'
'404':
$ref: '#/components/responses/resourceNotFoundError'
'500':
$ref: '#/components/responses/serverError'
parameters:
- $ref: '#/components/parameters/print_job_id'
/print_jobs/{print_job_id}/scan_report:
get:
tags:
- Print Jobs
operationId: getPrintJobPartScanReport
summary: Get Print Job Scan Reports
description: |
### Get all URLs to download the scan reports for printed parts associated with a print job
A null value will be returned for any scan reports that haven't been generated yet.
responses:
'200':
$ref: '#/components/responses/getPrintJobPartScanReport'
'400':
$ref: '#/components/responses/badRequestError'
'401':
$ref: '#/components/responses/unauthorizedError'
'404':
$ref: '#/components/responses/resourceNotFoundError'
'500':
$ref: '#/components/responses/serverError'
parameters:
- $ref: '#/components/parameters/print_job_id'
/printed_parts:
get:
tags:
- Parts
operationId: listPrintedParts
summary: List Printed Parts
description: |
### Get all Printed Parts in an organization.
Items are returned sorted by printed_at in reverse chronological order.
responses:
'200':
$ref: '#/components/responses/listPrintedParts'
'401':
$ref: '#/components/responses/unauthorizedError'
'500':
$ref: '#/components/responses/serverError'
parameters:
- $ref: '#/components/parameters/listPrintedParts.sort.by'
- $ref: '#/components/parameters/generic.sort.order.desc'
- $ref: '#/components/parameters/generic.page.size'
- $ref: '#/components/parameters/generic.page.number'
- $ref: '#/components/parameters/listPrintedParts.filter.state.eq'
- $ref: '#/components/parameters/listPrintedParts.filter.state.ne'
- $ref: '#/components/parameters/listPrintedParts.filter.notes.eq'
- $ref: '#/components/parameters/listPrintedParts.filter.notes.ne'
/printed_parts/{printed_part_id}:
get:
tags:
- Parts
operationId: readPrintedPart
summary: Get Printed Part
description: |
### Get a single printed part
responses:
'200':
$ref: '#/components/responses/readPrintedPart'
'400':
$ref: '#/components/responses/badRequestError'
'401':
$ref: '#/components/responses/unauthorizedError'
'404':
$ref: '#/components/responses/resourceNotFoundError'
'500':
$ref: '#/components/responses/serverError'
parameters:
- $ref: '#/components/parameters/printed_part_id'
/printed_parts/{printed_part_id}/scan_report:
get:
tags:
- Parts
operationId: getPrintedPartScanReport
summary: Get a Printed Part's Scan Report
description: |
### Get the URL to download the scan report for a printed part
A null value will be returned if the scan report hasn't been generated yet.
responses:
'200':
$ref: '#/components/responses/getPrintedPartScanReport'
'400':
$ref: '#/components/responses/badRequestError'
'401':
$ref: '#/components/responses/unauthorizedError'
'404':
$ref: '#/components/responses/resourceNotFoundError'
'500':
$ref: '#/components/responses/serverError'
parameters:
- $ref: '#/components/parameters/printed_part_id'
/users/{user_id}:
get:
tags:
- Users
operationId: fetchUser
summary: Fetch User
description: |
### Get a single user
responses:
'200':
$ref: '#/components/responses/getUser'
'400':
$ref: '#/components/responses/badRequestError'
'401':
$ref: '#/components/responses/unauthorizedError'
'404':
$ref: '#/components/responses/resourceNotFoundError'
parameters:
- $ref: '#/components/parameters/user_id'
/users:
get:
tags:
- Users
operationId: listUsers
summary: List Users
description: |
### List all users in organization
responses:
'200':
$ref: '#/components/responses/listUsers'
'400':
$ref: '#/components/responses/badRequestError'
'401':
$ref: '#/components/responses/unauthorizedError'
'404':
$ref: '#/components/responses/resourceNotFoundError'
'500':
$ref: '#/components/responses/serverError'
parameters:
- $ref: '#/components/parameters/generic.filter.name.eq'
- $ref: '#/components/parameters/listUsers.filter.email.eq'
- $ref: '#/components/parameters/generic.filter.created_at.le'
- $ref: '#/components/parameters/generic.filter.created_at.lt'
- $ref: '#/components/parameters/generic.filter.created_at.gt'
- $ref: '#/components/parameters/generic.filter.created_at.ge'
- $ref: '#/components/parameters/generic.filter.updated_at.le'
- $ref: '#/components/parameters/generic.filter.updated_at.lt'
- $ref: '#/components/parameters/generic.filter.updated_at.gt'
- $ref: '#/components/parameters/generic.filter.updated_at.ge'
- $ref: '#/components/parameters/generic.sort.order.asc'
- $ref: '#/components/parameters/listUsers.sort.by'
- $ref: '#/components/parameters/generic.page.number'
- $ref: '#/components/parameters/generic.page.size'
/dashboard/custom_analytics_csv:
get:
tags:
- Dashboard
operationId: getCustomAnalyticsCSV
summary: Get Custom Analytics
description: |
Get Custom Analytics CSV from dashboard, by timespan
parameters:
- $ref: '#/components/parameters/getCustomAnalyticsCSV.filter.timespan.eq'
responses:
'200':
description: OK
content:
text/csv:
schema:
type: string
'400':
$ref: '#/components/responses/badRequestError'
'401':
$ref: '#/components/responses/unauthorizedError'
'500':
$ref: '#/components/responses/serverError'
components:
securitySchemes:
basic:
type: http
scheme: basic
schemas:
## Views
BuildView:
description: Build
type: object
properties:
id:
description: Build Identifier
type: string
format: uuid
title:
description: Build Title
type: string
created_at:
description: Date/Time the Build was Created
type: string
format: date-time
nullable: true
updated_at:
description: Date/Time the Build was Last Updated
type: string
format: date-time
nullable: true
part_count:
description: Number of Parts
type: integer
preview_url:
description: A preview url of the Build valid for one hour.
type: string
device_series:
$ref: '#/components/schemas/DeviceSeriesEnum'
primary_material:
description: Primary Material
type: string
secondary_material:
description: Secondary Material
type: string
ccs_primary_required:
description: Amount of the Primary Material Required (cm³)
type: number
nullable: true
ccs_secondary_required:
description: Amount of the Secondary Material Required (cm³)
type: number
nullable: true
ccs_tertiary_required:
description: Amount of the Tertiary Material Required (cm³)
type: number
nullable: true
ccs_fiber_required:
description: Amount of the Fiber Material Required (cm³)
type: number
nullable: true
estimated_print_seconds:
description: Estimated time to print (seconds)
type: number
nullable: true
sliced:
description: Has the build been sliced?
type: boolean
blacksmith_enabled:
description: Is the build enabled for Inspection scanning?
type: boolean
approved:
description: Describes if the Build is approved to be printed
type: boolean
nullable: true
standard_costs:
type: object
properties:
primary:
type: number
nullable: true
secondary:
type: number
nullable: true
tertiary:
type: number
nullable: true
fiber:
type: number
nullable: true
total:
type: number
nullable: true
custom_costs:
type: object
properties:
primary:
type: number
nullable: true
secondary:
type: number
nullable: true
tertiary:
type: number
nullable: true
fiber:
type: number
nullable: true
total:
type: number
nullable: true
required:
- id
- title
- created_at
- updated_at
- part_count
- device_series
- primary_material
- secondary_material
- ccs_primary_required
- ccs_secondary_required
- ccs_tertiary_required
- ccs_fiber_required
- estimated_print_seconds
- sliced
- blacksmith_enabled
- approved
BuildViewExtended:
allOf:
- $ref: '#/components/schemas/BuildView'
- type: object
properties:
part_versions:
type: array
items:
$ref: '#/components/schemas/PartVersionView'
poses:
type: array
items:
$ref: '#/components/schemas/PoseView'
required:
- part_versions
- poses
DeviceView:
type: object
properties:
id:
description: ID of the device
type: string
format: uuid
name:
type: string
description: Name of the device
device_type:
oneOf:
- type: string
enum:
- Unknown
- $ref: '#/components/schemas/PrinterTypeEnum'
device_series:
$ref: '#/components/schemas/DeviceSeriesEnum'
created_at:
type: string
format: date-time
description: Time the printer was created
nullable: true
updated_at:
type: string
format: date-time
description: Time the printer was last updated
nullable: true
queue_estimated_time_seconds:
type: number
format: float
minimum: 0
description: Total time estimate to print every print job in the printer's queue in seconds
nullable: true
queue_length:
type: integer
minimum: 0
description: Number of print jobs in the printer's queue
nullable: true
loaded_primary_material:
type: string
nullable: true
description: Name of the material loaded in the primary hot end
loaded_secondary_material:
type: string
nullable: true
description: Name of the material loaded in the secondary hot end
ccs_primary_remaining:
type: number
format: float
nullable: true
description: Cubic Centimeters of primary material remaining
ccs_secondary_remaining:
type: number
format: float
nullable: true
description: Cubic Centimeters of secondary material remaining
state:
$ref: '#/components/schemas/PrinterStateEnum'
required:
- id
- name
- device_type
- device_series
- created_at
- updated_at
- queue_estimated_time_seconds
- queue_length
DeviceViewExtended:
allOf:
- $ref: '#/components/schemas/DeviceView'
- type: object
properties:
active_job:
allOf:
- $ref: '#/components/schemas/PrintJobView'
- $ref: '#/components/schemas/DeviceStatusView'
- type: object
properties:
build:
$ref: '#/components/schemas/BuildView'
required:
- build
maintenance_status:
description: |
If applicable, a list of consumable information with maintenance status. Available only for Industrial and Desktop devices.
type: array
items:
$ref: '#/components/schemas/DeviceConsumableView'
DeviceStatusView:
type: object
properties:
printing_state:
$ref: '#/components/schemas/PrintingStateEnum'
current_layer:
description: |
Current layer number
type: integer
minimum: 1
nullable: true
layer_count:
description: |
Number of layers
type: integer
minimum: 1
nullable: true
progress:
description: |
Percentage of completion for print job
type: number
format: float
minimum: 0
maximum: 100
nullable: true
estimated_seconds_remaining:
description: |
Estimated time left in print job in seconds
type: integer
minimum: 0
nullable: true
DeviceConsumableView:
type: object
properties:
consumable_title:
description: The consumable name
type: string
status:
description: The current status action of the consumable
type: string
usage_remaining:
description: Percentage of usage remaining of the consumable
type: number
PartView:
type: object
properties:
id:
type: string
format: uuid
created_at:
type: string
format: date-time
nullable: true
updated_at:
type: string
format: date-time
nullable: true
cloned_from:
type: string
format: uuid
nullable: true
latest_partversion:
type: string
format: uuid
nullable: true
part_versions:
type: array
items:
type: string
format: uuid
required:
- id
- created_at
- updated_at
- cloned_from
- latest_partversion
- part_versions
PartVersionView:
type: object
properties:
id:
type: string
format: uuid
part_id:
type: string
format: uuid
title:
type: string
description:
type: string
nullable: true
version_number:
type: number
preview_url:
type: string
sliced:
type: boolean
device_series:
type: string
primary_material:
type: string
secondary_material:
type: string
settings:
type: object
properties:
scale:
type: number
euler:
type: object
properties:
x:
type: number
y:
type: number
z:
type: number
units:
type: string
required:
- id
- part_id
- title
- description
- version_number
- sliced
PoseView:
type: object
properties:
id:
type: string
format: uuid
x:
type: integer
y:
type: integer
theta:
type: integer
PrintedPartView:
type: object
properties:
id:
type: string
format: uuid
state:
$ref: '#/components/schemas/PrintedPartViewStateEnum'
nullable: true
notes:
type: string
nullable: true
printed_at:
type: string
format: date-time
nullable: true
updated_at:
type: string
format: date-time
nullable: true
required:
- id
- state
- printed_at
- updated_at
PrintedPartViewExtended:
allOf:
- $ref: '#/components/schemas/PrintedPartView'
- type: object
properties:
print_job:
allOf:
- $ref: '#/components/schemas/PrintJobView'
- type: object
properties:
build:
$ref: '#/components/schemas/BuildView'
required:
- build
required:
- print_job
PrintJobView:
type: object
properties:
id:
description: |
ID of the print job
type: string
format: uuid
state:
$ref: '#/components/schemas/PrintJobStateEnum'
queued_at:
description: |
This when the print job was queued to the device
type: string
format: date-time
nullable: true
created_at:
description: |
This when the print job was first created
type: string
format: date-time
nullable: true
started_at:
description: |
Time when the print job started on the devices.
In most cases, this is the same value as created_at.
type: string
format: date-time
nullable: true
updated_at:
description: |
The last time the print job's status was updated
type: string
format: date-time
nullable: true
ended_at:
description: |
Time when the print job ended
type: string
format: date-time
nullable: true
required:
- id
- state
- created_at
- queued_at
- started_at
- updated_at
- ended_at
PrintJobViewExtended:
allOf:
- $ref: '#/components/schemas/PrintJobView'
- $ref: '#/components/schemas/DeviceStatusView'
- type: object
properties:
build:
$ref: '#/components/schemas/BuildView'
device:
$ref: '#/components/schemas/DeviceView'
nullable: true
source:
description: |
Where the print originated from
type: string
initiator:
description: |
If applicable, who initiated the print
type: object
properties:
id:
type: string
format: uuid
email:
type: string
name:
type: string
nullable: true
requester:
description: |
if applicable, who requested the print to the backlog
type: object
properties:
id:
type: string
format: uuid
email:
type: string
name:
type: string
nullable: true
required:
- build
- device
QueuedPrintJobView:
description: An node in the print queue
type: object
properties:
id:
description: ID of the Queued Print Job
type: string
format: uuid
state:
$ref: '#/components/schemas/QueuedPrintJobStateEnum'
queued_at:
description: Time the print job was created
type: string
format: date-time
nullable: true
updated_at:
description: Time the queued print job was last updated
type: string
format: date-time
nullable: true
required:
- id
- state
- queued_at
- updated_at
QueuedPrintJobViewExtended:
allOf:
- $ref: '#/components/schemas/QueuedPrintJobView'
- type: object
properties:
build:
$ref: '#/components/schemas/BuildView'
requester:
$ref: '#/components/schemas/UserView'
nullable: true
required:
- build
UserView:
type: object
properties:
id:
description: ID of the User
type: string
format: uuid
nullable: true
name:
type: string
description: Name of the User
nullable: true
email:
description: Email of the User
type: string
nullable: true
## Enumerations
DeviceClassEnum:
description: Device Class (Printer, Furnace or Wash)
type: string
enum:
- Unknown
- Printer
- Furnace
- Wash
DeviceSeriesEnum:
description: Device Series
oneOf:
- type: string
enum:
- 'Unknown'
- $ref: '#/components/schemas/PrinterSeriesEnum'
- $ref: '#/components/schemas/FurnaceSeriesEnum'
- $ref: '#/components/schemas/WashSeriesEnum'
FurnaceSeriesEnum:
description: Furnace Series
type: string
enum:
- Sinter-1
- Sinter-2
FurnaceStateEnum:
type: string
enum:
- Unknown
- Offline
- Ready
- Running Job
- Finished
- Disabled
- Busy
- Updating
- Running Utility
- Canceled Job
- Downloading
- System Cooldown
- Setup Workflow
- System Precheck
PrintedPartViewStateEnum:
description: State of a printed part instance
type: string
enum:
- Unknown
- Printing
- Print Failed
- Printed
- Washing
- Washed
- Drying
- Dried
- Sintering
- Sintered
- Sinter Failed
- Wash Aborted
- Discarded
PrinterTypeEnum:
description: Model name of the printer
type: string
enum:
- Mark One
- Mark Two
- Onyx One
- Onyx Pro
- X3
- X5
- X7
- Metal X
- FX20
PrinterSeriesEnum:
description: Printer Series
type: string
enum:
- Mark One
- Desktop Series
- Industrial Series
- Metal X
- FX20
PrintingStateEnum:
description: State of the print job on the device
type: string
enum:
- Downloading
- Heating
- Printing
- Scanning
- Cooling Down
- Performing Automatic Changeover
- Stabilizing Build Chamber
- Unknown
PrinterStateEnum:
type: string
enum:
- Unknown
- Offline
- Disabled
- Ready
- Printing
- Print Finished
- Canceling
- Print Bed Needs Clearing
- Configuration in Progress
- Pausing
- Print Paused
- Resuming Print
- Low on Material
- Out of Material
- Purge Strip Removal Needed
- Update in Progress
- Dislocation Error
- Bed Needs Leveling
- Incompatible Print File
- Fiber Jam
- Material Jam
- Vacuum Not Engaged
- Print Failure Detected
- Update Required On Device
- Custom Branch In Use
- Running Utility
- Utility Finished
- User Action Required
PrintJobStateEnum:
description: State of the print job
type: string
enum:
- Completed
- Canceled
- Failed
- Paused
- Printing
- Backlogged
- Unknown
QueuedPrintJobStateEnum:
type: string
enum:
- Queued
- Removed
- Started
- Unknown
WashSeriesEnum:
description: Wash series
type: string
enum:
- Wash-1
## Requests
AppendToDeviceQueueRequest:
type: object
properties:
build:
description: ID of build to append to queue
type: string
format: uuid
required:
- build
additionalProperties: false
ApproveBuildsRequest:
type: object
properties:
builds:
description: IDs of builds to approve
type: array
items:
type: string
format: uuid
required:
- builds
additionalProperties: false
PrintToPrinterRequest:
type: object
properties:
build:
description: ID of build to print
type: string
format: uuid
required:
- build
additionalProperties: false
SendBuildToBacklogRequest:
type: object
properties:
dueDate:
description: Target date to print
type: string
format: date
additionalProperties: false
RemoveBuildFromBacklogRequest:
type: object
properties:
dueDate:
description: Target date to print
type: string
format: date
additionalProperties: false
OrgSettingsPresetsResponse:
type: array
items:
type: object
required:
- title
- id
properties:
title:
description: The Settings Preset title.
type: string
id:
description: The Settings Preset id.
type: string
format: uuid
UploadStlRequest:
type: object
properties:
stlFile:
type: string
format: file-path
title:
description: The title of the part.
type: string
folderId:
description: Folder upload destination. Defaults to the Library.
type: string
format: uuid
settingsPresetId:
description: Settings Preset for the part. Defaults to Markforged Smart Settings.
type: string
format: uuid
userId:
description: The part owner. Defaults to organization owner.
type: string
format: uuid
# solidMetadata:
# type: object
# description: |
# An object with unique field id(s) as the key and its value.
# Example: `{ 'fieldIdA': 'value', 'fieldIdB': 'value' }`
# properties:
# fieldId:
# type: string
# fieldValue:
# type: string
required:
- stlFile
## Responses
AppendToDeviceQueueResponse:
$ref: '#/components/schemas/QueuedPrintJobView'
ListApprovedBuildsResponse:
type: object
properties:
has_more_items:
description: Are there more items available on the next page?
type: boolean
items:
type: array
items:
$ref: '#/components/schemas/BuildView'
required:
- has_more_items
- items
ListBuildsResponse:
type: object
properties:
has_more_items:
description: Are there more items available on the next page?
type: boolean
items:
type: array
items:
$ref: '#/components/schemas/BuildView'
required:
- has_more_items
- items
ListDeviceQueueResponse:
type: object
properties:
device:
allOf:
- $ref: '#/components/schemas/DeviceViewExtended'
queue:
type: array
items:
$ref: '#/components/schemas/QueuedPrintJobViewExtended'
required:
- device
- queue
ListDevicesResponse:
type: object
properties:
has_more_items:
description: Are there more items available on the next page?
type: boolean
items:
type: array
items:
$ref: '#/components/schemas/DeviceViewExtended'
required:
- has_more_items
- items
additionalProperties: false
ListUsersResponse:
type: object
properties:
has_more_items:
description: Are there more items available on the next page?
type: boolean
items:
type: array
items:
$ref: '#/components/schemas/UserView'
required:
- has_more_items
- items
additionalProperties: false
GetUserResponse:
type: object
properties:
id:
type: string
format: uuid
name:
type: string
email:
type: string
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
required:
- id
additionalProperties: false
ListPrintJobsResponse:
type: object
properties:
has_more_items:
description: Are there more items available on the next page?
type: boolean
items:
type: array
items:
$ref: '#/components/schemas/PrintJobViewExtended'
required:
- has_more_items
- items
additionalProperties: false
ListPrintedPartsResponse:
type: object
properties:
has_more_items:
description: Are there more items available on the next page?
type: boolean
items:
type: array
items:
$ref: '#/components/schemas/PrintedPartViewExtended'
required:
- has_more_items
- items
PrintToPrinterResponse:
$ref: '#/components/schemas/PrintJobView'
ReadBuildResponse:
$ref: '#/components/schemas/BuildViewExtended'
ReadDeviceResponse:
$ref: '#/components/schemas/DeviceViewExtended'
ReadDeviceQueueResponse:
anyOf:
- $ref: '#/components/schemas/QueuedPrintJobViewExtended'
- $ref: '#/components/schemas/QueuedPrintJobView'
ReadPartResponse:
$ref: '#/components/schemas/PartView'
SliceStatusResponse:
type: object
properties:
status:
type: string
ReadPartVersionResponse:
$ref: '#/components/schemas/PartVersionView'
ReadPrintJobResponse:
$ref: '#/components/schemas/PrintJobViewExtended'
GetPrintJobPartScanReportResponse:
type: array
items:
type: object
required:
- printed_part_id
- scan_report_url
properties:
printed_part_id:
description: The printed part ID
type: string
format: uuid
scan_report_url:
description: |
The URL to download the Inspection report.
This URL will be valid for approximately one hour.
If the URL is `null`, the Inspection report hasn't been generated for the printed part.
You can request that the report be generated by using the `api/v3/printed_parts/:printed_part_id/scan_report` endpoint.
type: string
nullable: true
ReadPrintedPartResponse:
$ref: '#/components/schemas/PrintedPartViewExtended'
ReadSignedURLResponse:
type: object
properties:
url:
type: string
SendBuildToBacklogResponse:
$ref: '#/components/schemas/PrintJobView'
RemoveBuildFromBacklogResponse:
$ref: '#/components/schemas/PrintJobView'
GetPrintedPartScanReportResponse:
type: object
properties:
scan_report_url:
type: string
nullable: true
required:
- scan_report_url
UploadStlResponse:
type: object
properties:
slice_job_id:
type: string
format: uuid
part_version_id:
type: string
format: uuid
## Misc
Error:
type: object
properties:
message:
type: string
description: Message describing to developer what went wrong
required:
- message
additionalProperties: false
parameters:
## Query parameters
# generic
generic.filter.approved.eq:
description: |
Limit the list to items that have been approved.
name: filter[approved][eq]
in: query
required: false
schema:
type: boolean
nullable: true
generic.filter.approved.ne:
description: |
Limit the list to items that have been approved.
name: filter[approved][ne]
in: query
required: false
schema:
type: boolean
nullable: true
generic.filter.blacksmith_enabled.eq:
description: |
Limit the list to items that have been enabled for Inspection scan.
name: filter[blacksmith_enabled][eq]
in: query
required: false
schema:
type: boolean
generic.filter.build.eq:
description: |
Limit the list to items with the specified build ID (UUID).
name: filter[build][eq]
in: query
required: false
schema:
type: string
format: uuid
generic.filter.created_at.lt:
description: |
Limit the list to items created before *date*.
name: filter[created_at][lt]
in: query
required: false
schema:
type: string
format: date-time
generic.filter.created_at.le:
description: |
Limit the list to items created before or on *date*.
name: filter[created_at][le]
in: query
required: false
schema:
type: string
format: date-time
generic.filter.created_at.gt:
description: |
Limit the list to items created after *date*.
name: filter[created_at][gt]
in: query
required: false
schema:
type: string
format: date-time
generic.filter.created_at.ge:
description: |
Limit the list to items created after or on *date*.
name: filter[created_at][ge]
in: query
required: false
schema:
type: string
format: date-time
generic.filter.device.eq:
description: |
Limit the list to items with the specified device ID (UUID).
name: filter[device][eq]
in: query
required: false
schema:
type: string
format: uuid
generic.filter.ended_at.lt:
description: |
Limit the list to items that ended before *date*.
name: filter[ended_at][lt]
in: query
required: false
schema:
type: string
format: date-time
generic.filter.ended_at.le:
description: |
Limit the list to items that ended before or on *date*.
name: filter[ended_at][le]
in: query
required: false
schema:
type: string
format: date-time
generic.filter.ended_at.gt:
description: |
Limit the list to items that ended after *date*.
name: filter[ended_at][gt]
in: query
required: false
schema:
type: string
format: date-time
generic.filter.ended_at.ge:
description: |
Limit the list to items that ended after or on *date*.
name: filter[ended_at][ge]
in: query
required: false
schema:
type: string
format: date-time
generic.filter.name.eq:
description: |
Limit the list to tiems that have the specified name
name: filter[name][eq]
in: query
required: false
schema:
type: string
generic.filter.part_count.eq:
description: |
Limit the list to items that have the specified number of parts.
name: filter[part_count][eq]
in: query
required: false
schema:
type: integer
minimum: 1
generic.filter.part_count.ne:
description: |
Limit the list to items that do not have the specified number of parts.
name: filter[part_count][ne]
in: query
required: false
schema:
type: integer
minimum: 1
generic.filter.part_count.lt:
description: |
Limit the list to items that have less than the specified number of parts.
name: filter[part_count][lt]
in: query
required: false
schema:
type: integer
minimum: 1
generic.filter.part_count.le:
description: |
Limit the list to items that have less than or equal to the specified number of parts.
name: filter[part_count][le]
in: query
required: false
schema:
type: integer
minimum: 1
generic.filter.part_count.gt:
description: |
Limit the list to items that have greater than the specified number of parts.
name: filter[part_count][gt]
in: query
required: false
schema:
type: integer
minimum: 1
generic.filter.part_count.ge:
description: |
Limit the list to items that have greater than or equal to the specified number of parts.
name: filter[part_count][ge]
in: query
required: false
schema:
type: integer
minimum: 1
generic.filter.sliced.eq:
description: |
Limit the list to items that have been sliced.
name: filter[sliced][eq]
in: query
required: false
schema:
type: boolean
generic.filter.started_at.lt:
description: |
Limit the list to items that started before *date*.
name: filter[started_at][lt]
in: query
required: false
schema:
type: string
format: date-time
generic.filter.started_at.le:
description: |
Limit the list to items that started before or on *date*.
name: filter[started_at][le]
in: query
required: false
schema:
type: string
format: date-time
generic.filter.started_at.gt:
description: |
Limit the list to items that started after *date*.
name: filter[started_at][gt]
in: query
required: false
schema:
type: string
format: date-time
generic.filter.started_at.ge:
description: |
Limit the list to items that started after or on *date*.
name: filter[started_at][ge]
in: query
required: false
schema:
type: string
format: date-time
generic.filter.title.eq:
description: |
Limit the list to items with the specified title.
name: filter[title][eq]
in: query
required: false
schema:
type: string
generic.filter.updated_at.lt:
description: |
Limit the list to items that updated before *date*.
name: filter[updated_at][lt]
in: query
required: false
schema:
type: string
format: date-time
generic.filter.updated_at.le:
description: |
Limit the list to items that updated before or on *date*.
name: filter[updated_at][le]
in: query
required: false
schema:
type: string
format: date-time
generic.filter.updated_at.gt:
description: |
Limit the list to items that updated after *date*.
name: filter[updated_at][gt]
in: query
required: false
schema:
type: string
format: date-time
generic.filter.updated_at.ge:
description: |
Limit the list to items that updated after or on *date*.
name: filter[updated_at][ge]
in: query
required: false
schema:
type: string
format: date-time
generic.page.size:
description: |
The number of items to return on each page (between 1 and 1000, defaults to 100).
Items are returned in pages, where the number of items in a page are determined by the `page[size]`
parameter, and the `page[number]` parameter determines which page is returned.
name: page[size]
in: query
required: false
schema:
type: integer
maximum: 1000
minimum: 1
default: 100
generic.page.number:
description: |
The number of the page to return. (defaults to 1)
Items are returned in pages, where the number of items in a page are determined by the `page[size]`
parameter, and the `page[number]` parameter determines which page is returned.
name: page[number]
in: query
required: false
schema:
type: integer
minimum: 1
default: 1
generic.sort.order.asc:
description: |
The direction to sort items, 'asc' (ascending) or 'desc' (descending).
If you don't specify a sort order, the default order is asc (ascending).
name: sort[order]
in: query
required: false
schema:
type: string
enum:
- asc
- desc
default: asc
generic.sort.order.desc:
description: |
The direction to sort items, 'asc' (ascending) or 'desc' (descending).
If you don't specify a sort order, the default order is descending (descending).
name: sort[order]
in: query
required: false
schema:
type: string
enum:
- asc
- desc
default: desc
# listBuildJobs
listBuilds.sort.by:
description: Sort the list
name: sort[by]
in: query
required: false
schema:
type: string
enum:
- created_at
- title
default: created_at
# listDevices
listDevices.sort.by:
description: Sort the list
name: sort[by]
in: query
required: false
schema:
type: string
enum:
- name
- created_at
- updated_at
default: name
# listUsers
listUsers.sort.by:
description: Sort the list
name: sort[by]
in: query
required: false
schema:
type: string
enum:
- name
- email
- created_at
default: name
listUsers.filter.email.eq:
description: |
Limit the list to items that have the specified email
name: filter[email][eq]
in: query
required: false
schema:
type: string
# listPrintJobs
listPrintJobs.filter.state.eq:
description: |
Limit the list of print jobs to only items with the specified *state*
name: filter[state][eq]
in: query
required: false
schema:
$ref: '#/components/schemas/PrintJobStateEnum'
listPrintJobs.filter.state.ne:
description: |
Limit the list of print jobs to exclude items with the specified *state*
name: filter[state][ne]
in: query
required: false
schema:
$ref: '#/components/schemas/PrintJobStateEnum'
listPrintJobs.sort.by:
description: Sort the list
name: sort[by]
in: query
required: false
schema:
type: string
enum:
- created_at
- started_at
- updated_at
- ended_at
default: created_at
# listPrintedParts
listPrintedParts.sort.by:
description: Sort the list
name: sort[by]
in: query
required: false
schema:
type: string
enum:
- printed_at
- updated_at
default: printed_at
listPrintedParts.filter.state.eq:
description: |
Limit the list of printed parts to only items with the specified *state*
name: filter[state][eq]
in: query
required: false
schema:
$ref: '#/components/schemas/PrintedPartViewStateEnum'
listPrintedParts.filter.state.ne:
description: |
Limit the list of printed parts to exclude items with the specified *state*
name: filter[state][ne]
in: query
required: false
schema:
$ref: '#/components/schemas/PrintedPartViewStateEnum'
listPrintedParts.filter.notes.eq:
description: |
Limit the list of printed parts to only items with the specified *notes*
name: filter[notes][eq]
in: query
required: false
schema:
type: string
maxLength: 255
listPrintedParts.filter.notes.ne:
description: |
Limit the list of printed parts to exclude items with the specified *notes*
name: filter[notes][ne]
in: query
required: false
schema:
type: string
maxLength: 255
#getCustomAnalyticsCSV
getCustomAnalyticsCSV.filter.timespan.eq:
description: |
Limit the results to the previous specified timespan
name: filter[timespan][eq]
in: query
required: false
schema:
type: string
enum:
- 'day'
- 'week'
- 'month'
- 'quarter'
- 'year'
- 'all_time'
default: 'month'
## Path parameters
build_id:
name: build_id
in: path
description: Build ID
required: true
schema:
type: string
format: uuid
user_id:
name: user_id
in: path
description: User ID
required: true
schema:
type: string
format: uuid
device_id:
name: device_id
in: path
description: Device ID
required: true
schema:
type: string
format: uuid
part_id:
name: part_id
in: path
description: Part ID
required: true
schema:
type: string
format: uuid
part_version_id:
name: part_version_id
in: path
description: Part Version ID
required: true
schema:
type: string
format: uuid
print_job_id:
name: print_job_id
in: path
description: Print Job ID
required: true
schema:
type: string
format: uuid
queued_job_id:
name: queued_job_id
in: path
description: Queued build ID
required: true
schema:
type: string
format: uuid
printed_part_id:
name: printed_part_id
in: path
description: Printed Part ID
required: true
schema:
type: string
format: uuid
slice_job_id:
name: slice_job_id
in: path
description: Slice Job ID
required: true
schema:
type: string
format: uuid
requestBodies:
appendToDeviceQueue:
content:
application/json:
schema:
$ref: '#/components/schemas/AppendToDeviceQueueRequest'
approveBuilds:
content:
application/json:
schema:
$ref: '#/components/schemas/ApproveBuildsRequest'
printToPrinter:
content:
application/json:
schema:
$ref: '#/components/schemas/PrintToPrinterRequest'
sendBuildToJobRequestQueue:
content:
application/json:
schema:
$ref: '#/components/schemas/SendBuildToBacklogRequest'
sendBuildToBacklog:
content:
application/json:
schema:
$ref: '#/components/schemas/SendBuildToBacklogRequest'
uploadStl:
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/UploadStlRequest'
responses:
badRequestError:
description: Parameter or payload input for the request was invalid.
headers:
X-Reference-ID:
schema:
type: integer
description: An identifier of the error instance that can be used for Markforged support.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
unauthorizedError:
description: Authentication information is missing or invalid.
headers:
X-Reference-ID:
schema:
type: integer
description: An identifier of the error instance that can be used for Markforged support.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
conflictError:
description: Request could not be completed because there is a conflicting action being performed on the resource.
headers:
X-Reference-ID:
schema:
type: integer
description: An identifier of the error instance that can be used for Markforged support.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
resourceNotFoundError:
description: The requested resource does not or exist or cannot be found.
headers:
X-Reference-ID:
schema:
type: integer
description: An identifier of the error instance that can be used for Markforged support.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
serverError:
description: The server failed to process the request.
headers:
X-Reference-ID:
schema:
type: integer
description: An identifier of the error instance that can be used for Markforged support.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
## backlog
sendBuildToJobRequestQueue:
description: Send a build to the Job Request Queue.
content:
application/json:
schema:
$ref: '#/components/schemas/SendBuildToBacklogResponse'
sendBuildToBacklog:
description: Send a build to the backlog.
content:
application/json:
schema:
$ref: '#/components/schemas/SendBuildToBacklogResponse'
## builds
listBuilds:
description: A list of builds.
content:
application/json:
schema:
$ref: '#/components/schemas/ListBuildsResponse'
readBuild:
description: A single build.
content:
application/json:
schema:
$ref: '#/components/schemas/ReadBuildResponse'
listApprovedBuilds:
description: A list of approved builds.
content:
application/json:
schema:
$ref: '#/components/schemas/ListApprovedBuildsResponse'
## devices
listDevices:
description: A list of devices.
content:
application/json:
schema:
$ref: '#/components/schemas/ListDevicesResponse'
readDevice:
description: A single device.
content:
application/json:
schema:
$ref: '#/components/schemas/ReadDeviceResponse'
printToPrinter:
description: |
Build sent to printer.
NOTE: This is an "asynchronous request". It will respond with a success
without checking that the printer successfully accepted the print job.
You will need to monitor the state of the Printer or PrintJob to confirm success.
content:
application/json:
schema:
$ref: '#/components/schemas/PrintToPrinterResponse'
listDeviceQueue:
description: List of queued jobs.
content:
application/json:
schema:
$ref: '#/components/schemas/ListDeviceQueueResponse'
appendToDeviceQueue:
description: A single queued job.
content:
application/json:
schema:
$ref: '#/components/schemas/AppendToDeviceQueueResponse'
readDeviceQueue:
description: A single queued job.
content:
application/json:
schema:
$ref: '#/components/schemas/ReadDeviceQueueResponse'
listPrintJobs:
description: A list of print jobs.
content:
application/json:
schema:
$ref: '#/components/schemas/ListPrintJobsResponse'
readPrintJob:
description: A single build.
content:
application/json:
schema:
$ref: '#/components/schemas/ReadPrintJobResponse'
getPrintJobPartScanReport:
description: A list of Inspection report urls.
content:
application/json:
schema:
$ref: '#/components/schemas/GetPrintJobPartScanReportResponse'
## parts
readPart:
description: A single part.
content:
application/json:
schema:
$ref: '#/components/schemas/ReadPartResponse'
uploadStl:
description: The slice job id and part id.
content:
application/json:
schema:
$ref: '#/components/schemas/UploadStlResponse'
getSliceStatus:
description: The status of a slice job.
content:
application/json:
schema:
$ref: '#/components/schemas/SliceStatusResponse'
getOrgSettingsPresets:
description: The Settings Presets of an organization.
content:
application/json:
schema:
$ref: '#/components/schemas/OrgSettingsPresetsResponse'
# part versions
readPartVersion:
description: A single part version.
content:
application/json:
schema:
$ref: '#/components/schemas/ReadPartVersionResponse'
readSignedURL:
description: URL to download STL file.
content:
application/json:
schema:
$ref: '#/components/schemas/ReadSignedURLResponse'
## printed parts
listPrintedParts:
description: All printed parts in an organization.
content:
application/json:
schema:
$ref: '#/components/schemas/ListPrintedPartsResponse'
readPrintedPart:
description: A single printed part.
content:
application/json:
schema:
$ref: '#/components/schemas/ReadPrintedPartResponse'
getPrintedPartScanReport:
description: Return URL to download scan report
headers:
Location:
schema:
$ref: '#/components/schemas/GetPrintedPartScanReportResponse'
# users
listUsers:
description: A list of users.
content:
application/json:
schema:
$ref: '#/components/schemas/ListUsersResponse'
getUser:
description: A single user.
content:
application/json:
schema:
$ref: '#/components/schemas/GetUserResponse'