Skip to main content

3DPrinterOS Global API calls v2.1

Illia Nazarko avatar
Written by Illia Nazarko
Updated this week

Technical details

Requests need to have the following content type for sending parameters:

  • Content-Type: application/x-www-form-urlencoded

Test environment endpoint: https://acorn.3dprinteros.com/
Live environment endpoint: https://cloud.3dprinteros.com/

Table of contents

  1. User login

  2. User logout

  3. Check session

  4. File Upload

  5. Get the user’s projects list

  6. Get Workgroups list

  7. Get an organized printer list

  8. Get printer jobs list

  9. Get detailed job info

  10. Get slicer settings for the gcode file

  11. Update gcode file metadata (set printer type id for gcode file)

  12. Get printer types used in the cloud (non-industrial)

  13. Get the list of shares for the printer

  14. Share the printer with the user

  15. Unshare printer

  16. Add printer by registration code

  17. Get the list of accessible user printers

  18. Get users in the Workgroup

  19. Add user to Workgroup

  20. Delete the user from Workgroup

  21. Get printer types used in the cloud (non-industrial, with printer parameters field)

  22. Get the custom report for organizational admins/moderators

  23. Get a camera list token (internal usage)

  24. User login/registration using Google OAuth token id

  25. Confirmation of GDPR flags and user registration

  26. Create organization user

  27. Get finished jobs report

  28. File Slice Action [in development]

  29. Print File

  30. Start print job [in development]

  31. Pause printer

  32. Unpause (resume) printer

  33. Cancel print job

  34. Update user settings

  35. Clear Cloud’s emulated “Build Tray is clear” flag

1. User login

1. URL: /apiglobal/login [POST Request]

2. Parameters:

  • username - text

  • password - text

3. Response:

  • SUCCESS (code 200):

  • {result: true, message: {session: text}}

  • FAIL (code not 200):

  • {result: false, message: error_text}

2. User logout

1. URL: /apiglobal/loginout [POST Request]

2. Parameters:

  • session

3. Response:

  • SUCCESS (code 200):

  • {result: true, message: []}

  • FAIL (code not 200):

  • {result: false, message: error_text}

3. Check session

1. URL: /apiglobal/check_session [POST Request]

2. Parameters:

  • session

3. Response:

  • SUCCESS (code 200):

  • {result: true, message: “Session is valid”}

  • FAIL (code not 200):

  • {result: false, message: error_text}

4. File Upload

1. URL: /apiglobal/upload [POST Request]

2. Parameters:

  • session

  • file: file object

  • project_id: int (if you need to upload into some project, else null or not use)

  • project_name: text (if you need to create a new project or use existed without project_id, else null or not use)

  • project_color: text (if you need to create a new project or use existed without project_id, else null or not use)

  • upload_type_id: int, optional (if you need to set upload type other than Website Upload (7 for Plugin upload), else null or not use)

  • upload_soft_name: text, optional (if you need to set upload software name, else null or not use)

3. Response:

  • SUCCESS (code 200):

  • {result: true, message: {file_id: int, show_select_printers: bool, project_id: int, slicer: text}}

  • FAIL (code not 200):

  • {result: false, message: error_text}

5. Get the user’s projects list

1. URL: /apiglobal/get_projects [POST Request]

2. Parameters:

  • session

3. Response:

  • SUCCESS (code 200):

  • {result: true, message: [{id: int, name: text, color: text}, ...]}

  • FAIL (code not 200):

  • {result: false, message: error_text}

6. Get Workgroups list

1. URL: /apiglobal/get_workgroups_simple_list [POST Request]

2. Parameters:

  • session

3. Response:

  • SUCCESS (code 200):

  • {result: true, message: [{id: int, name: text, rights: int (2-can print, 3-can queue)}, ...]}

  • FAIL (code not 200):

  • {result: false, message: error_text}

7. Get an organized printer list

1. URL: /apiglobal/get_organization_printers_list [POST Request]

2. Parameters:

  • session

  • printer_id (int, optional)

  • workgroup_id (int, optional)

3. Response:

  • SUCCESS (code 200):

  • {result: true, message: [{id: int, name: text, type: text, snr: text, host_num: text, local_ip: text, workgroups: [int, ...]|null, state: text, temps: [int, int, ...]|null}, target_temps: [int, int, …]|null}, percent: int}, ...]}

  • FAIL (code not 200):

  • {result: false, message: error_text}

8. Get printer jobs list

