Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Environments:
Explanation:
In the following example, POSTMAN Desktop (Chrome App was deprecated) is used as a test tool, in order to demonstrate how the 'caller' can authenticate using NTLM authentication.
Nprinting authenticates via the cookie provided from the NTLM request.
In the Postman Chrome app, it was possible to use the Interceptor extension in-tandem to get the cookie from the Nprinting Console session open in the browser. However, in Desktop it is necessary to get this cookie by making the GET request to the /api/v1/login/ntlm endpoint.
1. Install and launch Postman Desktop
2. Under Settings, disable SSL certificate verification (otherwise Postman will say it "Could not get any response" because Nprinting uses self-signed certs)
3. Under the Authorization tab, select NTLM as the authentication Type, and then enter your credentials. Note that domain needs to be in the Domain field (do not enter an username such as domain\username; put domain in the
Domain field, and only put the username in the Username field)
4. Make a GET request to the NTLM endpoint:
COMMAND | URL |
GET | https://yourdomain.com:4993/api/v1/login/ntlm |
This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.
application/json (Responses are usually 200 (
User is authenticated)or 403 (
User is not authenticated. User may not be in the system, not bound to a windows domain or not authorized to use the APIs. ))
At this point, it is now possible to make GET requests via the Nprinting API. For example, viewing available reports:
COMMAND | URL |
GET | https://yourdomain.com:4993/api/v1/reports |
You'll get a response like this with the list of your reports:
However, if one needs to make a POST request then the X-XSRF-TOKEN header and corresponding cookie value needs to be present in the request; otherwise, the error REVEL_CSRF: tokens mismatch. will be thrown.
COMMAND | URL |
POST | https://yourdomain.com:4993/api/v1/tasks/{taskID}/executions |
Thanks for this description - this helped me for 100 percent 🙂
very nice write up. great job.
is it possible to use custom users (created in NPrinting console) to make API calls.
or it has to be NT ID to make such calls. I'm trying to create a custom user in NPrinting and then use that user in POSTMAN to make API call using basic auth. it is not working.