Skip to content

Third Party Integrations

Apprise Notifier

Moonraker supports configurable push notifications using the apprise library. The endpoints in this section may be used to manage/view registered notifiers.

The following endpoints are available when at least one [notifier <name>] section has been configured in moonraker.conf.

List Notifiers

HTTP Request
GET /server/notifiers/list
JSON-RPC Request
{
    "jsonrpc": "2.0",
    "method": "server.notifiers.list",
    "id": 4654
}
Example Response
{
    "notifiers": [
        {
            "name": "print_start",
            "url": "tgram://{bottoken}/{ChatID}",
            "events": [
                "started"
            ],
            "body": "Your printer started printing '{event_args[1].filename}'",
            "title": null,
            "attach": null
        },
        {
            "name": "print_complete",
            "url": "tgram://{bottoken}/{ChatID}",
            "events": [
                "complete"
            ],
            "body": "Your printer completed printing '{event_args[1].filename}",
            "title": null,
            "attach": "http://192.168.1.100/webcam/?action=snapshot"
        },
        {
            "name": "print_error",
            "url": "tgram://{bottoken}/{ChatID}",
            "events": [
                "error"
            ],
            "body": "{event_args[1].message}",
            "title": null,
            "attach": "http://192.168.1.100/webcam/?action=snapshot"
        }
    ]
}
Response Specification
Field Type Description
notifiers [object] An array of Notifier Status objects.
Notifier Status
Field Type Description
name string The configured name of the notifier.
url string The notifier's destination url.
events [string] An array that contains one or more events which will trigger the push notification.
body string | null The content to send in the body of the notification. Will be null if no body is configured.
title string | null The title of the notification. Will be null if no title is configured
attach string | null One or more attachments added to the notification. Multiple attachments are separated by newlines. Will be null if no attachment is configured.
Available Notifier Events
Event Description
standby The printer has entered its standby state.
started A print job has started.
paused A print job has paused.
resumed A print job has resumed.
complete A print job has successfully finished.
error A print job exited with an error.
cancelled A print job was cancelled by the user.

Note

The url, body, title, and attach parameters may contain Jinja 2 templates. All templates are evaluated before the notification is pushed.

Test a notifier (debug)

Forces a registered notifier to push a notification.

Note

This endpoint is only available when Moonraker's debug features are enabled and should not be implemented in production code

HTTP Request
POST /debug/notifiers/test
Content-Type: application/json

{
    "name": "notifier_name"
}
JSON-RPC Request
{
    "jsonrpc": "2.0",
    "method": "debug.notifiers.test",
    "params": {
        "name": "notifier_name"
    },
    "id": 4654
}
Parameters
Name Type Default Description
name string REQUIRED The name of the notifier to test.
Example Response
{
    "status": "success",
    "stats": {
        "print_duration": 0.0,
        "total_duration": 0.0,
        "filament_used": 0.0,
        "filename": "notifier_test.gcode",
        "state": "standby",
        "message": "",
        "info": {
            "total_layer": null,
            "current_layer": null
        }
    }
}
Response Specification
Field Type Description
status string The status of the test result. Currently will always be success.
stats object A Print Stats object.

Spoolman

Spoolman is a spool tracking web service that can manage spool data across multiple printers. Moonraker has support for updating and retrieving spool data through its [spoolman] integration.

The following endpoints are available when the [spoolman] component has been configured.

Get Spoolman Status

Returns the current status of the spoolman module.

HTTP Request
GET /server/spoolman/status
JSON-RPC Request
{
    "jsonrpc": "2.0",
    "method": "server.spoolman.status",
    "id": 4654
}
Example Response
{
    "spoolman_connected": false,
    "pending_reports": [
        {
            "spool_id": 1,
            "filament_used": 10
        }
    ],
    "spool_id": 2
}
Response Specification
Field Type Description
spoolman_connected bool Indicates that Moonraker has an established websocket connection to Spoolman.
pending_reports [object] An array of Pending Spoolman Report objects. A pending report is a report that has not yet been sent to Spoolman. This may be because Spoolman is not available or because the current batch of reports are waiting for the internal report timer to schedule them.
Pending Reports
Field Type Description
spool_id int The ID of the spool with pending report data.
filament_used float The amount of used filament to report in mm.
spool_id int | null The ID of the currently tracked spool. A value of null indicates that no spool ID is set and tracking is disabled.