1. URL: /apiglobal/get_printer_jobs [POST Request]

2. Parameters:

  • session

  • printer_id (int)

  • limit (int, optional, default 20): max job count in response

  • offset (int, optional, default 0): offset for pagination

  • prev_time (datetime): optional parameter, for live update. Can be used to get only changed jobs between two requests. For the first request, you have to send prev_time: 0, and you will have a “time” parameter in response. You have to send prev_time: “time” in next request to get only live updates

  • is_actual (0 or 1, optional, default 0) - provide all the Active jobs (In queue or printing) and Ended jobs (Finished, Aborted, Failed; for a 24 hours period of ending (or if organization has a different settings in the Org Settings, it will substitute the period))

3. Response:

  • SUCCESS (code 200):

  • {"result":true,"message":[{"id":"int, job id", "status_id":"int, status of job", "filename":"text, gcode file name", "datetime":"text, datetime of job creating", "email":"text, email of user who created the job"}, …]}

  • Status_id values: 11 - in queue, 21 - in progress, 43 - job failed, 45 - job aborted, 77 - job finished.

  • FAIL (code not 200):

  • {result: false, message: error_text}

4. Response example:

{"result":true,"message":[

{"id":"26590","status_id":"11","filename":"micro_sim_adapter.gcode","datetime":"2016-08-18 20:39:52","email":"user@org_mail_domain.com"},

{"id":"26582","status_id":"11","filename":"micro_sim_adapter_V.gcode","datetime":"2016-08-03 01:33:34","email":"user@org_mail_domain.com"},

{"id":"26581","status_id":"11","filename":"micro_sim_adapter_V.gcode","datetime":"2016-08-03 01:31:29","email":"user@org_mail_domain.com"},

{"id":"26580","status_id":"11","filename":"micro_sim_adapter_V.gcode","datetime":"2016-08-03 01:27:10","email":"user@org_mail_domain.com"},

{"id":"26579","status_id":"11","filename":"micro_sim_adapter_V.gcode","datetime":"2016-08-03 01:26:23","email":"user@org_mail_domain.com"},

{"id":"26576","status_id":"11","filename":"micro_sim_adapter_V.gcode","datetime":"2016-08-03 01:23:17","email":"user@org_mail_domain.com"},

{"id":"26549","status_id":"11","filename":"micro_sim_adapter_V.gcode","datetime":"2016-07-28 14:34:42","email":"user@org_mail_domain.com"},

{"id":"26543","status_id":"11","filename":"micro_sim_adapter_V.gcode","datetime":"2016-07-28 13:58:46","email":"user@org_mail_domain.com"},

{"id":"26503","status_id":"45","filename":"micro_sim_adapter.gcode","datetime":"2016-04-01 23:34:42","email":"user@org_mail_domain.com"}]}

9. Get detailed job info

1. URL: /apiglobal/get_job_info [POST Request]

2. Parameters:

  • session

  • job_id (int)

3. Response:

  • SUCCESS (code 200):

  • {"result":true,"message":{ "id":"int, job id", "status_id":"same as in 9", "datetime":"same as in 9", "printer_id":"int, id of printer", "print_time":"int, real print time, seconds", "gif_image":”text, file name for gif image, or null if no gif image exists”, "picture":"text, file name for preview image", "notes":”text, note for job added on time creating”, "file_id":"int, id of file in job", "filename":"same as in 9", "file_size":"int, size of file, bytes", "printing_duration":"int, estimated print time, seconds", "material_type":"text, estimated material, ABS or PLA", "layer_height":"float, calculated layer_height", "extruders":"json, target extruder temps; weight and material for multi extruder prints", "weight":"float, estimated weight, gramms", "heated_bed":"text, has heated bed, t or f", "heated_bed_temperature":"int, temp of bed", "raft":"text, use raft, t or f ", "supports":"text, use supports, t or f ", "file_cost":”float, estimated cost of the file or null if not used”, "cost":”float, cost of job or null if not used”, "email":"same as in 9" }}

  • Url for gif image: Acorn: https://acornstorage.blob.core.windows.net/gif/ + job[‘gif_image’] | Cloud: https://live3dprinteros.blob.core.windows.net/gif/ + job[‘gif_image’]

  • Url for preview image: Acorn: https://acornstorage.blob.core.windows.net/render/ + job[‘picture’] | Cloud: https://live3dprinteros.blob.core.windows.net/render/ + job[‘picture’]

  • FAIL (code not 200):

  • {result: false, message: error_text}

