Jump to content

How to auth with node-red against UM3 REST API

Recommended Posts

Posted · How to auth with node-red against UM3 REST API

Hey everybody,


I am desperate. Here in short what I want to do:

Using node-red as platform for crosslinking different IOT devices with different services. Like a MQTT Broker, Telegram and other.

What I'm using right now is: RedBot for asking my UM3+ what is going on with the current print job, how the print looks like (grabbing an image from the integrated camera and sending it to the chat via the Telegram bot). 

What I want to do now is, if I see the printjob is failing right now after image checking, to stop the print via the bot. For this action, node-red needs to be authenticated in the REST API. I have an id and key generated which is valid and ready for use. 

So how do I do this, any ideas or suggestions? Would be very helpfull. 


Thanks ;)


curl -X GET --header 'Accept: application/json' 'http://um3ip/api/v1/auth/check/fad462df155f52ceb0e6ce8ed64845ed'

Request URL

Response Body
  "message": "authorized"


[{"id":"1300e776.abe2f1","type":"change","z":"5674bd4d.d67064","name":"Set Headers","rules":[{"t":"set","p":"headers","pt":"msg","to":"{}","tot":"json"},{"t":"set","p":"headers.content-type","pt":"msg","to":"application/json","tot":"str"},{"t":"set","p":"headers.Authorization","pt":"msg","to":"Digest username=\"fad462df155f52ceb0e6ce8ed64845ed\", password=\"2789fb63914e0fac010b2489e4358becdd22886997151e093894e518a198a264\", uri=\"/api/v1/auth/verify\", realm=\"Jedi-API\", qop=auth","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":360,"y":1297,"wires":[["d710857b.bc85f","bf1c1cce.74dc98"]]},{"id":"d710857b.bc85f","type":"http request","z":"5674bd4d.d67064","name":"","method":"GET","ret":"obj","url":"http://um3ip/api/v1/auth/verify","tls":"","x":568,"y":1296,"wires":[["caad6ed4.e755a"]]},{"id":"bf1c1cce.74dc98","type":"debug","z":"5674bd4d.d67064","name":"","active":true,"console":"false","complete":"true","x":633,"y":1397,"wires":[]},{"id":"f0c9e7a5.d0cd68","type":"inject","z":"5674bd4d.d67064","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"x":197,"y":1249,"wires":[["1300e776.abe2f1"]]},{"id":"caad6ed4.e755a","type":"debug","z":"5674bd4d.d67064","name":"","active":true,"console":"false","complete":"true","x":737,"y":1259,"wires":[]}]


Share this post

Link to post
Share on other sites
Posted · How to auth with node-red against UM3 REST API

This probably needs a response from a UM3 developer.  I'm not sure who they are but these guys know: @Daid  @nallath


Share this post

Link to post
Share on other sites
Posted · How to auth with node-red against UM3 REST API

I have no experience with node-red. So I cannot help you on that part. I did post a python example in my topic about the API, that might help?


But the UM3 API requires HTTP Digest with "auth" quality-of-protection. (The Digest standard makes this optional, but that completely ruins the security, and thus we made it required) most libraries handle this seamlessly.


Part of the "auth" quiality-of-protection are one-time-use tokens, called "nonce". Which I'm not sure if node-red is handling for you or not.

Share this post

Link to post
Share on other sites
Posted · How to auth with node-red against UM3 REST API

You might also try the Cura Connect API (on newer firmware versions) which currently has not authentication. Docs are available on http://{PRINTER_IP}/cluster-api/v1/.

Share this post

Link to post
Share on other sites
Posted · How to auth with node-red against UM3 REST API

There's a little more information right here (images seem to be missing, but everything should be clear):


I would first try to get the /verify call working with cURL. I believe it should be as simple as adding a "--digest" parameter:



Next, you need to get it into Node-red. From what I know about this (= not much), it's based on node, so JavaScript. It looks like some of the libraries don't completely support digest authentication, so if it doesn't work, probably best to try another library. This is just the first thing that comes up:




Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Our picks

    • January 22nd  | Ultimaker webinar 'Learn how to choose the right composite material'
      We’ll teach you how to choose the right composite material for your application in our new 40-minute webinar. You will learn how to: 
      • Make the perfect choice between glass and carbon fiber 
      • Identify more high-value applications that would benefit from composites 
      • 3D print advanced materials with the right settings 
      • Select the best materials for 3D printing end-use parts 
      • Use dual extrusion to take composite 3D printing to the next level 
      • 0 replies
    • Does your company use Ultimaker? Know one that does? Let us know!
      If your company uses Ultimaker in any capacity, we'd love to hear about it! If the story is there, and you're up for it, maybe we can work together to create a story that will be featured on the site. Here are examples of..
      • 18 replies
  • Create New...

Important Information

Welcome to the Ultimaker Community of 3D printing experts. Visit the following links to read more about our Terms of Use or our Privacy Policy. Thank you!