Set active spool

Set the active ID of the spool to track filament usage and report to Spoolman.

HTTP Request
POST /server/spoolman/spool_id
Content-Type: application/json

{
    "spool_id": 1
}
JSON-RPC Request
{
    "jsonrpc": "2.0",
    "method": "server.spoolman.post_spool_id",
    "params": {
        "spool_id": 1
    },
    "id": 4654
}

Parameters
Name Type Default Description
spool_id int | null null The new active spool ID. A null value will unset the previous active spool and disable tracking.
Example Response
{
    "spool_id": 1
}
Response Specification
Field Type Description
spool_id int | null The ID of the currently tracked spool. A value of null indicates that no spool ID is set and tracking is disabled.

Get active spool

Retrieve the ID of the spool to which Moonraker reports usage for Spoolman.

HTTP Request
GET /server/spoolman/spool_id
JSON-RPC Request
{
    "jsonrpc": "2.0",
    "method": "server.spoolman.get_spool_id",
    "id": 4654
}
Example Response
{
    "spool_id": 1
}
Response Specification
Field Type Description
spool_id int | null The ID of the currently tracked spool. A value of null indicates that no spool ID is set and tracking is disabled.

Proxy

Proxy an API request to the Spoolman Server.

See Spoolman's OpenAPI Description for detailed information about it's API.

Note

The version 2 response has been added to eliminate ambiguity between Spoolman errors and Moonraker errors. With version 1 a frontend is not able to reliably to determine if the error is sourced from Spoolman or Moonraker. Version 2 responses will return success unless Moonraker is the source of the error.

The version 2 response is currently opt-in to avoid breaking existing implementations, however in the future it will be required, at which point the version 1 response will be removed. The version 1 response is now deprecated.

HTTP Request
POST /server/spoolman/proxy
Content-Type: application/json

{
    "request_method": "POST",
    "path": "/v1/spool",
    "query": "a=1&b=4",
    "body": {
        "filament_id": 1
    }
}
JSON-RPC Request
{
    "jsonrpc": "2.0",
    "method": "server.spoolman.proxy",
    "params": {
        "use_v2_response": true,
        "request_method": "POST",
        "path": "/v1/spool",
        "query": "a=1&b=4",
        "body": {
            "filament_id": 1
        }
    },
    "id": 4654
}
Parameters
Name Type Default Description
use_v2_response bool false When set to true the request will return a version 2 response.
request_method string REQUIRED The HTTP request method of the API call to proxy.
path string REQUIRED The path section of the API endpoint to proxy. It must include the version, ie: /v1/filament
query string null An optional query string component of the URL to proxy. A null value will omit the query string.
body object null An optional body containing request parameters for the API call. This should be a JSON encodable object. A null value will send an empty body.
Example Success Response (Version 2)
{
    "response": {
        "id": 2,
        "registered": "2023-11-23T12:18:31Z",
        "first_used": "2023-11-22T12:17:56.123000Z",
        "last_used": "2023-11-23T10:17:59.900000Z",
        "filament": {
            "id": 2,
            "registered": "2023-11-23T12:17:44Z",
            "name": "Reactor Red",
            "vendor": {
                "id": 2,
                "registered": "2023-06-26T21:00:42Z",
                "name": "Fusion"
            },
            "material": "PLA",
            "price": 25,
            "density": 1.24,
            "diameter": 1.75,
            "weight": 1000,
            "color_hex": "BD0B0B"
        },
        "remaining_weight": 950,
        "used_weight": 50,
        "remaining_length": 318519.4384459262,
        "used_length": 16764.18097083822,
        "archived": false
    },
    "error": null
}
Example Error Response (Version 2)
{
    "response": null,
    "error": {
        "status_code": 404,
        "message": "No spool with ID 3 found."
    }
}
Response Specification