4. Response example:

{"result":true,"message":{

"id":"26582",

"status_id":"11",

"datetime":"2016-08-03 01:33:34",

"printer_id":"24052",

"print_time":"0",

"gif_image":null,

"picture":"9cd9f04146cb6ce84c926a40a7b4d01b68b1723e74f97c0fda07ccdbfba6132f.png",

"notes":null,

"file_id":"58652",

"filename":"micro_sim_adapter_V.gcode",

"file_size":"32842",

"printing_duration":"100",

"material_type":"ABS",

"layer_height":"0",

"color_numbers":"1",

"extruders":"{\"R\":230,\"L\":0}",

"weight":"0.11",

"heated_bed":"t",

"heated_bed_temperature":"110",

"raft":"f",

"supports":"f",

"file_cost":null,

"cost":null,

"email":"user@org_mail_domain.com"

}}

10. Get slicer settings for the gcode file

1. URL: /apiglobal/get_slicer_settings_for_gcode [POST Request]

2. Parameters:

  • session

  • file_id (int)

3. Response:

  • SUCCESS (code 200):

  • {result: true, message: {associative array, slicer settings}}

  • FAIL (code not 200):

  • {result: false, message: error_text}

4. Response example:

{"success":true,"result":{

"printer_type_id":"50",

"layer_height":"0.15",

"wall_thickness":"0.8",

"nozzle_size":"0.4",

"bottom_thickness":"0.3",

"filament_diameter":"2.85",

"filament_flow":"100",

"solid_top":"1",

"solid_bottom":"1",

"solid_layer_thickness":"0.7",

"fill_overlap":"15",

"bottom_layer_speed":"20",

"print_speed":"50",

"infill_speed":"50",

"travel_speed":"150",

"fan_enabled":"1",

"fan_speed":"100",

"fan_speed_max":"100",

"support":"None",

"support_type":"Lines",

"support_angle":"60",

"support_fill_rate":"15",

"support_xy_distance":"0.7",

"support_z_distance":"0.15",

"retraction_enable":"1",

"retraction_amount":"4.5",

"retraction_speed":"40",

"retraction_min_travel":"1.5",

"retraction_dual_amount":"16.5",

"retraction_minimal_extrusion":"0.02",

"retraction_combing":"1",

"overlap_dual":"0.15",

"cool_min_layer_time":"5",

"cool_min_feedrate":"10",

"cool_head_lift":"1",

"fan_full_height":"5",

"fill_density":"10",

"platform_adhesion":"None",

"skirt_gap":"3",

"skirt_line_count":"3",

"skirt_minimal_length":"150",

"brim_line_count":"20",

"raft_margin":"5",

"raft_line_spacing":"3",

"raft_base_thickness":"0.6",

"raft_base_linewidth":"1.2",

"raft_interface_thickness":"0.35",

"raft_interface_linewidth":"0.6",

"raft_airgap":"0.2",

"raft_surface_layers":"1",

"object_sink":"0",

"layer0_width_factor":"100",

"print_bed_temperature":"110",

"print_temperature":"230",

"extruderOffset[1":"0",

"posx":"100000",

"posy":"100000",

"extra":"-m 1.00.00.00.01.00.00.00.01.0",

"startCode":"M140 S{print_bed_temperature}\nM190 S{print_bed_temperature}\nM109 T0 S{print_temperature}\nT0\nG21\nG90\nM82\nM107\nG28 X0 Y0\nG28 Z0\nG1 Z15.0 F9000\nG92 E0\nG1 F200 E3\nG92 E0\nG1 F9000\nM117 Printing...",

"endCode":"M104 S0\nM140 S0\nG91\nG1 E-1 F300\nG1 Z+0.5 E-5 X-20 Y-20 F9000\nG28 X0 Y0\nM84\nG90",

"p_chk":"false",

"printer_template_id":"67",

"printer_template_index":"0",

"centered":"true",

"f_material":"ABS",

"file_id":"58627",

"state":3,

"slicer_app_id":3}}

11. Update gcode file metadata (set printer type id for gcode file)

1. URL: /apiglobal/file_update [POST Request]

2. Parameters:

  • session

  • updates: {file_id (int): { ptype: int (printer type id), gtype: text (optional, slicer name: Simplify3D, Cura, UltiGCode, Miracle-Grue, FlashForge), zip: boolean (optional, true|false, create zip file for gcode)}, ...}

3. Response:

  • SUCCESS (code 200):

  • {result: true, message: []}

  • FAIL (code not 200):

  • {result: false, message: error_text}

