Nintex RPA Central API

The Nintex RPA Central API is used for managing bots, botflows, users, and other related functions in Nintex RPA Central. You can use the Nintex RPA Central API to complete the following featured actions, and more: 

  • Start botflows

    • Start a botflow that has inputs

    • Retrieve bot information

  • Retrieve a list of botflow instances (data can be used in third party reports)

  • Use the instance ID to retrieve botflow instance information to check on the status of started botflows

  • Manage users

    • Retrieve a list of users

    • Add users

    • Delete users

    • Validate users

    • Change user's role

Tip: To better manage the functions that are processed in Nintex RPA Central, retain and download audit logs. For more information, go to Audit logs.

This topic describes how to use the Nintex RPA Central API:

Authentication

Because the Nintex RPA Central API uses Microsoft Windows-integrated authentication, you must use an identity that has administrative access in Nintex RPA Central. Non-registered and non-administrative users will receive an unauthorized error. If you do not want to allow some of the actions from your application, use a designer or participant role in Nintex RPA Central, depending on your scenario. For more information, go to Roles.

In addition, due to the use of NTLM authentication, you must be logged into a domain. If you are using Postman, ensure that you have selected NTLM Authentication at the collection level for authorization and you have entered the correct domain username and password for the administrator. You can use “Inherit auth from parent” to leverage the credentials stored as part of the collection.

Prerequisites

Before you can successfully use the Nintex RPA Central API, you must:

Contracts

Note: If you are using K2 Five, read this Nintex Community article to get custom Swagger files and learn how to use K2 Five with Nintex RPA.

  1. Go to https://<RPA Central URL>/swagger/index.html.

  2. Open the contracts in OpenAPI Specification v3.

Postman collection

Use the four supplied Postman collections to make calls with the Nintex RPA Central API.

  1. Download and import the Postman collections into a Postman workspace.

  2. Ensure that the Postman collection is using NTLM authentication.

  3. Type a username and password.

  4. Set a ServerURL variable.

Tip: You can also use Postman to generate code for a language that you choose.

PowerShell scripts

The Nintex RPA Central API exposes endpoints for handling Nintex RPA Central-related management operations. You can use PowerShell scripts to call endpoints. Although you can call any endpoint, the two listed in the commands in this section are the most useful for starting botflow instances.

Action PowerShell command

Method type

Run a botflow

curl.exe -X 'POST' 'https://localhost/api/jobbotflows/1/run' -H 'accept: application/json' -H 'Content-Type: application/json-patch+json' -d '{}' --ntlm -u : POST
Run a botflow instance on a particular bot curl.exe -X 'POST' 'https://localhost/api/jobbotflows/1/run-on-bot/1' -H 'accept: application/json' -H 'Content-Type: application/json-patch+json' -d '{}' --ntlm -u : POST

Note: The --ntlm -u switch with a single colon (--ntlm -u :) uses the currently logged-in user to make the request.

Featured actions and endpoints

A list of featured actions and endpoints is displayed in the table below. You can view additional actions and endpoints in the Nintex RPA Central contracts, which can be viewed in OpenAPI Specification v3.

Actions that start botflow calls are asynchronous; they accept the request, but do not necessarily start the botflows. The botflow start depends on a variety of conditions, such as if there are any bots assigned to botflow, and if bots are available. After a botflow executes and completes, there is no API call to retrieve the results.

Action Endpoint

Method type

Get a list of input variables for a botflow /api/jobbotflows/{jobBotflowId}/get-input-variables GET
Run a botflow on a bot /api/jobbotflows/{jobBotflowId}/run-on-bot/{botId} POST
Run a botflow /api/jobbotflows/{jobBotflowId}/run POST
Get a JobBotflow detail by ID /api/jobbotflows/{jobBotflowId}/detail GET
Get a JobBotflow by ID /api/jobbotflows/{jobBotflowId} GET
Get all the JobBotflows that are not deleted /api/jobbotflows GET
Get a list of botflows and their complexity /api/jobbotflows/get-metadata GET
Get the details for an instance by ID /api/instances/{instanceId}/detail GET
Get an instance by ID /api/instances/{instanceId} GET
Get a list of botflow instances /api/instances GET
Get botflows assigned to a bot by ID /api/bots/{botId}/get-jobbotflow-counts GET
Get a list of bots and their IDs /api/bots GET
Get application info /api/applicationinfo GET
Get the user's information /api/users/domain/{domain}/name/{name} GET
Get the list of users /api/users GET
Get the user's information /api/users/{username} GET
Get the logged-on user's information /api/users/currentuser GET
Add a user /api/users POST
Delete a user /api/users/{userId} DELETE
Change user's role /api/users/update-role PUT
Validate a user /api/users/validate-username POST