Note

Version 1 responses are proxied directly. See Spoolman's API documentation for response specifications. Errors are also proxied directly.

Version 2 response
Field Type Description
response object | null On success will be an object containing the response received from Spoolman. Will be null if an error is received.
error object | null On error will be a Spoolman Error object. Will be null on successful requests.
Spoolman Error
Field Type Description
status_code int The HTTP status code of the response.
message string The error message received with the response.

Klipper Estimator time analysis

Moonraker's analysis component uses Klipper Estimator to perform gcode file time analysis. The endpoints in this section are available when the [analysis] section has been configured in moonraker.conf.

Get Analysis Status

HTTP Request
GET /server/analysis/status
JSON-RPC Request
{
    "jsonrpc": "2.0",
    "method": "server.analysis.status",
    "id": 4654
}
Example Response
{
    "estimator_executable": "klipper_estimator_rpi",
    "estimator_ready": true,
    "estimator_version": "v3.7.3",
    "estimator_config_exists": true,
    "using_default_config": false
}
Response Specification
Field Type Description
estimator_executable string The name of the Klipper Estimator executable file.
estimator_ready bool A value of true indicates that the Klipper Estimator binary is present and successfully reports its version.
estimator_version string The version reported by Klipper Estimator.
estimator_config_exists bool A value of true indicates that a valid Klipper Estimator config file exists.
using_default_config bool Reports true when Klipper Estimator is configured to use the default config.

Note

When Klipper Estimator is first initialized Moonraker downloads the binary and grants it executable permissions. A default configuration will be dumped when Klippy reports ready. The default configuration will not exist until Klippy is ready and available.

Perform a time analysis

HTTP Request
POST /server/analysis/estimate
Content-Type: application/json