12. Get printer types used in the cloud (non-industrial)

1. URL: /apiglobal/get_printer_types [POST Request]

2. Parameters:

  • session

3. Response:

  • SUCCESS (code 200):

  • {result: true, message: [{id: int, description: text}, ...]}

  • FAIL (code not 200):

  • {result: false, message: error_text}

13. Get the list of shares for the printer

1. URL: /apiglobal/get_printer_shares [POST Request]

2. Parameters:

  • session

  • printer_id (int)

3. Response:

  • SUCCESS (code 200):

  • {result: true, message: [{ id: int, share id for unshare action, email: text, number_of_prints: int|null (count of quotes available, if was used on share action), printer_ownership_id: int}, ...]}

  • FAIL (code not 200):

  • {result: false, message: error_text}

14. Share the printer with the user

1. URL: /apiglobal/share_printer [POST Request]

2. Parameters:

  • session

  • printer_id (int)

  • role_id (int, 2 - can print, 5 - can queue; values could be changed in future)

  • user_email (text, email of user to share printer)

  • number_of_prints (optional, int or null or not used; the number of prints available for user with this printer)

3. Response:

  • SUCCESS (code 200):

  • {result: true, message: [id: int, share id for unshare action]}

  • FAIL (code not 200):

  • {result: false, message: error_text}

15. Unshare printer

1. URL: /apiglobal/unshare_printer [POST Request]

2. Parameters:

  • session

  • share_id (int, id of share)

3. Response:

  • SUCCESS (code 200):

  • {result: true, message: []}

  • FAIL (code not 200):

  • {result: false, message: error_text}

16. Add printer by registration code

1. URL: /apiglobal/add_printer_by_registration_code [POST Request]

2. Parameters:

  • session

  • registration_code (text, registration code)

3. Response:

  • SUCCESS (code 200):

  • {result: true, message: {“printer_id”: int}}

  • FAIL (code not 200):

  • {result: false, message: error_text}

17. Get the list of accessible user printers

1. URL: /apiglobal/get_printers_list [POST Request]

2. Parameters:

  • session

  • printer_type (optional, text, printer short type, ex. K_PORTRAIT)

  • printer_id (optional, int (or array of int for multiple printers), printer id)

3. Response:

  • SUCCESS (code 200):

  • {result: true, message: [{...}, ...]}

  • FAIL (code not 200):

  • {result: false, message: error_text}

18. Get users in the Workgroup

1. URL: /apiglobal/get_workgroup_users [POST Request]

2. Parameters:

  • session

  • workgroup_id (int)

3. Response:

  • SUCCESS (code 200):

  • {result: true, message: [{ "id":"int, user id", "email":"text, user email", "name":"text, firstname&lastname of user", "monthly_quota": null or int (user’s print quota), "balance":null or float (user’s balance)}, ...]}

  • FAIL (code not 200):

  • {result: false, message: error_text}

19. Add user to Workgroup

1. URL: /apiglobal/add_user_to_workgroup [POST Request]

2. Parameters:

  • session

  • workgroup_id (int)

  • email (user’s email)

3. Response:

  • SUCCESS (code 200):

  • {result: true, message: [“user_id”: int (user id)]}

  • FAIL (code not 200):

  • {result: false, message: error_text}

20. Delete the user from Workgroup

1. URL: /apiglobal/delete_user_from_workgroup [POST Request]

2. Parameters:

  • session

  • workgroup_id (int)

  • user_id (user’s id)

3. Response:

  • SUCCESS (code 200):

  • {result: true, message: []}

  • FAIL (code not 200):

  • {result: false, message: error_text}

21. Get printer types used in the cloud (non-industrial, with printer parameters field)

1. URL: /apiglobal/get_printer_types_detailed [POST Request]

2. Parameters:

  • No parameters

3. Response:

  • SUCCESS (code 200):

  • {result: true, message: [{ id: int, description: text, printer_parameters: Json object (ex. {"x":"340","y":"340","z":"230","filament_diameter":"1.75","offset_x":"0","offset_y":"340"})}, ...]}

  • FAIL (code not 200):

  • {result: false, message: error_text}

22. Get the custom report for organizational admins/moderators

1. URL: /apiglobal/get_custom_report [POST Request]

