PROCESIO
OverviewPlatform ActionsIntegrations & DemosMarketplaceCustom ActionsDeveloper’s Guide

PROCESIO API Documentation

How to call the PROCESIO REST API: where the full endpoint reference is, how to authenticate, which headers to send and how paged lists behave.

The PROCESIO REST API lets any other application work with PROCESIO: run a process, read its status and output, manage processes, Data Store tables, forms, credentials, schedules, webhooks and more.

The endpoint reference

The full, current list of endpoints, with their parameters, request bodies and responses, is in the interactive API reference (Swagger):

https://webapi.procesio.app/swagger/index.html

The reference is generated from the API itself, so it always matches what the API accepts. You can also try calls from it: click Authorize at the top right, sign in with one of the methods below, then open an endpoint and click Try it out.

The base URL for API calls is https://webapi.procesio.app. If your company runs its own PROCESIO installation, use the API address of that installation instead.

Authenticate

Every call needs one of these two credentials.

With an API key

An API key is the simplest choice for apps and scripts. Create one on the API Key page (see API Keys) and send it in two headers:

HeaderValue
keyThe key handle.
valueThe key value.

A key works only in the workspace where it was created. In Swagger, use the KeyName and KeyValue boxes of the Authorize window.

The KeyName and KeyValue boxes in the Swagger Authorize window

With an access token

You can also sign in with a PROCESIO user and send the access token you get back.

  1. Send POST /api/Authentication with these form fields (application/x-www-form-urlencoded):
    • username: the user's email address.
    • password: the user's password.
    • code: the code from the authenticator app. Send it only when the user has two-factor authentication turned on.
  2. Send the access token from the response in the Authorization header of your next calls: Authorization: Bearer <access token>.

The sign-in call can answer with:

StatusMeaning
200Signed in. The response carries the access token.
401The sign-in was refused, for example because the email address or password is wrong.
423The account is locked for a while after too many failed sign-ins. retryAfterSeconds says how long to wait, counted from the moment you got the answer. 0 means the wait is not known. Do not retry at once.
428The user has two-factor authentication turned on. Send the request again with code.

In Swagger, paste Bearer <access token> into the Bearer box of the Authorize window.

The Bearer box in the Swagger Authorize window

Headers

HeaderWhen to send it
workspaceIdThe ID of the workspace the call works in. Leave it out to work in your personal workspace. With an API key, send the ID of the workspace where you created the key.
x-versionOptional. If you send it, its value must be 1.19. Requests without it work as before.

Paged lists

Endpoints that return a list page by page take two query parameters, pageNumber and pageItemCount, and answer with:

FieldWhat it holds
pageItemsThe items on this page.
pageNumberThe page you got back.
pageItemCountThe page size.
totalItemCountThe number of items in the whole list.

How out-of-range values behave:

  • A pageNumber past the end of the list returns the last page, not an empty one. pageNumber in the response tells you which page you got.
  • A pageNumber of 0 or less returns the first page.
  • A pageItemCount of 0 or less returns the whole list in one page.

To read a whole list, stop when you have read totalItemCount items. Do not wait for an empty page: past the end, the API keeps returning the last page.

Example: run a process with an API key

This example runs a process from Postman. You need an API key and the ID of the process.

  1. Create a POST request to https://webapi.procesio.app/api/Projects/<process ID>/run.
  2. Under Headers, add key, value and, for a process in a shared workspace, workspaceId.
  3. Under Body, choose raw and JSON, and send the process inputs in payload:
{
  "payload": {
    "inputVariableExample": 2.03
  },
  "connectionId": null
}

A Postman request to the run endpoint with a raw JSON body

  1. Click Send. The process starts.

For a step-by-step version, see Running a process with API Keys. To follow the run, call GET /api/Projects/instances/<instance ID>/status. The other run endpoints are in the ProcessInstance group of the API reference.

On this page