{
    "filename": "my_file.gcode",
    "estimator_config": "custom_estimator_cfg.json"
}
JSON-RPC Request
{
    "jsonrpc": "2.0",
    "method": "server.analysis.estimate",
    "params": {
        "filename": "my_file.gcode",
        "estimator_config": "custom_estimator_cfg.json"
    }
    "id": 4654
}
Parameters
Name Type Default Description
filename string REQUIRED The path to the gcode file to perform a time estimate on. This should be a path relative to the gcodes root folder.
estimator_config string CONFIG_DEFAULT The path to a Klipper Estimator config file, relative to the config root folder. When omitted the file configured in the [analysis] section of moonraker.conf or the default dumped config will be used.
Example Response
{
    "total_time": 3086.8131575260686,
    "total_distance": 63403.85014049082,
    "total_extrude_distance": 2999.883480000007,
    "max_flow": 7.593973828405062,
    "max_speed": 180,
    "num_moves": 19068,
    "total_z_time": 122.51358592092325,
    "total_output_time": 2789.122405609832,
    "total_travel_time": 257.9946362351847,
    "total_extrude_only_time": 39.446115681036936,
    "phase_times": {
        "acceleration": 360.966527738102,
        "cruise": 2365.24977575805,
        "deceleration": 360.3468540299323
    },
    "kind_times": {
        "Bridge infill": 86.61878955677516,
        "Custom": 1.1925285421682654,
        "External perimeter": 727.5477605614387,
        "Gap fill": 11.412536370727818,
        "Internal infill": 1035.7116673043204,
        "Overhang perimeter": 0.966786878164481,
        "Perimeter": 562.2619470028691,
        "Skirt/Brim": 22.540480459569807,
        "Solid infill": 573.0419719937473,
        "Top solid infill": 65.26868885629558
    },
    "layer_times": [
        [
            0,
            0.05059644256269407
        ],
        [
            0.2,
            58.177320509927746
        ],
        [
            0.5,
            31.954084022391182
        ],
        [
            0.6,
            0.9089208501630478
        ],
        [
            0.8,
            33.99706357305071
        ],
        [
            1.1,
            25.96804446085199
        ],
        [
            1.4,
            26.479048320454805
        ],
        [
            1.7,
            26.582581091690333
        ],
        [
            2,
            27.072868276853875
        ],
        [
            2.3,
            23.266380178000148
        ],
        [
            2.6,
            23.32793916103499
        ],
        [
            2.9,
            22.68151682077201
        ],
        [
            3.2,
            39.49402504999236
        ],
        [
            3.5,
            27.195385252006332
        ],
        [
            3.8,
            28.109438088654816
        ],
        [
            4.1,
            24.08349852277251
        ],
        [
            4.4,
            23.917674876902552
        ],
        [
            4.7,
            23.202091559017017
        ],
        [
            5,
            23.198343943562456
        ],
        [
            5.3,
            22.153783595351126
        ],
        [
            5.6,
            21.808169596228392
        ],
        [
            5.9,
            21.904068197159418
        ],
        [
            6.2,
            21.726213600349016
        ],
        [
            6.5,
            21.555689782559813
        ],
        [
            6.8,
            21.56001088763045
        ],
        [
            7.1,
            21.616583527557026
        ],
        [
            7.4,
            21.587509695967398
        ],
        [
            7.7,
            21.582874923811257
        ],
        [
            8,
            21.57728927279966
        ],
        [
            8.3,
            21.76624101342738
        ],
        [
            8.6,
            21.450965502680578
        ],
        [
            8.9,
            21.461465610564524
        ],
        [
            9.2,
            21.366725852519636
        ],
        [
            9.5,
            21.362167027170038
        ],
        [
            9.8,
            25.600580479722474
        ],
        [
            10.1,
            26.282946643536636
        ],
        [
            10.4,
            26.693162061300253
        ],
        [
            10.7,
            25.87730466751283
        ],
        [
            11,
            25.837521272340645
        ],
        [
            11.3,
            25.220649143903664
        ],
        [
            11.6,
            24.91627368335564
        ],
        [
            11.9,
            24.565979527961527
        ],
        [
            12.2,
            21.901257609622963
        ],
        [
            12.5,
            21.26785043389243
        ],
        [
            12.8,
            21.099317506268335
        ],
        [
            13.1,
            21.524648538390988
        ],
        [
            13.4,
            24.108699996006557
        ],
        [
            13.7,
            24.373866962973825
        ],
        [
            14,
            25.230795272831255
        ],
        [
            14.3,
            25.47226683972438
        ],
        [
            14.6,
            26.051098821629687
        ],
        [
            14.9,
            26.2540071554197
        ],
        [
            15.2,
            26.54261709911606
        ],
        [
            15.5,
            22.769433528123376
        ],
        [
            15.8,
            22.57337903594234
        ],
        [
            16.1,
            22.120135631848644
        ],
        [
            16.4,
            22.302142435605443
        ],
        [
            16.7,
            22.490758568112852
        ],
        [
            17,
            22.216297455855806
        ],
        [
            17.3,
            22.241988841558136
        ],
        [
            17.6,
            22.030502249189826
        ],
        [
            17.9,
            21.442566629762368
        ],
        [
            18.2,
            21.537227968334165
        ],
        [
            18.5,
            21.187671992912446
        ],
        [
            18.8,
            21.176477375060422
        ],
        [
            19.1,
            21.176107665494644
        ],
        [
            19.4,
            21.164450306340775
        ],
        [
            19.7,
            21.211793185762044
        ],
        [
            20,
            21.049079879215107
        ],
        [
            20.3,
            21.018544238429598
        ],
        [
            20.6,
            20.833976711167224
        ],
        [
            20.9,
            20.833976711167224
        ],
        [
            21.2,
            20.833976711167224
        ],
        [
            21.5,
            20.833976711167224
        ],
        [
            21.8,
            20.833976711167224
        ],
        [
            22.1,
            20.833976711167224
        ],
        [
            22.4,
            21.258875428281975
        ],
        [
            22.7,
            21.303045487271195
        ],
        [
            23,
            21.54997891912768
        ],
        [
            23.3,
            21.4000724519804
        ],
        [
            23.6,
            21.172838007877022
        ],
        [
            23.9,
            21.89326824952405
        ],
        [
            24.2,
            22.260210513833638
        ],
        [
            24.5,
            22.34815676766725
        ],
        [
            24.8,
            23.018360476759195
        ],
        [
            25.1,
            22.83742910264808
        ],
        [
            25.4,
            21.884928399224517
        ],
        [
            25.7,
            21.16791844379882
        ],
        [
            26,
            21.062339082163817
        ],
        [
            26.3,
            20.497926920922225
        ],
        [
            26.6,
            20.441458670088437
        ],
        [
            26.9,
            20.497926920922225
        ],
        [
            27.2,
            21.411213211524064
        ],
        [
            27.5,
            21.205564835097203
        ],
        [
            27.8,
            21.403735651236662
        ],
        [
            28.1,
            21.72317504502876
        ],
        [
            28.4,
            20.83804429637327
        ],
        [
            28.7,
            20.992445860036398
        ],
        [
            29,
            20.96056166031732
        ],
        [
            29.3,
            20.96056166031732
        ],
        [
            29.6,
            20.96056166031732
        ],
        [
            29.9,
            20.96056166031732
        ],
        [
            30.2,
            21.163385361246583
        ],
        [
            30.5,
            21.375398470771565
        ],
        [
            30.8,
            21.845443716854845
        ],
        [
            31.1,
            21.003381151310677
        ],
        [
            31.4,
            20.660669538703793
        ],
        [
            31.7,
            20.497926920922225
        ],
        [
            32,
            20.441458670088437
        ],
        [
            32.3,
            20.497926920922225
        ],
        [
            32.6,
            20.441458670088437
        ],
        [
            32.9,
            20.497926920922225
        ],
        [
            33.2,
            20.441458670088437
        ],
        [
            33.5,
            20.497926920922225
        ],
        [
            33.8,
            20.441458670088437
        ],
        [
            34.1,
            36.85516926371657
        ],
        [
            34.4,
            23.906291084020573
        ],
        [
            34.7,
            24.10243730191063
        ],
        [
            35,
            29.058094876089566
        ],
        [
            35.3,
            21.585307365265763
        ],
        [
            35.6,
            21.977729818546266
        ],
        [
            35.9,
            21.982243563755652
        ],
        [
            36.2,
            21.84660060776076
        ],
        [
            36.5,
            21.852866392888306
        ],
        [
            36.8,
            21.809194828486756
        ],
        [
            37.1,
            20.510222555418448
        ],
        [
            37.4,
            19.19335211292996
        ],
        [
            37.7,
            17.170142031218244
        ],
        [
            38,
            15.027435648219916
        ],
        [
            38.3,
            12.070425871333898
        ],
        [
            38.6,
            9.187916276700111
        ],
        [
            38.9,
            8.965728773112703
        ],
        [
            39.2,
            6.353229978247989
        ],
        [
            39.5,
            6.225660195566472
        ],
        [
            39.8,
            0.5801244322591914
        ],
        [
            40.1,
            0.2925785856185972
        ]
    ]
}
Response Specification