2. Parameters:

  • session

  • from (optional, string; Y-m-d date string, for ex 2019-06-01; default is today-31 days)

  • to (optional, string; Y-m-d date string, for ex 2019-06-01; default is today; max range for from-to is 365 days)

  • type (optional, string; type of response: json or CSV; default is CSV)

  • workgroups (optional, integer 1 or 0; add to response fields connected with Workgroups)

  • fields (optional, string of comma separated fields; all available fields: “job_id, printer_id, printer_name, printer_type, file_id, file_name, print_date, email, fname, lname, filament, cost, status, print_time, real_print_time, cancel_reason, cancel_details, started_by_email, feedback”)

  • all_fields (optional, integer 1 or 0; show all available fields or only fields that were selected in the organizational settings tab; default is 0; if you set this to 1 then “fields” parameter is ignored)

3. Response:

  • SUCCESS (code 200):

  • {"result":true,"message":[ ["Job ID","Printer ID","Printer Name","Printer Type","File ID","File Name","Print Date\/Time","Account Email","Filament","Material Cost","Status","Estimated Print Time","Real Print Time","Cancel Reason","Cancel Details","Feedback","Workgroup IDs","Workgroup Names","Workgroup Passwords"], ["int","int","text","text","int","text","text","text","float","float","text","text","text","text","text","text","int,int,...","text,text,...","text,text,..."],...]}

  • FAIL (code not 200):

  • {result: false, message: error_text}

23. Get a camera list token (internal usage)

1. URL: /apiglobal/get_camera_list_token [POST Request]

2. Parameters:

  • session

  • printer_id (optional, int, printer id)

3. Response:

  • SUCCESS (code 200):

  • {result: true, message: { "token":"unique text token", "webcam_id": int (from 0), "rotate": boolean (true|false)}}

  • FAIL (code not 200):

  • {result: false, message: error_text}

24. User login/registration using Google OAuth token id

1. URL: /apiglobal/google_login [POST Request]

2. Parameters:

  • token - text

3. Response:

  • SUCCESS, user login (code 200):

  • {result: true, message: {session: text, email: text}}

  • SUCCESS, user registration (code 200):

  • {result: true, message: {session: text, gdpr_needed: true}}

  • FAIL (code not 200):

  • {result: false, message: error_text}

25. Confirmation of GDPR flags and user registration

1. URL: /apiglobal/gdpr_registration [POST Request]

2. Parameters:

  • session - text (session from user registration with flag gdpr_needed: true)

  • gdpr1 - text, on|off (required, need to be “on”; confirmation about proceeding user email and IP address)

  • gdpr2 - text, optional, on|off (confirmation about using user’s personal data across the system)

  • cancel - text, optional (any non-empty value) - clear GDPR flag from session

3. Response:

  • SUCCESS (code 200):

  • {result: true, message: {session: text, email: text}}

  • FAIL (code not 200):

  • {result: false, message: error_text}

26. Create organization user

1. URL: /apiglobal/create_organization_user [POST Request]

2. Parameters:

  • session

  • email (text) - email address of new user

  • gdpr: (integer, required) - GDPR access role

1 - confirmation about proceeding with user email and IP address;

3 - confirmation about proceeding with user email and IP address + confirmation about using user’s personal data across the system)

