# OctoPrint API

**Canonical:** https://apis.io/apis/octoprint/octoprint-api/  
**Provider:** OctoPrint — https://apis.io/providers/octoprint/  
**Documentation:** https://docs.octoprint.org/en/main/api/job.html

OctoPrint API is one of 2 APIs that [OctoPrint](https://apis.io/providers/octoprint/) publishes on the [APIs.io](https://apis.io/) network, described by a machine-readable OpenAPI specification. This API exposes 6 JSON Schema definitions. The published artifact set on APIs.io includes an OpenAPI specification and 6 JSON Schemas.

OctoPrint API as documented publicly: 54 operations. Contract generated from the documentation by API Evangelist (2026-10-28); not the provider's own document.

## Operations (54)

| Method | Path | Summary |
|---|---|---|
| GET | `/api/access/groups` | Retrieves all groups registered in the system. |
| POST | `/api/access/groups` | Adds a new group to the system. |
| GET | `/api/access/permissions` | Retrieves all permissions available in the system. |
| GET | `/api/access/users` | Retrieves a list of all registered users in OctoPrint. |
| POST | `/api/access/users` | Adds a user to OctoPrint. |
| GET | `/api/connection` | Retrieve the current connection settings, including information regarding the available baudrates and serial ports and the current connection state. |
| POST | `/api/connection` | Issue a connection command. |
| GET | `/api/currentuser` | Retrieves information about the current user. |
| GET | `/api/files` | Retrieve information regarding all files currently available and regarding the disk space still available locally in the system. |
| POST | `/api/files` | Upload a file to the selected location or create a new empty folder on it. |
| GET | `/api/files/local` | Retrieve information regarding the files currently available on the selected location and regarding the disk space still available locally in the system. |
| POST | `/api/files/local` | Upload a file to the selected location or create a new empty folder on it. |
| POST | `/api/files/local/some_folder/and_a_subfolder` | Issue a file command to an existing file. |
| POST | `/api/files/local/some_folder/some_model.gcode` | Issue a file command to an existing file. |
| POST | `/api/files/local/some_folder/some_model.stl` | Issue a file command to an existing file. |
| DELETE | `/api/files/local/whistle_v2.gcode` | Delete the selected path on the selected location. |
| GET | `/api/files/local/whistle_v2.gcode` | Retrieves the selected file's or folder's information. |
| POST | `/api/files/local/whistle_v2.gcode` | Issue a file command to an existing file. |
| POST | `/api/files/sdcard` | Upload a file to the selected location or create a new empty folder on it. |
| GET | `/api/job` | Retrieve information about the current job (if there is one). |
| POST | `/api/job` | Job commands allow starting, pausing and cancelling print jobs. |
| GET | `/api/languages` | Retrieves a list of installed language packs. |
| POST | `/api/languages` | Uploads a new language pack to OctoPrint. |
| POST | `/api/login` | Creates a login session or retrieves information about the currently existing session ("passive login"). |
| POST | `/api/logout` | Ends the current login session of the current user. |
| POST | `/api/plugin/mysimpleapiplugin` | Called by OctoPrint upon a POST request to /api/plugin/<plugin identifier> with a command and JSON data. |
| GET | `/api/printer` | Retrieves the current state of the printer. |
| GET | `/api/printer/bed` | Retrieves the current temperature data (actual, target and offset) plus optionally a (limited) history for the printer's heated bed. |
| POST | `/api/printer/bed` | Issue a bed command. |
| GET | `/api/printer/chamber` | Retrieves the current temperature data (actual, target and offset) plus optionally a (limited) history for the printer's heated chamber. |
| POST | `/api/printer/chamber` | Issue a chamber command. |
| POST | `/api/printer/command` | Sends any command to the printer via the serial interface. |
| GET | `/api/printer/command/custom` | Retrieves the custom controls as configured in config.yaml. |
| GET | `/api/printer/error` | Retrieves information about the last error that occurred on the printer. |
| POST | `/api/printer/printhead` | Issue a print head command. |
| GET | `/api/printer/sd` | Retrieves the current state of the printer's SD card. |
| POST | `/api/printer/sd` | Issue an SD command. |
| GET | `/api/printer/tool` | Retrieves the current temperature data (actual, target and offset) plus optionally a (limited) history for all of the printer's available tools. |
| POST | `/api/printer/tool` | Issue a tool command. |
| GET | `/api/printerprofiles` | Retrieves an object representing all configured printer profiles. |
| POST | `/api/printerprofiles` | Adds a new printer profile based on either the current default profile or the profile identified in basedOn. |
| GET | `/api/server` | GET /api/server |
| GET | `/api/settings` | Retrieves the current configuration of OctoPrint. |
| POST | `/api/settings` | Saves the provided settings in OctoPrint. |
| POST | `/api/settings/apikey` | Generates a new system wide API key. |
| GET | `/api/settings/templates` | Fetch data (currently only the sorting order) of all registered template components in the system. |
| GET | `/api/slicing` | Returns a list of all available slicing profiles for all registered slicers in the system. |
| GET | `/api/system/commands` | Retrieves all configured system commands. |
| GET | `/api/timelapse` | Retrieves a list of timelapses and the current config. |
| POST | `/api/timelapse` | Save a new timelapse configuration to use for the next print. |
| POST | `/api/util/test` | Provides commands to test paths or URLs for correctness. |
| GET | `/api/version` | GET /api/version |
| GET | `/setup/wizard` | Retrieves additional data about the registered wizards. |
| POST | `/setup/wizard` | Inform wizards that the wizard dialog has been finished. |

## Machine-readable artifacts (7)

- **OpenAPI** — https://artifacts.apis.io/octoprint/openapi/_ae-authored/octoprint-openapi-generated.yml
- **JSONSchema** — https://artifacts.apis.io/octoprint/json-schema/octoprint-post-api-util-test-request-schema.json
- **JSONSchema** — https://artifacts.apis.io/octoprint/json-schema/octoprint-post-api-util-test-response-schema.json
- **JSONSchema** — https://artifacts.apis.io/octoprint/json-schema/octoprint-post-api-connection-request-schema.json
- **JSONSchema** — https://artifacts.apis.io/octoprint/json-schema/octoprint-post-api-files-local-whistle-v2-gcode-request-schema.json
- **JSONSchema** — https://artifacts.apis.io/octoprint/json-schema/octoprint-post-api-files-local-some-folder-some-model-stl-request-schema.json
- **JSONSchema** — https://artifacts.apis.io/octoprint/json-schema/octoprint-post-api-printer-tool-request-schema.json

## Other OctoPrint APIs (1)

- [OctoPrint REST API](https://apis.io/apis/octoprint/octoprint-rest-api/)

---

Profiled by [API Evangelist](https://apievangelist.com) and published on [APIs.io](https://apis.io/apis/octoprint/octoprint-api/). The API's provider profile, Kin Score and agent-readiness rating are at https://apis.io/providers/octoprint/.