Note

This specification applies to the values returned by Klipper Estimator version v3.7.3.

All time estimates are reported in seconds.

Field Type Description
total_time float The total estimated time spent on the job.
total_distance float The total estimated travel distance of the tool in mm.
total_extrude_distance float The total estimated extrude distance in mm.
max_flow float The maximum flow rate detected in mm3/s.
max_speed float The maximum tool movement speed detected in mm/s.
num_moves int The total number of moves detected.
total_z_time float The estimated amount of time spent moving on the Z axis.
total_output_time float The estimated amount of time moving while extruding.
total_travel_time float The estimated amount of time the tool spent traveling.
total_extrude_only_time float The estimated amount of time the tool spent extruding without other movement.
phase_times object A Phase Times object.
Phase Times
Field Type Description
acceleration float The amount of time the tool spent accelerating during the print job.
cruise float The amount of time the tool spent at cruise velocity during the print job.
deceleration float The amount of time the tool spent decelerating during the print job.
kind_times object A Kind Times object.
Kind Times
Field Type Description
kind_desc float An entry where the key is a description of the "kind" of item being printed and its value is the total time spent printing this "kind". The "kind" is determined by comments in the slicer. For example Perimeter and Bridge infill are "kinds" reported by PrusaSlicer. If the "kind" is not available Klipper Estimator will report it under Other. The Kind Times object may have multiple kind_desc entries.
layer_times [[float]] An array of 2-element arrays. The first element is the layer height, the second is the estimated time spent printing the layer.