GDPR is the European General Data Protection Regulation (https://gdpr-info.eu/). 3DPrinterOS Cloud is a GDPR complaint that's why we need to get a permission from user to store his data (email, IP address, last name, first name) on registration

  • firstname (text, optional) - first name of new user

  • lastname (text, optional) - last name of new user

  • company (text, optional) - company of new user

  • access_role (integer, optional) - new user access role in the organization

    0 - org member

    1 - org admin

    2 - Workgroup admin

3. Response:

  • SUCCESS (code 200):

  • {result: true, message: {}}

  • FAIL (code not 200):

  • {result: false, message: error_text}

27. Get finished jobs report

1. URL: /apiglobal/get_finished_jobs_report [POST Request]

2. Parameters:

  • session

  • from (optional, string; Y-m-d date string, for ex 2019-06-01; default is today-31 days)

  • to (optional, string; Y-m-d date string, for ex 2019-06-01; default is today; max range for from-to is 365 days)

3. Response:

  • SUCCESS (code 200):

  • {"result": true, "message": [ { "email": "user@org.com", "firstname": "First name", "lastname": "Last name", "filename": "model_name.stl", "endtime": "2021-07-18 14:31:05" } ] }

  • FAIL (code not 200):

  • {result: false, message: error_text}

28. File Slice Action [in development]

1. URL: /apiglobal/slice [POST Request]

2. Parameters:

  • session

  • file_id (required, integer, id of STL file)

  • slicer_id (optional, integer; list of variant provided below; default is 61 (Slicer 5))

  • profile (required, text json profile or array profile (object); the proper value could be obtained from the slice or slice_3 request in 3DPrinterOS Cloud - more detailed instructions are below)

  • add_print_job_to_printer_id (optional, integer; the printer ID to queue a sliced file on)

  • start_print_job (optional, will be taken into account if add_print_job_to_printer_id was set; could be 1, 0, true, false)

3. Response:

  • SUCCESS (code 200):

  • {"result":true,"message":{ "job_id":"appeng-job-id-uuid", "job_waiting":false, "running_jobs_limit":3, "output_file_id":integer}}

  • FAIL (code not 200):

  • {result: false, message: error_text}

4. Details:

Available slicer_ids: 3 (Cloud Slicer), 48 (MakerBot Slicer), 60 (FormLabs Slicer), 51 (Slicer 3), 61 (Slicer 5), 62 (Bambu Lab Slicer - currently supports Bambu Lab X1, P1P, and X1 Carbon)

To get the proper profile for Cloud Slicer, Makerbot Slicer, or FormLabs Slicer, you could use the json from the Expert tab of the Slicer in Cloud.

To get the proper profile for Slicer 3/5, you will need to get it from the Slicing request (Chrome DevTools -> Network tab -> Execute any slicing with appropriate profile settings -> get the corresponding profile from /ajax/slice_3 request:

It could be copied with a left click and then a left double click to the corresponding area, so all the parts of json will be selected -> right click -> Copy (Note: “Copy value” will add extra encoding to the string, which is not suitable (for example it will replace the “ “(space) with + and so on))

To set up printing for the Bambu Slicer, please read this document.

29. Print File

1. URL: /apiglobal/print_file [POST Request]

2. Parameters:

  • session

  • file_id (required, integer, id of the GCODE file (or any other file type for Industrial/Virtual printer))

  • printer_id (required, integer, id of the printer)

  • only_queue (optional, integer; 0 or 1, if 0 or not set it will try to Start the job after it is added)

3. Response:

  • SUCCESS (code 200):

  • {"result":true,"message":{"job_id":"new print job id"}}

  • FAIL (code not 200):

  • {result: false, message: error_text}

30. Start print job [in development]

1. URL: /apiglobal/job_start [POST Request]

2. Parameters:

  • session

  • job_id (required, integer, id of the print job)

3. Response:

  • SUCCESS (code 200):

  • {"result":true,"message":"Ok"}

  • FAIL (code not 200):

  • {result: false, message: error_text}

31. Pause printer

1. URL: /apiglobal/job_pause [POST Request]

2. Parameters:

  • session

  • job_id (required, integer, id of the print job)

3. Response:

  • SUCCESS (code 200):

  • {"result":true,"message":"Ok"}

  • FAIL (code not 200):

  • {result: false, message: error_text}

32. Unpause (resume) printer

1. URL: /apiglobal/job_unpause [POST Request]

2. Parameters:

  • session

  • job_id (required, integer, id of the print job)

3. Response:

  • SUCCESS (code 200):

  • {"result":true,"message":"Ok"}

  • FAIL (code not 200):

  • {result: false, message: error_text}

33. Cancel print job

1. URL: /apiglobal/job_cancel [POST Request]

2. Parameters:

  • session

  • job_id (required, integer, id of the print job)

3. Response:

  • SUCCESS (code 200):

  • {"result":true,"message":"Ok"}

  • FAIL (code not 200):

  • {result: false, message: error_text}

34. Update user settings

1. URL: /apiglobal/update_user_settings [POST Request]

2. Parameters:

  • session

  • user_id (required, integer, id of the user)

  • balance (optional, integer)

  • quota(optional, integer)

3. Response:

  • SUCCESS (code 200):

  • {"result":true,"message":"Ok"}

  • FAIL (code not 200):

  • {result: false, message: error_text}

35. Clear Cloud’s emulated “Build Tray is clear” flag

1. URL: /apiglobal/printer_clear_build_tray [POST Request]

2. Parameters:

  • session

  • printer_id (required, integer, id of the printer)

  • is_clear (optional, string, "false|true"; default is "true" - Set bed is clear)

3. Response:

  • SUCCESS (code 200):

  • {"result":true,"message":"Ok"}

  • FAIL (code not 200):

  • {result: false, message: error_text}

Did this answer your question?