mirror of
https://github.com/gosticks/octoprint-open-api.git
synced 2025-10-16 11:45:38 +00:00
233 lines
5.8 KiB
YAML
233 lines
5.8 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 included 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
|
|
version: "0.8"
|
|
servers:
|
|
- url: "http://192.168.178.66:5000/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
|