2024-07-30 19:57:57 -07:00
{
"components" : {
"responses" : {
"Error" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/Error"
}
}
} ,
"description" : "Error"
}
} ,
"schemas" : {
"Error" : {
"description" : "Error information from a response." ,
"properties" : {
"error_code" : {
"type" : "string"
} ,
"message" : {
"type" : "string"
} ,
"request_id" : {
"type" : "string"
}
} ,
"required" : [
"message" ,
"request_id"
] ,
"type" : "object"
} ,
2024-08-28 15:15:37 -04:00
"ExtraMachineInfoResponse" : {
"description" : "Extra machine-specific information regarding a connected machine." ,
2024-08-02 14:10:52 -07:00
"oneOf" : [
{
"properties" : {
2024-10-17 15:30:46 -07:00
"type" : {
"enum" : [
"moonraker"
] ,
"type" : "string"
2024-08-02 14:10:52 -07:00
}
} ,
"required" : [
2024-10-17 15:30:46 -07:00
"type"
2024-08-02 14:10:52 -07:00
] ,
"type" : "object"
} ,
{
"properties" : {
2024-10-17 15:30:46 -07:00
"type" : {
"enum" : [
"usb"
] ,
"type" : "string"
2024-08-02 14:10:52 -07:00
}
} ,
"required" : [
2024-10-17 15:30:46 -07:00
"type"
2024-08-02 14:10:52 -07:00
] ,
"type" : "object"
} ,
2024-10-17 15:30:46 -07:00
{
"properties" : {
"current_stage" : {
"allOf" : [
{
"$ref" : "#/components/schemas/Stage"
}
] ,
"description" : "The current stage of the machine as defined by Bambu which can include errors, etc." ,
"nullable" : true
} ,
"nozzle_diameter" : {
"allOf" : [
{
"$ref" : "#/components/schemas/NozzleDiameter"
}
] ,
"description" : "The nozzle diameter of the machine."
} ,
"type" : {
"enum" : [
"bambu"
] ,
"type" : "string"
}
} ,
"required" : [
"nozzle_diameter" ,
"type"
] ,
"type" : "object"
}
]
} ,
"FdmHardwareConfiguration" : {
"description" : "Configuration for a FDM-based printer." ,
"properties" : {
2024-10-17 20:01:34 -07:00
"filaments" : {
"description" : "The filaments the printer has access to." ,
"items" : {
"$ref" : "#/components/schemas/Filament"
} ,
"type" : "array"
2024-10-17 15:30:46 -07:00
} ,
2024-10-23 23:41:48 +00:00
"loaded_filament_idx" : {
"description" : "The currently loaded filament index." ,
"format" : "uint" ,
"minimum" : 0 ,
"nullable" : true ,
"type" : "integer"
} ,
2024-10-17 15:30:46 -07:00
"nozzle_diameter" : {
"description" : "Diameter of the extrusion nozzle, in mm." ,
"format" : "double" ,
"type" : "number"
}
} ,
"required" : [
2024-10-17 20:01:34 -07:00
"filaments" ,
2024-10-17 15:30:46 -07:00
"nozzle_diameter"
] ,
"type" : "object"
} ,
2024-10-17 20:01:34 -07:00
"Filament" : {
"description" : "Information about the filament being used in a FDM printer." ,
"properties" : {
"color" : {
"description" : "The color (as hex without the `#`) of the filament, this is likely specific to the manufacturer." ,
"maxLength" : 6 ,
"minLength" : 6 ,
"nullable" : true ,
"type" : "string"
} ,
"material" : {
"allOf" : [
{
"$ref" : "#/components/schemas/FilamentMaterial"
}
] ,
"description" : "The material that the filament is made of."
} ,
"name" : {
"description" : "The name of the filament, this is likely specfic to the manufacturer." ,
"nullable" : true ,
"type" : "string"
}
} ,
"required" : [
"material"
] ,
"type" : "object"
} ,
2024-10-17 15:30:46 -07:00
"FilamentMaterial" : {
"description" : "The material that the filament is made of." ,
"oneOf" : [
{
2024-10-17 20:01:34 -07:00
"description" : "Polylactic acid based plastics" ,
2024-10-17 16:03:55 -07:00
"properties" : {
"type" : {
"enum" : [
"pla"
] ,
"type" : "string"
}
} ,
"required" : [
"type"
2024-10-17 15:30:46 -07:00
] ,
2024-10-17 16:03:55 -07:00
"type" : "object"
2024-10-17 15:30:46 -07:00
} ,
2024-10-17 20:01:34 -07:00
{
"description" : "Pla support" ,
"properties" : {
"type" : {
"enum" : [
"pla_support"
] ,
"type" : "string"
}
} ,
"required" : [
"type"
] ,
"type" : "object"
} ,
2024-10-17 15:30:46 -07:00
{
"description" : "acrylonitrile butadiene styrene based plastics" ,
2024-10-17 16:03:55 -07:00
"properties" : {
"type" : {
"enum" : [
"abs"
] ,
"type" : "string"
}
} ,
"required" : [
"type"
2024-10-17 15:30:46 -07:00
] ,
2024-10-17 16:03:55 -07:00
"type" : "object"
2024-10-17 15:30:46 -07:00
} ,
{
"description" : "polyethylene terephthalate glycol based plastics" ,
2024-10-17 16:03:55 -07:00
"properties" : {
"type" : {
"enum" : [
"petg"
] ,
"type" : "string"
}
} ,
"required" : [
"type"
2024-10-17 15:30:46 -07:00
] ,
2024-10-17 16:03:55 -07:00
"type" : "object"
2024-10-17 15:30:46 -07:00
} ,
{
"description" : "unsuprisingly, nylon based" ,
2024-10-17 16:03:55 -07:00
"properties" : {
"type" : {
"enum" : [
"nylon"
] ,
"type" : "string"
}
} ,
"required" : [
"type"
2024-10-17 15:30:46 -07:00
] ,
2024-10-17 16:03:55 -07:00
"type" : "object"
2024-10-17 15:30:46 -07:00
} ,
{
"description" : "thermoplastic polyurethane based urethane material" ,
2024-10-17 16:03:55 -07:00
"properties" : {
"type" : {
"enum" : [
"tpu"
] ,
"type" : "string"
}
} ,
"required" : [
"type"
2024-10-17 15:30:46 -07:00
] ,
2024-10-17 16:03:55 -07:00
"type" : "object"
2024-10-17 15:30:46 -07:00
} ,
{
"description" : "polyvinyl alcohol based material" ,
2024-10-17 16:03:55 -07:00
"properties" : {
"type" : {
"enum" : [
"pva"
] ,
"type" : "string"
}
} ,
"required" : [
"type"
2024-10-17 15:30:46 -07:00
] ,
2024-10-17 16:03:55 -07:00
"type" : "object"
2024-10-17 15:30:46 -07:00
} ,
{
"description" : "high impact polystyrene based material" ,
2024-10-17 16:03:55 -07:00
"properties" : {
"type" : {
"enum" : [
"hips"
] ,
"type" : "string"
}
} ,
"required" : [
"type"
2024-10-17 15:30:46 -07:00
] ,
2024-10-17 16:03:55 -07:00
"type" : "object"
2024-10-17 15:30:46 -07:00
} ,
{
"description" : "composite material with stuff in other stuff, something like PLA mixed with carbon fiber, kevlar, or fiberglass" ,
2024-10-17 16:03:55 -07:00
"properties" : {
"type" : {
"enum" : [
"composite"
] ,
"type" : "string"
}
} ,
"required" : [
"type"
2024-10-17 15:30:46 -07:00
] ,
2024-10-17 16:03:55 -07:00
"type" : "object"
2024-10-23 23:41:48 +00:00
} ,
{
"description" : "Unknown material" ,
"properties" : {
"type" : {
"enum" : [
"unknown"
] ,
"type" : "string"
}
} ,
"required" : [
"type"
] ,
"type" : "object"
2024-10-17 15:30:46 -07:00
}
]
} ,
"HardwareConfiguration" : {
"description" : "The hardware configuration of a machine." ,
"oneOf" : [
{
"description" : "No configuration is possible. This isn't the same conceptually as an `Option<HardwareConfiguration>`, because this indicates we positively know there is no possible configuration changes that are possible with this method of manufcture." ,
2024-10-17 16:03:55 -07:00
"properties" : {
"type" : {
"enum" : [
"none"
] ,
"type" : "string"
}
} ,
"required" : [
"type"
2024-10-17 15:30:46 -07:00
] ,
2024-10-17 16:03:55 -07:00
"type" : "object"
2024-10-17 15:30:46 -07:00
} ,
2024-08-02 14:10:52 -07:00
{
2024-10-17 15:30:46 -07:00
"description" : "Hardware configuration specific to FDM based printers" ,
2024-08-02 14:10:52 -07:00
"properties" : {
2024-10-17 16:03:55 -07:00
"config" : {
"allOf" : [
{
"$ref" : "#/components/schemas/FdmHardwareConfiguration"
}
] ,
"description" : "The configuration for the FDM printer."
} ,
"type" : {
"enum" : [
"fdm"
] ,
"type" : "string"
2024-08-02 14:10:52 -07:00
}
} ,
"required" : [
2024-10-17 16:03:55 -07:00
"config" ,
"type"
2024-08-02 14:10:52 -07:00
] ,
"type" : "object"
}
]
} ,
2024-08-28 15:15:37 -04:00
"MachineInfoResponse" : {
"description" : "Information regarding a connected machine." ,
"properties" : {
"extra" : {
"allOf" : [
{
"$ref" : "#/components/schemas/ExtraMachineInfoResponse"
2024-08-02 14:10:52 -07:00
}
] ,
2024-08-28 15:15:37 -04:00
"description" : "Additional, per-machine information which is specific to the underlying machine type." ,
"nullable" : true
2024-08-02 14:10:52 -07:00
} ,
2024-10-17 15:30:46 -07:00
"hardware_configuration" : {
"allOf" : [
{
"$ref" : "#/components/schemas/HardwareConfiguration"
}
] ,
"description" : "Information about how the Machine is currently configured."
} ,
2024-08-28 15:15:37 -04:00
"id" : {
"description" : "Machine Identifier (ID) for the specific Machine." ,
"type" : "string"
2024-08-02 14:10:52 -07:00
} ,
2024-08-28 15:15:37 -04:00
"machine_type" : {
"allOf" : [
{
"$ref" : "#/components/schemas/MachineType"
2024-08-02 14:10:52 -07:00
}
] ,
2024-08-28 15:15:37 -04:00
"description" : "Information regarding the method of manufacture."
2024-08-02 14:10:52 -07:00
} ,
2024-08-28 15:15:37 -04:00
"make_model" : {
"allOf" : [
{
"$ref" : "#/components/schemas/MachineMakeModel"
2024-08-14 14:52:40 -07:00
}
] ,
2024-08-28 15:15:37 -04:00
"description" : "Information regarding the make and model of the attached Machine."
2024-08-14 14:52:40 -07:00
} ,
2024-08-28 15:15:37 -04:00
"max_part_volume" : {
"allOf" : [
{
"$ref" : "#/components/schemas/Volume"
2024-08-14 14:52:40 -07:00
}
] ,
2024-08-28 15:15:37 -04:00
"description" : "Maximum part size that can be manufactured by this device. This may be some sort of theoretical upper bound, getting close to this limit seems like maybe a bad idea.\n\nThis may be `None` if the maximum size is not knowable by the Machine API.\n\nWhat \"close\" means is up to you!" ,
"nullable" : true
2024-10-04 08:34:06 -07:00
} ,
2024-10-17 20:01:34 -07:00
"progress" : {
"description" : "Progress of the current print, if printing." ,
"format" : "double" ,
"nullable" : true ,
"type" : "number"
} ,
2024-10-04 08:34:06 -07:00
"state" : {
"allOf" : [
{
"$ref" : "#/components/schemas/MachineState"
}
] ,
"description" : "Status of the printer -- be it printing, idle, or unreachable. This may dictate if a machine is capable of taking a new job."
2024-08-28 15:15:37 -04:00
}
} ,
"required" : [
2024-10-17 15:30:46 -07:00
"hardware_configuration" ,
2024-08-28 15:15:37 -04:00
"id" ,
"machine_type" ,
2024-10-04 08:34:06 -07:00
"make_model" ,
"state"
2024-08-28 15:15:37 -04:00
] ,
"type" : "object"
} ,
"MachineMakeModel" : {
"description" : "Information regarding the make/model of a discovered endpoint." ,
"properties" : {
"manufacturer" : {
"description" : "The manufacturer that built the connected Machine." ,
"nullable" : true ,
"type" : "string"
2024-08-14 14:52:40 -07:00
} ,
2024-08-28 15:15:37 -04:00
"model" : {
"description" : "The model of the connected Machine." ,
"nullable" : true ,
"type" : "string"
2024-08-02 14:10:52 -07:00
} ,
2024-08-28 15:15:37 -04:00
"serial" : {
"description" : "The unique serial number of the connected Machine." ,
"nullable" : true ,
"type" : "string"
2024-08-02 14:10:52 -07:00
}
2024-08-28 15:15:37 -04:00
} ,
"type" : "object"
2024-08-02 14:10:52 -07:00
} ,
2024-10-04 08:34:06 -07:00
"MachineState" : {
"description" : "Current state of the machine -- be it printing, idle or offline. This can be used to determine if a printer is in the correct state to take a new job." ,
"oneOf" : [
{
"description" : "If a print state can not be resolved at this time, an Unknown may be returned." ,
2024-10-17 15:30:46 -07:00
"properties" : {
"state" : {
"enum" : [
"unknown"
] ,
"type" : "string"
}
} ,
"required" : [
"state"
2024-10-04 08:34:06 -07:00
] ,
2024-10-17 15:30:46 -07:00
"type" : "object"
2024-10-04 08:34:06 -07:00
} ,
{
"description" : "Idle, and ready for another job." ,
2024-10-17 15:30:46 -07:00
"properties" : {
"state" : {
"enum" : [
"idle"
] ,
"type" : "string"
}
} ,
"required" : [
"state"
2024-10-04 08:34:06 -07:00
] ,
2024-10-17 15:30:46 -07:00
"type" : "object"
2024-10-04 08:34:06 -07:00
} ,
{
"description" : "Running a job -- 3D printing or CNC-ing a part." ,
2024-10-17 15:30:46 -07:00
"properties" : {
"state" : {
"enum" : [
"running"
] ,
"type" : "string"
}
} ,
"required" : [
"state"
2024-10-04 08:34:06 -07:00
] ,
2024-10-17 15:30:46 -07:00
"type" : "object"
2024-10-04 08:34:06 -07:00
} ,
{
"description" : "Machine is currently offline or unreachable." ,
2024-10-17 15:30:46 -07:00
"properties" : {
"state" : {
"enum" : [
"offline"
] ,
"type" : "string"
}
} ,
"required" : [
"state"
2024-10-04 08:34:06 -07:00
] ,
2024-10-17 15:30:46 -07:00
"type" : "object"
2024-10-04 08:34:06 -07:00
} ,
{
"description" : "Job is underway but halted, waiting for some action to take place." ,
2024-10-17 15:30:46 -07:00
"properties" : {
"state" : {
"enum" : [
"paused"
] ,
"type" : "string"
}
} ,
"required" : [
"state"
2024-10-04 08:34:06 -07:00
] ,
2024-10-17 15:30:46 -07:00
"type" : "object"
2024-10-04 08:34:06 -07:00
} ,
{
"description" : "Job is finished, but waiting manual action to move back to Idle." ,
2024-10-17 15:30:46 -07:00
"properties" : {
"state" : {
"enum" : [
"complete"
] ,
"type" : "string"
}
} ,
"required" : [
"state"
2024-10-04 08:34:06 -07:00
] ,
2024-10-17 15:30:46 -07:00
"type" : "object"
2024-10-04 08:34:06 -07:00
} ,
{
"description" : "The printer has failed and is in an unknown state that may require manual attention to resolve. The inner value is a human readable description of what specifically has failed." ,
"properties" : {
2024-10-17 15:30:46 -07:00
"message" : {
"description" : "A human-readable message describing the failure." ,
2024-10-04 08:34:06 -07:00
"nullable" : true ,
"type" : "string"
2024-10-17 15:30:46 -07:00
} ,
"state" : {
"enum" : [
"failed"
] ,
"type" : "string"
2024-10-04 08:34:06 -07:00
}
} ,
"required" : [
2024-10-17 15:30:46 -07:00
"state"
2024-10-04 08:34:06 -07:00
] ,
"type" : "object"
}
]
} ,
2024-08-28 15:15:37 -04:00
"MachineType" : {
"description" : "Specific technique by which this Machine takes a design, and produces a real-world 3D object." ,
2024-07-30 19:57:57 -07:00
"oneOf" : [
{
2024-08-28 15:15:37 -04:00
"description" : "Use light to cure a resin to build up layers." ,
2024-07-30 19:57:57 -07:00
"enum" : [
2024-10-17 16:03:55 -07:00
"stereolithography"
2024-07-30 19:57:57 -07:00
] ,
"type" : "string"
} ,
{
2024-08-28 15:15:37 -04:00
"description" : "Fused Deposition Modeling, layers of melted plastic." ,
2024-08-03 15:25:02 -07:00
"enum" : [
2024-10-17 16:03:55 -07:00
"fused_deposition"
2024-08-03 15:25:02 -07:00
] ,
"type" : "string"
} ,
{
2024-08-28 15:15:37 -04:00
"description" : "\"Computer numerical control\" - machine that grinds away material from a hunk of material to construct a part." ,
2024-08-03 15:25:02 -07:00
"enum" : [
2024-10-17 16:03:55 -07:00
"cnc"
2024-08-03 15:25:02 -07:00
] ,
"type" : "string"
}
]
} ,
2024-10-17 15:30:46 -07:00
"NozzleDiameter" : {
"description" : "A nozzle diameter." ,
"oneOf" : [
{
"description" : "0.2mm." ,
"enum" : [
"0.2"
] ,
"type" : "string"
} ,
{
"description" : "0.4mm." ,
"enum" : [
"0.4"
] ,
"type" : "string"
} ,
{
"description" : "0.6mm." ,
"enum" : [
"0.6"
] ,
"type" : "string"
} ,
{
"description" : "0.8mm." ,
"enum" : [
"0.8"
] ,
"type" : "string"
}
]
} ,
2024-07-30 19:57:57 -07:00
"Pong" : {
"description" : "The response from the `/ping` endpoint." ,
"properties" : {
"message" : {
"description" : "The pong response." ,
"type" : "string"
}
} ,
"required" : [
"message"
] ,
"type" : "object"
} ,
2024-08-28 15:15:37 -04:00
"PrintJobResponse" : {
"description" : "The response from the `/print` endpoint." ,
"properties" : {
"job_id" : {
"description" : "The job id used for this print." ,
"type" : "string"
2024-08-03 16:07:42 -07:00
} ,
2024-08-28 15:15:37 -04:00
"parameters" : {
"allOf" : [
{
"$ref" : "#/components/schemas/PrintParameters"
2024-08-14 16:59:39 -07:00
}
] ,
2024-08-28 15:15:37 -04:00
"description" : "The parameters used for this print."
}
} ,
"required" : [
"job_id" ,
"parameters"
] ,
"type" : "object"
} ,
"PrintParameters" : {
"description" : "Parameters for printing." ,
"properties" : {
"job_name" : {
"description" : "The name for the job." ,
"type" : "string"
2024-08-02 14:10:52 -07:00
} ,
2024-07-30 19:57:57 -07:00
"machine_id" : {
2024-08-02 14:10:52 -07:00
"description" : "The machine id to print to." ,
2024-07-30 19:57:57 -07:00
"type" : "string"
2024-10-17 15:30:46 -07:00
} ,
"slicer_configuration" : {
"allOf" : [
{
"$ref" : "#/components/schemas/SlicerConfiguration"
}
] ,
"description" : "Requested design-specific slicer configurations." ,
"nullable" : true
2024-07-30 19:57:57 -07:00
}
} ,
"required" : [
2024-08-02 14:10:52 -07:00
"job_name" ,
2024-07-30 19:57:57 -07:00
"machine_id"
] ,
"type" : "object"
2024-08-02 14:10:52 -07:00
} ,
2024-10-17 15:30:46 -07:00
"SlicerConfiguration" : {
"description" : "The slicer configuration is a set of parameters that are passed to the slicer to control how the gcode is generated." ,
2024-10-17 20:01:34 -07:00
"properties" : {
"filament_idx" : {
"description" : "The filament to use for the print." ,
"format" : "uint" ,
"minimum" : 0 ,
"nullable" : true ,
"type" : "integer"
}
} ,
2024-10-17 15:30:46 -07:00
"type" : "object"
} ,
"Stage" : {
"description" : "The print stage. These come from: https://github.com/SoftFever/OrcaSlicer/blob/431978baf17961df90f0d01871b0ad1d839d7f5d/src/slic3r/GUI/DeviceManager.cpp#L78" ,
"oneOf" : [
{
"description" : "Nothing." ,
"enum" : [
"nothing"
] ,
"type" : "string"
} ,
{
"description" : "Empty." ,
"enum" : [
"empty"
] ,
"type" : "string"
} ,
{
"description" : "Auto bed leveling." ,
"enum" : [
"auto_bed_leveling"
] ,
"type" : "string"
} ,
{
"description" : "Heatbed preheating." ,
"enum" : [
"heatbed_preheating"
] ,
"type" : "string"
} ,
{
"description" : "Sweeping XY mech mode." ,
"enum" : [
"sweeping_xy_mech_mode"
] ,
"type" : "string"
} ,
{
"description" : "Changing filament." ,
"enum" : [
"changing_filament"
] ,
"type" : "string"
} ,
{
"description" : "M400 pause." ,
"enum" : [
"m400_pause"
] ,
"type" : "string"
} ,
{
"description" : "Paused due to filament runout." ,
"enum" : [
"paused_due_to_filament_runout"
] ,
"type" : "string"
} ,
{
"description" : "Heating hotend." ,
"enum" : [
"heating_hotend"
] ,
"type" : "string"
} ,
{
"description" : "Calibrating extrusion." ,
"enum" : [
"calibrating_extrusion"
] ,
"type" : "string"
} ,
{
"description" : "Scanning bed surface." ,
"enum" : [
"scanning_bed_surface"
] ,
"type" : "string"
} ,
{
"description" : "Inspecting first layer." ,
"enum" : [
"inspecting_first_layer"
] ,
"type" : "string"
} ,
{
"description" : "Identifying build plate type." ,
"enum" : [
"identifying_build_plate_type"
] ,
"type" : "string"
} ,
{
"description" : "Calibrating micro lidar." ,
"enum" : [
"calibrating_micro_lidar"
] ,
"type" : "string"
} ,
{
"description" : "Homing toolhead." ,
"enum" : [
"homing_toolhead"
] ,
"type" : "string"
} ,
{
"description" : "Cleaning nozzle tip." ,
"enum" : [
"cleaning_nozzle_tip"
] ,
"type" : "string"
} ,
{
"description" : "Checking extruder temperature." ,
"enum" : [
"checking_extruder_temperature"
] ,
"type" : "string"
} ,
{
"description" : "Printing was paused by the user." ,
"enum" : [
"printing_was_paused_by_the_user"
] ,
"type" : "string"
} ,
{
"description" : "Pause of front cover falling." ,
"enum" : [
"pause_of_front_cover_falling"
] ,
"type" : "string"
} ,
{
"description" : "Calibrating micro lidar." ,
"enum" : [
"calibrating_micro_lidar2"
] ,
"type" : "string"
} ,
{
"description" : "Calibrating extrusion flow." ,
"enum" : [
"calibrating_extrusion_flow"
] ,
"type" : "string"
} ,
{
"description" : "Paused due to nozzle temperature malfunction." ,
"enum" : [
"paused_due_to_nozzle_temperature_malfunction"
] ,
"type" : "string"
} ,
{
"description" : "Paused due to heat bed temperature malfunction." ,
"enum" : [
"paused_due_to_heat_bed_temperature_malfunction"
] ,
"type" : "string"
} ,
{
"description" : "Filament unloading." ,
"enum" : [
"filament_unloading"
] ,
"type" : "string"
} ,
{
"description" : "Skip step pause." ,
"enum" : [
"skip_step_pause"
] ,
"type" : "string"
} ,
{
"description" : "Filament loading." ,
"enum" : [
"filament_loading"
] ,
"type" : "string"
} ,
{
"description" : "Motor noise calibration." ,
"enum" : [
"motor_noise_calibration"
] ,
"type" : "string"
} ,
{
"description" : "Paused due to AMS lost." ,
"enum" : [
"paused_due_to_ams_lost"
] ,
"type" : "string"
} ,
{
"description" : "Paused due to low speed of the heat break fan." ,
"enum" : [
"paused_due_to_low_speed_of_the_heat_break_fan"
] ,
"type" : "string"
} ,
{
"description" : "Paused due to chamber temperature control error." ,
"enum" : [
"paused_due_to_chamber_temperature_control_error"
] ,
"type" : "string"
} ,
{
"description" : "Cooling chamber." ,
"enum" : [
"cooling_chamber"
] ,
"type" : "string"
} ,
{
"description" : "Paused by the Gcode inserted by the user." ,
"enum" : [
"paused_by_the_gcode_inserted_by_the_user"
] ,
"type" : "string"
} ,
{
"description" : "Motor noise showoff." ,
"enum" : [
"motor_noise_showoff"
] ,
"type" : "string"
} ,
{
"description" : "Nozzle filament covered detected pause." ,
"enum" : [
"nozzle_filament_covered_detected_pause"
] ,
"type" : "string"
} ,
{
"description" : "Cutter error pause." ,
"enum" : [
"cutter_error_pause"
] ,
"type" : "string"
} ,
{
"description" : "First layer error pause." ,
"enum" : [
"first_layer_error_pause"
] ,
"type" : "string"
} ,
{
"description" : "Nozzle clog pause." ,
"enum" : [
"nozzle_clog_pause"
] ,
"type" : "string"
}
]
} ,
2024-08-28 15:15:37 -04:00
"Volume" : {
"description" : "Set of three values to represent the extent of a 3-D Volume. This contains the width, depth, and height values, generally used to represent some maximum or minimum.\n\nAll measurements are in millimeters." ,
2024-08-02 14:10:52 -07:00
"properties" : {
2024-08-28 15:15:37 -04:00
"depth" : {
"description" : "Depth of the volume (\"front to back\"), in millimeters." ,
2024-08-02 14:10:52 -07:00
"format" : "double" ,
"type" : "number"
} ,
2024-08-28 15:15:37 -04:00
"height" : {
"description" : "Height of the volume (\"up and down\"), in millimeters." ,
"format" : "double" ,
"type" : "number"
2024-08-02 14:10:52 -07:00
} ,
2024-08-28 15:15:37 -04:00
"width" : {
"description" : "Width of the volume (\"left and right\"), in millimeters." ,
"format" : "double" ,
"type" : "number"
2024-08-02 14:10:52 -07:00
}
} ,
"required" : [
2024-08-28 15:15:37 -04:00
"depth" ,
"height" ,
"width"
2024-08-02 14:10:52 -07:00
] ,
"type" : "object"
2024-07-30 19:57:57 -07:00
}
}
} ,
"info" : {
"contact" : {
"email" : "machine-api@zoo.dev" ,
"url" : "https://zoo.dev"
} ,
"description" : "" ,
"title" : "machine-api" ,
2024-10-25 20:53:08 +00:00
"version" : "0.1.1"
2024-07-30 19:57:57 -07:00
} ,
"openapi" : "3.0.3" ,
"paths" : {
"/" : {
"get" : {
"operationId" : "api_get_schema" ,
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : { }
}
} ,
"description" : "successful operation"
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
}
} ,
"summary" : "Return the OpenAPI schema in JSON format." ,
"tags" : [
"meta"
]
}
} ,
"/machines" : {
"get" : {
"operationId" : "get_machines" ,
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
2024-08-28 15:15:37 -04:00
"items" : {
"$ref" : "#/components/schemas/MachineInfoResponse"
2024-07-30 19:57:57 -07:00
} ,
2024-08-28 15:15:37 -04:00
"title" : "Array_of_MachineInfoResponse" ,
"type" : "array"
2024-07-30 19:57:57 -07:00
}
}
} ,
"description" : "successful operation"
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
}
} ,
"summary" : "List available machines and their statuses" ,
"tags" : [
2024-08-02 14:10:52 -07:00
"machines"
]
}
} ,
"/machines/{id}" : {
"get" : {
"operationId" : "get_machine" ,
"parameters" : [
{
"description" : "The machine ID." ,
"in" : "path" ,
"name" : "id" ,
"required" : true ,
"schema" : {
"type" : "string"
}
}
] ,
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
2024-08-28 15:15:37 -04:00
"$ref" : "#/components/schemas/MachineInfoResponse"
2024-08-02 14:10:52 -07:00
}
}
} ,
"description" : "successful operation"
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
}
} ,
"summary" : "Get the status of a specific machine" ,
"tags" : [
"machines"
2024-07-30 19:57:57 -07:00
]
}
} ,
2024-10-11 12:49:32 -07:00
"/metrics" : {
"get" : {
"operationId" : "get_metrics" ,
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"title" : "String" ,
"type" : "string"
}
}
} ,
"description" : "successful operation"
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
}
} ,
"summary" : "List available machines and their statuses" ,
"tags" : [
"hidden"
]
}
} ,
2024-07-30 19:57:57 -07:00
"/ping" : {
"get" : {
"operationId" : "ping" ,
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/Pong"
}
}
} ,
"description" : "successful operation"
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
}
} ,
"summary" : "Return pong." ,
"tags" : [
"meta"
]
}
} ,
"/print" : {
"post" : {
"operationId" : "print_file" ,
"requestBody" : {
"content" : {
"multipart/form-data" : {
"schema" : {
"format" : "binary" ,
"type" : "string"
}
}
} ,
"required" : true
} ,
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/PrintJobResponse"
}
}
} ,
"description" : "successful operation"
} ,
"4XX" : {
"$ref" : "#/components/responses/Error"
} ,
"5XX" : {
"$ref" : "#/components/responses/Error"
}
} ,
"summary" : "Print a given file. File must be a sliceable 3D model." ,
"tags" : [
2024-08-02 14:10:52 -07:00
"machines"
2024-07-30 19:57:57 -07:00
]
}
}
} ,
"tags" : [
2024-10-11 12:49:32 -07:00
{
"description" : "Hidden API endpoints that should not show up in the docs." ,
"externalDocs" : {
"url" : "https://docs.zoo.dev/api/machines"
} ,
"name" : "hidden"
} ,
2024-07-30 19:57:57 -07:00
{
2024-08-02 14:10:52 -07:00
"description" : "Utilities for making parts and discovering machines." ,
2024-07-30 19:57:57 -07:00
"externalDocs" : {
2024-08-02 14:10:52 -07:00
"url" : "https://docs.zoo.dev/api/machines"
2024-07-30 19:57:57 -07:00
} ,
2024-08-02 14:10:52 -07:00
"name" : "machines"
2024-07-30 19:57:57 -07:00
} ,
{
2024-08-02 14:10:52 -07:00
"description" : "Meta information about the API." ,
2024-07-30 19:57:57 -07:00
"externalDocs" : {
2024-08-02 14:10:52 -07:00
"url" : "https://docs.zoo.dev/api/meta"
2024-07-30 19:57:57 -07:00
} ,
2024-08-02 14:10:52 -07:00
"name" : "meta"
2024-07-30 19:57:57 -07:00
}
]
}