3D Printer Control API¶
The 3D Printer Control API provides printer-agnostic commands for common actions such as pausing, resuming, canceling, toggling lights, homing, moving, extruding, and controlling temperature.
Tip
These APIs work with every 3D printer OctoEverywhere supports, including OctoPrint, Moonraker, Klipper, Bambu Lab, Prusa, Elegoo, Creality, and more.
Feature Flags¶
To find out what features your 3D printer supports, check the Features bitmask from the Printer Status API before showing optional controls.
Common Error Codes¶
All Plugin APIs share a set of common error codes that can be returned for issues like the OctoEverywhere plugin is offline, auth issues, etc.
Response Format¶
Control APIs return a JSON envelope. Status is the plugin command status code. On success, Status is 200.
Pause¶
Pauses the current print. If SmartPause is enabled, supported platforms can optionally disable heaters, lift Z, retract filament, suppress pause notifications, and show a smart pause popup.
{
"SmartPause": true,
"DisableHotend": true,
"DisableBed": false,
"ZLiftMm": 5,
"RetractFilamentMm": 2,
"SuppressNotification": true,
"ShowSmartPausePopup": true
}
| Name | Type | Default | Description |
|---|---|---|---|
SmartPause |
bool | false |
Enables smart pause behavior when supported. |
DisableHotend |
bool | true |
Smart pause option to turn off the hotend. |
DisableBed |
bool | false |
Smart pause option to turn off the bed. |
ZLiftMm |
int | 0 |
Smart pause Z lift distance in millimeters. |
RetractFilamentMm |
int | 0 |
Smart pause filament retract distance in millimeters. |
SuppressNotification |
bool | SmartPause |
Suppresses the OctoEverywhere pause notification. |
ShowSmartPausePopup |
bool | true |
Shows a smart pause popup in the printer portal when relevant. |
Resume¶
Resumes a paused print.
No request body is required.
Cancel¶
Cancels the active print.
No request body is required.
Set Light¶
Turns a printer light on or off. Use a light Name returned by JobStatus.Lights[] from the Printer Status API.
| Name | Type | Required | Description |
|---|---|---|---|
Name |
string | Yes | Light name from JobStatus.Lights[].Name. |
On |
bool | Yes | true turns the light on; false turns it off. |
Move Axis¶
Moves one axis by a relative distance in millimeters. Positive and negative distances are supported.
| Name | Type | Required | Description |
|---|---|---|---|
Axis |
string | Yes | Axis to move. Supported values are X, Y, and Z. |
DistanceMm |
number | Yes | Relative movement distance in millimeters. |
Home¶
Homes all axes.
No request body is required.
Extrude¶
Extrudes or retracts filament on the selected extruder.
| Name | Type | Required | Description |
|---|---|---|---|
Extruder |
int | Yes | Zero-based extruder index. |
DistanceMm |
number | Yes | Positive values extrude; negative values retract. |
Set Temp¶
Sets bed, chamber, or hotend temperature targets in Celsius. At least one heater target must be supplied. Current safety limits are 75C for the bed, 75C for the chamber, and 260C for tool temperature.
| Name | Type | Required | Description |
|---|---|---|---|
BedC |
number | No | Bed target temperature in Celsius. Maximum 75C. |
ChamberC |
number | No | Chamber target temperature in Celsius. Maximum 75C. |
ToolC |
number | No | Hotend target temperature in Celsius. Maximum 260C. |
ToolNumber |
int | No | Tool index for multi-tool printers. |