Post process a file

Klipper Estimator will perform a time analysis and use the results to modify the time estimates in the file. If M73 (progress) commands are present they will also be modified.

HTTP Request
POST /server/analysis/process
Content-Type: application/json

{
    "filename": "my_file.gcode",
    "estimator_config": "custom_estimator_cfg.json",
    "force": false
}
JSON-RPC Request
{
    "jsonrpc": "2.0",
    "method": "server.analysis.process",
    "params": {
        "filename": "my_file.gcode",
        "estimator_config": "custom_estimator_cfg.json",
        "force": false
    }
    "id": 4654
}
Parameters
Name Type Default Description
filename string REQUIRED The path to the gcode file to post-process. This should be a path relative to the gcodes root folder.
estimator_config string CONFIG_DEFAULT The path to a Klipper Estimator config file, relative to the config root folder. When omitted the file configured in the [analysis] section of moonraker.conf or the default dumped config will be used.
force bool false By default the request will not perform a new post-process if the file was already processed by Klipper Estimator. When force is true the file will be post-processed regardless.
Example Response
{
    "prev_processed": false,
    "version": "v3.7.3",
    "bypassed": false
}
Response Specification
Field Type Description
prev_processed bool Will be true if the requested file was previously processed by Klipper Estimator.
version str The version of Klipper Estimator used to process the file.
bypassed bool Will be true if the post-processing was bypassed. This occurs if the file was previously processed by Klipper Estimator and the force argument is false.

Note

If the file_manager has inotify enabled the post-process will trigger a create_file event, which will in turn trigger metadata extraction.

Dump the current configuration

Create a Klipper Estimator configuration file using Klippy's current settings.

Note

Klippy must be connected and in the ready state to run this request.

HTTP Request
POST /server/analysis/dump_config
Content-Type: application/json

{
    "dest_config": "custom_estimator_cfg.json"
}
JSON-RPC Request
{
    "jsonrpc": "2.0",
    "method": "server.analysis.dump_config",
    "params": {
        "dest_config": "custom_estimator_cfg.json"
    }
    "id": 4654
}
Parameters
Name Type Default Description
dest_config string null The name of the destination config file for the dump. This should be a path relative to the config root folder. If omitted the result of the dump will be saved to the default Klipper Estimator configuration file.

Note

The default configuration for Klipper Estimator is stored in the same folder as the binary.

<data_path>/tools/klipper_estimator/default_estimator_cfg.json
Example Response
{
    "dest_root": "config",
    "dest_config_path": "est_cfg_test.json",
    "klipper_estimator_config": {
        "max_velocity": 300,
        "max_acceleration": 1500,
        "minimum_cruise_ratio": 0.5,
        "square_corner_velocity": 5,
        "instant_corner_velocity": 1,
        "move_checkers": [
            {
                "axis_limiter": {
                    "axis": [
                        0,
                        0,
                        1
                    ],
                    "max_velocity": 15,
                    "max_accel": 200
                }
            },
            {
                "extruder_limiter": {
                    "max_velocity": 120,
                    "max_accel": 1250
                }
            }
        ]
    }
}
Response Specification
Field Type Description
dest_root string | null The destination root folder of the dumped configuration file. Will be null if the dumped file is the default config.
dest_config sting The path of the dumped configuration file relative to the dest_root. If the dest_root is null then this will be the default configuration's file name.
klipper_estimator_config object An object containing the output of the dump command.

OctoPrint API emulation

