mirror of
https://github.com/gosticks/octoprint-open-api.git
synced 2025-10-16 11:45:38 +00:00
235 lines
5.9 KiB
YAML
235 lines
5.9 KiB
YAML
openapi: 3.0.2
|
|
info:
|
|
license:
|
|
name: Creative Commons
|
|
url: https://creativecommons.org/licenses/by/3.0
|
|
title: OctoPrint
|
|
description: >-
|
|
## About
|
|
OctoPrint is an OpenSource community based 3D printer control system. This unofficial API definitions provides easy access to its exposed REST API and allows for easy client generation in languages supported by OpenAPI generators.
|
|
|
|
For more information about OctoPrint visit the official webpage [here](https://octoprint.org)
|
|
|
|
## Limitations
|
|
- API documentation structure is currently still work in progress so the arrangement of the API endpoints in this documentation may change.
|
|
|
|
- Currently this API definitions does not include bundled Plugins (see official API [here](https://docs.octoprint.org/en/master/bundledplugins/logging.html#sec-bundledplugins-logging-api))
|
|
|
|
- Timelapse endpoint is missing
|
|
- Slicing endpoint is missing
|
|
- Wizard endpoint is missing
|
|
- Push updates endpoint is missing
|
|
- Auth header definitions are still missing
|
|
|
|
version: "0.8"
|
|
servers:
|
|
- url: "/api"
|
|
tags:
|
|
- name: General
|
|
description: General operations
|
|
- name: User
|
|
description: User operations
|
|
- name: Groups
|
|
description: User group management
|
|
- name: Permissions
|
|
description: >-
|
|
Retrieve system permission settings
|
|
- name: System
|
|
description: OctoPrint system operations
|
|
- name: Settings
|
|
description: System settings
|
|
- name: System Commands
|
|
description: Manage and execute system commands
|
|
|
|
- name: Languages
|
|
description: Printer language configuration
|
|
|
|
- name: Printer
|
|
description: Printer operations
|
|
- name: Job
|
|
description: Control and monitor ongoing printer jobs
|
|
- name: file
|
|
description: File operations
|
|
|
|
x-tagGroups:
|
|
- name: General
|
|
tags:
|
|
- General
|
|
- name: Printer
|
|
tags:
|
|
- State
|
|
- Jobs
|
|
- Tool
|
|
- Bed
|
|
- Printhead
|
|
- Chamber
|
|
- SD Card
|
|
- Profiles
|
|
|
|
- name: Files
|
|
tags:
|
|
- Files
|
|
|
|
- name: User Management & Access
|
|
tags:
|
|
- User
|
|
- Groups
|
|
- Permissions
|
|
- name: System
|
|
tags:
|
|
- System
|
|
- Settings
|
|
- System Commands
|
|
- Languages
|
|
paths:
|
|
/login:
|
|
$ref: paths/login.yaml
|
|
/logout:
|
|
$ref: paths/logout.yaml
|
|
/currentuser:
|
|
$ref: paths/currentuser.yaml
|
|
/version:
|
|
$ref: paths/version.yaml
|
|
/connection:
|
|
$ref: paths/connection.yaml
|
|
|
|
# File endpoints
|
|
/files:
|
|
get:
|
|
$ref: paths/files/get.yaml
|
|
/files/{location}:
|
|
get:
|
|
$ref: paths/files/{location}/get.yaml
|
|
post:
|
|
$ref: ./paths/files/{location}/post.yaml
|
|
/files/{location}/{path}:
|
|
get:
|
|
$ref: ./paths/files/{location}/{path}-get.yaml
|
|
delete:
|
|
$ref: ./paths/files/{location}/{path}-delete.yaml
|
|
|
|
# Print job endpoints
|
|
/job:
|
|
get:
|
|
$ref: paths/job/get.yaml
|
|
post:
|
|
$ref: paths/job/post.yaml
|
|
/printer:
|
|
get:
|
|
$ref: paths/printer/get.yaml
|
|
/printer/tool:
|
|
get:
|
|
$ref: paths/printer/tool-get.yaml
|
|
post:
|
|
$ref: paths/printer/tool-post.yaml
|
|
/printer/bed:
|
|
get:
|
|
$ref: paths/printer/bed-get.yaml
|
|
post:
|
|
$ref: paths/printer/bed-post.yaml
|
|
/printer/chamber:
|
|
get:
|
|
$ref: paths/printer/chamber-get.yaml
|
|
post:
|
|
$ref: paths/printer/chamber-post.yaml
|
|
/printer/sd:
|
|
get:
|
|
$ref: paths/printer/sd-get.yaml
|
|
post:
|
|
$ref: paths/printer/sd-post.yaml
|
|
/printer/command/custom:
|
|
get:
|
|
$ref: paths/printer/command/custom-get.yaml
|
|
/printer/command:
|
|
post:
|
|
$ref: paths/printer/command/post.yaml
|
|
|
|
# Printer profile management
|
|
/printerprofiles:
|
|
get:
|
|
$ref: paths/printerprofiles/get.yaml
|
|
post:
|
|
$ref: paths/printerprofiles/post.yaml
|
|
/printerprofiles/{identifier}:
|
|
get:
|
|
$ref: paths/printerprofiles/{identifier}-get.yaml
|
|
post:
|
|
$ref: paths/printerprofiles/{identifier}-post.yaml
|
|
delete:
|
|
$ref: paths/printerprofiles/{identifier}-delete.yaml
|
|
|
|
# OctoPrint system commands
|
|
/system/commands:
|
|
get:
|
|
$ref: paths/system/commands/get.yaml
|
|
/system/commands/{source}:
|
|
get:
|
|
$ref: paths/system/commands/{source}-get.yaml
|
|
/system/commands/{source}/{action}:
|
|
post:
|
|
$ref: paths/system/commands/{source}-{action}-post.yaml
|
|
|
|
/settings:
|
|
get:
|
|
$ref: paths/settings/get.yaml
|
|
post:
|
|
$ref: paths/settings/post.yaml
|
|
/settings/templates:
|
|
get:
|
|
$ref: paths/settings/templates-get.yaml
|
|
/settings/apikey:
|
|
get:
|
|
$ref: paths/settings/apikey-post.yaml
|
|
|
|
# Access Controls
|
|
/access/permissions:
|
|
get:
|
|
$ref: paths/access/permissions-get.yaml
|
|
/access/groups:
|
|
get:
|
|
$ref: paths/access/groups/get.yaml
|
|
post:
|
|
$ref: paths/access/groups/post.yaml
|
|
/access/groups/{key}:
|
|
get:
|
|
$ref: paths/access/groups/{key}-get.yaml
|
|
put:
|
|
$ref: paths/access/groups/{key}-put.yaml
|
|
delete:
|
|
$ref: paths/access/groups/{key}-delete.yaml
|
|
/access/users:
|
|
get:
|
|
$ref: paths/access/users/get.yaml
|
|
post:
|
|
$ref: paths/access/users/post.yaml
|
|
/access/users/{username}:
|
|
get:
|
|
$ref: paths/access/users/{username}-get.yaml
|
|
put:
|
|
$ref: paths/access/users/{username}-put.yaml
|
|
delete:
|
|
$ref: paths/access/users/{username}-delete.yaml
|
|
/access/users/{username}/password:
|
|
put:
|
|
$ref: paths/access/users/{username}-password-put.yaml
|
|
/access/users/{username}/settings:
|
|
get:
|
|
$ref: paths/access/users/{username}-settings-get.yaml
|
|
patch:
|
|
$ref: paths/access/users/{username}-settings-patch.yaml
|
|
/access/users/{username}/apikey:
|
|
post:
|
|
$ref: paths/access/users/{username}-apikey-post.yaml
|
|
delete:
|
|
$ref: paths/access/users/{username}-apikey-delete.yaml
|
|
|
|
# Language endpoints
|
|
/languages:
|
|
get:
|
|
$ref: paths/languages/get.yaml
|
|
post:
|
|
$ref: paths/languages/post.yaml
|
|
/languages/{locale}/{pack}:
|
|
delete:
|
|
$ref: paths/languages/{locale}-{pack}-delete.yaml
|