Skip to content

Plugin API Error Codes

Overview

There are two layers to error codes that can be expressed when using Plugin APIs. Any Plugin API call can return any of these error codes, so they should all be considered and handled.

First, your request must be validated and processed by the OctoEverywhere service, then by the OctoEverywhere plugin, and finally by your 3D printer's host software. Errors can come from any of those hops.

OctoEverywhere Service Errors

These are 600 level HTTP error codes that are generated by the OctoEverywhere service for issues communicating with the plugin. For example, if the plugin is not connected to OctoEverywhere and is offline.

See OctoEverywhere API Error Codes

Plugin API Errors

For all other errors, a HTTP 200 will be returned with an error result in the JSON body payload.

Example Error Response
{
    "Status": 785,
    "Error": "Host not connected"
}

The status code returned can be a common 700 level HTTP status code from the plugin, or a common 400 or 500 level HTTP status code as defined by the specific Plugin API. For example, the File Download API will return a 404 if the requested file doesn't exist.

Plugin API Common Error Codes

HTTP Status Meaning
750 An unknown command failure.
751 Failed to parse command arguments.
752 Something when wrong while trying to execute the command.
753 Failed to serialize the command response.
754 The command path was unknown, it's either incorrect or the plugin is too old to support it.
785 The plugin is not connected to the 3D printer's software or firmware.
786 Invalid printer state for the requested action, for example trying to pause while it's not printing.
787 The plugin cannot connect because too many clients are connected to the 3D printer already. This only can happen on a small subset of 3D printers.
788 Feature is not supported on the current 3D printer platform.
789 The OctoEverywhere plugin doesn't have valid authentication details to connect to the 3D printer.

Plugin API Specific Errors

Each Plugin API can return different error codes, which are documented with each API definition on this site.