Supports the minimal API requirements necessary to add compatibility with the upload G-Code to OctoPrint feature present on 3rd party applications, such as slicers. Developers of Moonraker applications should not implement these APIs.

These endpoints are available when the [octoprint_compat] feature has been configured in moonraker.conf

Tip

Most slicers now support Moonraker's native upload interface, reducing the need for these endpoints.

Note

Unlike all other Moonraker responses, OctoPrint responses are not wrapped in an object with a result field. This section will not include parameter and response specifications, they can be found in OctoPrint's API documentation.

In addition, many values in the responses returned by Moonraker are simply placeholders and have no real meaning with regard to Moonraker's internal state.

Version information

HTTP Request
GET /api/version
JSON-RPC Request
Not Available
Example Response
{
    "server": "1.5.0",
    "api": "0.1",
    "text": "OctoPrint (Moonraker v0.3.1-12)"
}

Server status

HTTP Request
GET /api/server
JSON-RPC Request
Not Available
Example Response
{
    "server": "1.5.0",
    "safemode": "settings"
}

Login verification & User information

HTTP Request
GET /api/login
JSON-RPC Request
Not Available
Example Response
{
    "_is_external_client": false,
    "_login_mechanism": "apikey",
    "name": "_api",
    "active": true,
    "user": true,
    "admin": true,
    "apikey": null,
    "permissions": [],
    "groups": ["admins", "users"]
}

Get settings

HTTP Request
GET /api/settings
JSON-RPC Request
Not Available
Example Response
{
    "plugins": {
        "UltimakerFormatPackage": {
            "align_inline_thumbnail": false,
            "inline_thumbnail": false,
            "inline_thumbnail_align_value": "left",
            "inline_thumbnail_scale_value": "50",
            "installed": true,
            "installed_version": "0.2.2",
            "scale_inline_thumbnail": false,
            "state_panel_thumbnail": true
        }
    },
    "feature": {
        "sdSupport": false,
        "temperatureGraph": false
    },
    "webcam": {
        "flipH": false,
        "flipV": false,
        "rotate90": false,
        "streamUrl": "/webcam/?action=stream",
        "webcamEnabled": true
    }
}

Note

The webcam route in the response is hardcoded to Fluidd/Mainsail default path. The UFP plugin reports that it is installed so the Cura-OctoPrint plugin will upload in the preferred UFP format.

OctoPrint File Upload

HTTP Request
POST /api/files/local
JSON-RPC Request
Not Available

Alias for Moonraker's file upload API.

Get Job status

HTTP Request
GET /api/job
JSON-RPC Request
Not Available
Example Response
{
    "job": {
        "file": {"name": null},
        "estimatedPrintTime": null,
        "filament": {"length": null},
        "user": null
    },
    "progress": {
        "completion": null,
        "filepos": null,
        "printTime": null,
        "printTimeLeft": null,
        "printTimeOrigin": null
    },
    "state": "Offline"
}

Get Printer status

HTTP Request
GET /api/printer
JSON-RPC Request
Not Available
Example Response
{
    "temperature": {
        "tool0": {
            "actual": 22.25,
            "offset": 0,
            "target": 0
        },
        "bed": {
            "actual": 22.25,
            "offset": 0,
            "target": 0
        }, ...<additional heaters>
    },
    "state": {
        "text": "state",
        "flags": {
            "operational": true,
            "paused": false,
            "printing": false,
            "cancelling": false,
            "pausing": false,
            "error": false,
            "ready": false,
            "closedOrError": false
        }
    }
}

Send GCode command

HTTP Request
POST /api/printer/command
Content-Type: application/json

{
    "commands": ["G28"]
}
JSON-RPC Request
Not Available
Example Response
{}

List Printer profiles

HTTP Request
GET /api/printerprofiles
JSON-RPC Request
Not Available
Example Response
{
    "profiles": {
        "_default": {
            "id": "_default",
            "name": "Default",
            "color": "default",
            "model": "Default",
            "default": true,
            "current": true,
            "heatedBed": true,
            "heatedChamber": false
        }
    }
}