Skip to main content

KuFlow Public API (2024-06-14)

Download OpenAPI specification:Download

Introduction

This document contains the KuFlow REST API reference. This API is a fundamental part in the integration of external systems with KuFlow and is used, among others, by the different implementations of the Workers that connect to our network.

API Versioning

A versioning strategy allows our clients to continue using the existing REST API and migrate their applications to the newer API when they are ready.

The scheme followed is a simplification of Semver where only MAJOR versions are differentiated from MINOR or PATCH versions, i.e. a version number of only two levels is used. With this approach, you only have to migrate your applications if you want to upgrade to a MAJOR version of the KuFlow API. In case you want to upgrade to a MINOR version, you can do so without any incompatibility issues.

The versioning of the api is done through the URI Path, that is, the version number is included in the URI Path. The URL structure would be as follows:

https://{endpoint}/v{VERSION}/{api-path}

Idempotency

The API is designed to support idempotency in order to achieve a correct resilience in the implementation of its clients. The way to achieve this is very simple, in the methods that create resources, you simply have to specify a UUID in the input data and the API will respond by creating or returning the resource if it previously existed. With this mechanism, your systems can implement retry logic without worrying about performing data tradeoffs.

OpenAPI Specification

This API is documented in OpenAPI format. This file allows you to create REST clients with the technology of your choice automatically.

Principal

Operations about principals.

Find all accessible Principals

List all the Principals that have been created and the used credentials has access.

Available sort query values: id, name

Authorizations:
BasicAuthBearerAuthOAuth2Auth
query Parameters
size
integer [ 0 .. 1000 ]
Default: 25

The number of records returned within a single API call.

page
integer >= 0
Default: 0

The page number of the current page in the returned records, 0 is the first page.

sort
Array of strings

Sorting criteria in the format: property{,asc|desc}. Example: createdAt,desc

Default sort order is ascending. Multiple sort criteria are supported.

Please refer to the method description for supported properties.

type
string (PrincipalType)
Enum: "USER" "APPLICATION" "SYSTEM"

Filter principals by type.

groupId
Array of strings <uuid> [ items <uuid > ]

Filter by group ids.

tenantId
Array of strings <uuid> [ items <uuid > ]

Filter by tenantId.

Responses

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "content": [
    ]
}

Get a Principal by ID

Returns the requested Principal when has access to do it.

Authorizations:
BasicAuthBearerAuthOAuth2Auth
path Parameters
id
required
string <uuid>

The resource ID.

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "type": "USER",
  • "name": "string",
  • "user": {
    },
  • "application": {
    }
}

Tenant User

Operations about tenant users.

Find all accessible Tenant Users

List all the Tenant Users that have been created and the used credentials has access.

Available sort query values: id, createdAt, lastModifiedAt

Authorizations:
BasicAuthBearerAuthOAuth2Auth
query Parameters
size
integer [ 0 .. 1000 ]
Default: 25

The number of records returned within a single API call.

page
integer >= 0
Default: 0

The page number of the current page in the returned records, 0 is the first page.

sort
Array of strings

Sorting criteria in the format: property{,asc|desc}. Example: createdAt,desc

Default sort order is ascending. Multiple sort criteria are supported.

Please refer to the method description for supported properties.

groupId
Array of strings <uuid> [ items <uuid > ]

Filter by group ids.

email
Array of strings <email> [ items <email > ]

Filter by email.

tenantId
Array of strings <uuid> [ items <uuid > ]

Filter by tenantId.

Responses

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "content": [
    ]
}

Get a Tenant User by ID

Returns the requested TenantUser when has access to do it.

Authorizations:
BasicAuthBearerAuthOAuth2Auth
path Parameters
id
required
string <uuid>

The resource ID.

Responses

Response samples

Content type
application/json
{
  • "createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "lastModifiedBy": "ac5c7580-b36d-42f3-a739-e202c634d1d1",
  • "lastModifiedAt": "2019-08-24T14:15:22Z",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "metadata": {
    },
  • "principal": {
    },
  • "tenantId": "f97df110-f4de-492e-8849-4a6af68026b0"
}

Process

Operations about processes.

Find all accessible Processes

List all the Processes that have been created and the credentials has access.

Available sort query values: id, createdAt, lastModifiedAt

Authorizations:
BasicAuthBearerAuthOAuth2Auth
query Parameters
size
integer [ 0 .. 1000 ]
Default: 25

The number of records returned within a single API call.

page
integer >= 0
Default: 0

The page number of the current page in the returned records, 0 is the first page.

sort
Array of strings

Sorting criteria in the format: property{,asc|desc}. Example: createdAt,desc

Default sort order is ascending. Multiple sort criteria are supported.

Please refer to the method description for supported properties.

tenantId
Array of strings <uuid> [ items <uuid > ]

Filter by tenantId.

Responses

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "content": [
    ]
}

Create a new process

Creates a process. This option has direct correspondence to the action of starting a process in the Kuflow GUI.

If you want the method to be idempotent, please specify the id field in the request body.

Authorizations:
BasicAuthBearerAuthOAuth2Auth
Request Body schema: application/json
required

Process to create

id
string <uuid>
processDefinitionId
required
string <uuid>
object (JsonValue)

Json value.

initiatorId
string <uuid>
initiatorEmail
string <email>

Responses

Request samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "processDefinitionId": "00dd2086-81f3-4572-b714-8dfc17219bb3",
  • "metadata": {
    },
  • "initiatorId": "b631b8d8-c217-4b56-82fc-36ea91cf342a",
  • "initiatorEmail": "user@example.com"
}

Response samples

Content type
application/json
{
  • "createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "lastModifiedBy": "ac5c7580-b36d-42f3-a739-e202c634d1d1",
  • "lastModifiedAt": "2019-08-24T14:15:22Z",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "RUNNING",
  • "processDefinition": {
    },
  • "metadata": {
    },
  • "entity": {
    },
  • "processRelated": {
    },
  • "initiatorId": "b631b8d8-c217-4b56-82fc-36ea91cf342a",
  • "tenantId": "f97df110-f4de-492e-8849-4a6af68026b0"
}

Get a Process by ID

Returns the requested Process when has access to do it.

Authorizations:
BasicAuthBearerAuthOAuth2Auth
path Parameters
id
required
string <uuid>

The resource ID.

Responses

Response samples

Content type
application/json
{
  • "createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "lastModifiedBy": "ac5c7580-b36d-42f3-a739-e202c634d1d1",
  • "lastModifiedAt": "2019-08-24T14:15:22Z",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "RUNNING",
  • "processDefinition": {
    },
  • "metadata": {
    },
  • "entity": {
    },
  • "processRelated": {
    },
  • "initiatorId": "b631b8d8-c217-4b56-82fc-36ea91cf342a",
  • "tenantId": "f97df110-f4de-492e-8849-4a6af68026b0"
}

Complete a Process

Complete a Process. The state of Process is set to 'completed'.

If you are already in this state, no action is taken.

Authorizations:
BasicAuthBearerAuthOAuth2Auth
path Parameters
id
required
string <uuid>

The resource ID.

Responses

Response samples

Content type
application/json
{
  • "createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "lastModifiedBy": "ac5c7580-b36d-42f3-a739-e202c634d1d1",
  • "lastModifiedAt": "2019-08-24T14:15:22Z",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "RUNNING",
  • "processDefinition": {
    },
  • "metadata": {
    },
  • "entity": {
    },
  • "processRelated": {
    },
  • "initiatorId": "b631b8d8-c217-4b56-82fc-36ea91cf342a",
  • "tenantId": "f97df110-f4de-492e-8849-4a6af68026b0"
}

Cancel a Process

Cancel a Process. The Process state is set to 'cancelled'.

All the active process items will be marked as cancelled too.

If you are already in this state, no action is taken.

Authorizations:
BasicAuthBearerAuthOAuth2Auth
path Parameters
id
required
string <uuid>

The resource ID.

Responses

Response samples

Content type
application/json
{
  • "createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "lastModifiedBy": "ac5c7580-b36d-42f3-a739-e202c634d1d1",
  • "lastModifiedAt": "2019-08-24T14:15:22Z",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "RUNNING",
  • "processDefinition": {
    },
  • "metadata": {
    },
  • "entity": {
    },
  • "processRelated": {
    },
  • "initiatorId": "b631b8d8-c217-4b56-82fc-36ea91cf342a",
  • "tenantId": "f97df110-f4de-492e-8849-4a6af68026b0"
}

Change process initiator

Change the current initiator of a process.

Allows you to choose a user (by email or principal identifier) or an application (principal identifier). Only one option will be necessary.

Authorizations:
BasicAuthBearerAuthOAuth2Auth
path Parameters
id
required
string <uuid>

The resource ID.

Request Body schema: application/json
required

Params to change the process initiator.

initiatorId
string <uuid>
initiatorEmail
string <email>

Responses

Request samples

Content type
application/json
{
  • "initiatorId": "b631b8d8-c217-4b56-82fc-36ea91cf342a",
  • "initiatorEmail": "user@example.com"
}

Response samples

Content type
application/json
{
  • "createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "lastModifiedBy": "ac5c7580-b36d-42f3-a739-e202c634d1d1",
  • "lastModifiedAt": "2019-08-24T14:15:22Z",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "RUNNING",
  • "processDefinition": {
    },
  • "metadata": {
    },
  • "entity": {
    },
  • "processRelated": {
    },
  • "initiatorId": "b631b8d8-c217-4b56-82fc-36ea91cf342a",
  • "tenantId": "f97df110-f4de-492e-8849-4a6af68026b0"
}

Upload and save a document in a user action

Allow saving a user action document uploading the content.

Authorizations:
BasicAuthBearerAuthOAuth2Auth
path Parameters
id
required
string <uuid>

The resource ID.

query Parameters
fileContentType
required
string

Document content type

fileName
required
string

Document name

userActionValueId
required
string <uuid>

User action value ID related to de document

Request Body schema: application/octet-stream
required

Document to save.

string <binary>

Responses

Response samples

Content type
application/json
{
  • "createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "lastModifiedBy": "ac5c7580-b36d-42f3-a739-e202c634d1d1",
  • "lastModifiedAt": "2019-08-24T14:15:22Z",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "RUNNING",
  • "processDefinition": {
    },
  • "metadata": {
    },
  • "entity": {
    },
  • "processRelated": {
    },
  • "initiatorId": "b631b8d8-c217-4b56-82fc-36ea91cf342a",
  • "tenantId": "f97df110-f4de-492e-8849-4a6af68026b0"
}

Save process metadata

Authorizations:
BasicAuthBearerAuthOAuth2Auth
path Parameters
id
required
string <uuid>

The resource ID.

Request Body schema: application/json
required

Params to save the metadata data.

required
object (JsonValue)

Json value.

required
object

json value filled that complain with the related json schema.

property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "metadata": {
    }
}

Response samples

Content type
application/json
{
  • "createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "lastModifiedBy": "ac5c7580-b36d-42f3-a739-e202c634d1d1",
  • "lastModifiedAt": "2019-08-24T14:15:22Z",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "RUNNING",
  • "processDefinition": {
    },
  • "metadata": {
    },
  • "entity": {
    },
  • "processRelated": {
    },
  • "initiatorId": "b631b8d8-c217-4b56-82fc-36ea91cf342a",
  • "tenantId": "f97df110-f4de-492e-8849-4a6af68026b0"
}

Patch JSON data

Allow to patch a JSON data validating that the data follow the related schema. If the data is invalid, then the json is marked as invalid.

Authorizations:
BasicAuthBearerAuthOAuth2Auth
path Parameters
id
required
string <uuid>

The resource ID.

Request Body schema: application/json-patch+json
required

Params to save the JSON value.

Array (non-empty)
op
required
string (JsonPatchOperationType)
Enum: "add" "remove" "replace" "move" "copy" "test"

The operation to perform.

from
string

A JSON Pointer path used when op is "copy" or "move".

path
required
string

A JSON Pointer path.

value
any or null

The value to "add", "replace" or "test".

Responses

Request samples

Content type
application/json-patch+json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "lastModifiedBy": "ac5c7580-b36d-42f3-a739-e202c634d1d1",
  • "lastModifiedAt": "2019-08-24T14:15:22Z",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "RUNNING",
  • "processDefinition": {
    },
  • "metadata": {
    },
  • "entity": {
    },
  • "processRelated": {
    },
  • "initiatorId": "b631b8d8-c217-4b56-82fc-36ea91cf342a",
  • "tenantId": "f97df110-f4de-492e-8849-4a6af68026b0"
}

Save JSON data

Allow to save a JSON validating that the data follow the related schema. If the data is invalid, then the json form is marked as invalid.

Authorizations:
BasicAuthBearerAuthOAuth2Auth
path Parameters
id
required
string <uuid>

The resource ID.

Request Body schema: application/json
required

Params to save the JSON value.

required
object (JsonValue)

Json value.

required
object

json value filled that complain with the related json schema.

property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "entity": {
    }
}

Response samples

Content type
application/json
{
  • "createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "lastModifiedBy": "ac5c7580-b36d-42f3-a739-e202c634d1d1",
  • "lastModifiedAt": "2019-08-24T14:15:22Z",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "RUNNING",
  • "processDefinition": {
    },
  • "metadata": {
    },
  • "entity": {
    },
  • "processRelated": {
    },
  • "initiatorId": "b631b8d8-c217-4b56-82fc-36ea91cf342a",
  • "tenantId": "f97df110-f4de-492e-8849-4a6af68026b0"
}

Patch JSON data

Allow to patch a JSON data validating that the data follow the related schema. If the data is invalid, then the json is marked as invalid.

Authorizations:
BasicAuthBearerAuthOAuth2Auth
path Parameters
id
required
string <uuid>

The resource ID.

Request Body schema: application/json-patch+json
required

Params to save the JSON value.

Array (non-empty)
op
required
string (JsonPatchOperationType)
Enum: "add" "remove" "replace" "move" "copy" "test"

The operation to perform.

from
string

A JSON Pointer path used when op is "copy" or "move".

path
required
string

A JSON Pointer path.

value
any or null

The value to "add", "replace" or "test".

Responses

Request samples

Content type
application/json-patch+json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "lastModifiedBy": "ac5c7580-b36d-42f3-a739-e202c634d1d1",
  • "lastModifiedAt": "2019-08-24T14:15:22Z",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "RUNNING",
  • "processDefinition": {
    },
  • "metadata": {
    },
  • "entity": {
    },
  • "processRelated": {
    },
  • "initiatorId": "b631b8d8-c217-4b56-82fc-36ea91cf342a",
  • "tenantId": "f97df110-f4de-492e-8849-4a6af68026b0"
}

Upload a temporal document into the process that later on must be linked with a process domain resource

Upload a temporal document into the process that later on must be linked with a process domain resource.

Documents uploaded with this API will be deleted after 24 hours as long as they have not been linked to a process or process item..

Authorizations:
BasicAuthBearerAuthOAuth2Auth
path Parameters
id
required
string <uuid>

The resource ID.

query Parameters
fileContentType
required
string

Document content type

fileName
required
string

Document name

Request Body schema: application/octet-stream
required

Document to save.

string <binary>

Responses

Response samples

Content type
application/json
{
  • "documentUri": "string"
}

Download document

Given a document uri download a document.

Authorizations:
BasicAuthBearerAuthOAuth2Auth
path Parameters
id
required
string <uuid>

The resource ID.

query Parameters
documentUri
required
string

Document URI to download.

Responses

Response samples

Content type
application/json
{
  • "timestamp": "2019-08-24T14:15:22Z",
  • "status": 0,
  • "message": "string",
  • "errors": [
    ]
}

Process Item

Operations about process items.

Find all accessible Process Items

List all Process Items that have been created and the credentials has access.

Available sort query values: id, createdAt, lastModifiedAt, claimedAt, completedAt, cancelledAt

Authorizations:
BasicAuthBearerAuthOAuth2Auth
query Parameters
size
integer [ 0 .. 1000 ]
Default: 25

The number of records returned within a single API call.

page
integer >= 0
Default: 0

The page number of the current page in the returned records, 0 is the first page.

sort
Array of strings

Sorting criteria in the format: property{,asc|desc}. Example: createdAt,desc

Default sort order is ascending. Multiple sort criteria are supported.

Please refer to the method description for supported properties.

processId
Array of strings <uuid> [ items <uuid > ]

Filter by an array of process ids.

type
Array of strings (ProcessItemType)
Items Enum: "TASK" "MESSAGE"

Filter by an array of type.

taskState
Array of strings (ProcessItemTaskState)
Items Enum: "READY" "CLAIMED" "COMPLETED" "CANCELLED"

Filter by an array of task states.

taskDefinitionCode
Array of strings

Filter by an array of task definition codes.

tenantId
Array of strings <uuid> [ items <uuid > ]

Filter by tenantId.

Responses

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "content": [
    ]
}

Create a new Process Item in the selected Process

Create a Process Item and optionally fill its value.

If you want to add document type elements, you can pass a reference to an existing document type element indicating its 'uri'. This will copy that document into the element. In case you want to add a new document, please use the corresponding API method.

If you want the method to be idempotent, please specify the id field in the request body.

Authorizations:
BasicAuthBearerAuthOAuth2Auth
Request Body schema: application/json
required

Process Item to be created

id
string <uuid>
type
required
string (ProcessItemType)
Enum: "TASK" "MESSAGE"

Process Item Type

processId
required
string <uuid>
ownerId
string <uuid>
ownerEmail
string <email>
object (ProcessItemTaskCreateParams)
object (ProcessItemMessageCreateParams)

Responses

Request samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "type": "TASK",
  • "processId": "9e0ad09b-5150-48c0-aded-707587048fd9",
  • "ownerId": "4d206909-730f-409a-88f6-dcfaa8fc28cc",
  • "ownerEmail": "user@example.com",
  • "task": {
    },
  • "message": {
    }
}

Response samples

Content type
application/json
{
  • "createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "lastModifiedBy": "ac5c7580-b36d-42f3-a739-e202c634d1d1",
  • "lastModifiedAt": "2019-08-24T14:15:22Z",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "type": "TASK",
  • "processId": "9e0ad09b-5150-48c0-aded-707587048fd9",
  • "ownerId": "4d206909-730f-409a-88f6-dcfaa8fc28cc",
  • "tenantId": "f97df110-f4de-492e-8849-4a6af68026b0",
  • "task": {
    },
  • "message": {
    }
}

Get a process item given it ID

Allow to get a process item by ID.

Authorizations:
BasicAuthBearerAuthOAuth2Auth
path Parameters
id
required
string <uuid>

The resource ID.

Responses

Response samples

Content type
application/json
{
  • "createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "lastModifiedBy": "ac5c7580-b36d-42f3-a739-e202c634d1d1",
  • "lastModifiedAt": "2019-08-24T14:15:22Z",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "type": "TASK",
  • "processId": "9e0ad09b-5150-48c0-aded-707587048fd9",
  • "ownerId": "4d206909-730f-409a-88f6-dcfaa8fc28cc",
  • "tenantId": "f97df110-f4de-492e-8849-4a6af68026b0",
  • "task": {
    },
  • "message": {
    }
}

Claim a process item task

Allow to claim a task.

Authorizations:
BasicAuthBearerAuthOAuth2Auth
path Parameters
id
required
string <uuid>

The resource ID.

Responses

Response samples

Content type
application/json
{
  • "createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "lastModifiedBy": "ac5c7580-b36d-42f3-a739-e202c634d1d1",
  • "lastModifiedAt": "2019-08-24T14:15:22Z",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "type": "TASK",
  • "processId": "9e0ad09b-5150-48c0-aded-707587048fd9",
  • "ownerId": "4d206909-730f-409a-88f6-dcfaa8fc28cc",
  • "tenantId": "f97df110-f4de-492e-8849-4a6af68026b0",
  • "task": {
    },
  • "message": {
    }
}

Assign a process item task

Allow to assign a process item task to a user or application. Only one option will be necessary.

Authorizations:
BasicAuthBearerAuthOAuth2Auth
path Parameters
id
required
string <uuid>

The resource ID.

Request Body schema: application/json
required

Params to change the process item task owner.

ownerId
string <uuid>
ownerEmail
string <email>

Responses

Request samples

Content type
application/json
{
  • "ownerId": "4d206909-730f-409a-88f6-dcfaa8fc28cc",
  • "ownerEmail": "user@example.com"
}

Response samples

Content type
application/json
{
  • "createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "lastModifiedBy": "ac5c7580-b36d-42f3-a739-e202c634d1d1",
  • "lastModifiedAt": "2019-08-24T14:15:22Z",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "type": "TASK",
  • "processId": "9e0ad09b-5150-48c0-aded-707587048fd9",
  • "ownerId": "4d206909-730f-409a-88f6-dcfaa8fc28cc",
  • "tenantId": "f97df110-f4de-492e-8849-4a6af68026b0",
  • "task": {
    },
  • "message": {
    }
}

Complete a process item task

Allow to complete a claimed task by the principal.

Authorizations:
BasicAuthBearerAuthOAuth2Auth
path Parameters
id
required
string <uuid>

The resource ID.

Responses

Response samples

Content type
application/json
{
  • "createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "lastModifiedBy": "ac5c7580-b36d-42f3-a739-e202c634d1d1",
  • "lastModifiedAt": "2019-08-24T14:15:22Z",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "type": "TASK",
  • "processId": "9e0ad09b-5150-48c0-aded-707587048fd9",
  • "ownerId": "4d206909-730f-409a-88f6-dcfaa8fc28cc",
  • "tenantId": "f97df110-f4de-492e-8849-4a6af68026b0",
  • "task": {
    },
  • "message": {
    }
}

Append a log to the process item task

A log entry is added to the task. If the number of log entries is reached, the oldest log entry is removed.

Authorizations:
BasicAuthBearerAuthOAuth2Auth
path Parameters
id
required
string <uuid>

The resource ID.

Request Body schema: application/json
required

Log to be created.

message
required
string
level
required
string (ProcessItemTaskLogLevel)
Enum: "INFO" "WARN" "ERROR"

Responses

Request samples

Content type
application/json
{
  • "message": "string",
  • "level": "INFO"
}

Response samples

Content type
application/json
{
  • "createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "lastModifiedBy": "ac5c7580-b36d-42f3-a739-e202c634d1d1",
  • "lastModifiedAt": "2019-08-24T14:15:22Z",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "type": "TASK",
  • "processId": "9e0ad09b-5150-48c0-aded-707587048fd9",
  • "ownerId": "4d206909-730f-409a-88f6-dcfaa8fc28cc",
  • "tenantId": "f97df110-f4de-492e-8849-4a6af68026b0",
  • "task": {
    },
  • "message": {
    }
}

Save JSON data

Allow to save a JSON data validating that the data follow the related schema. If the data is invalid, then the json form is marked as invalid.

Authorizations:
BasicAuthBearerAuthOAuth2Auth
path Parameters
id
required
string <uuid>

The resource ID.

Request Body schema: application/json
required

Params used to update the JSON value.

required
object (JsonValue)

Json value.

required
object

json value filled that complain with the related json schema.

property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "lastModifiedBy": "ac5c7580-b36d-42f3-a739-e202c634d1d1",
  • "lastModifiedAt": "2019-08-24T14:15:22Z",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "type": "TASK",
  • "processId": "9e0ad09b-5150-48c0-aded-707587048fd9",
  • "ownerId": "4d206909-730f-409a-88f6-dcfaa8fc28cc",
  • "tenantId": "f97df110-f4de-492e-8849-4a6af68026b0",
  • "task": {
    },
  • "message": {
    }
}

Patch JSON data

Allow to patch a JSON data validating that the data follow the related schema. If the data is invalid, then the json is marked as invalid.

Authorizations:
BasicAuthBearerAuthOAuth2Auth
path Parameters
id
required
string <uuid>

The resource ID.

Request Body schema: application/json-patch+json
required

Params to save the JSON value.

Array (non-empty)
op
required
string (JsonPatchOperationType)
Enum: "add" "remove" "replace" "move" "copy" "test"

The operation to perform.

from
string

A JSON Pointer path used when op is "copy" or "move".

path
required
string

A JSON Pointer path.

value
any or null

The value to "add", "replace" or "test".

Responses

Request samples

Content type
application/json-patch+json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "lastModifiedBy": "ac5c7580-b36d-42f3-a739-e202c634d1d1",
  • "lastModifiedAt": "2019-08-24T14:15:22Z",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "type": "TASK",
  • "processId": "9e0ad09b-5150-48c0-aded-707587048fd9",
  • "ownerId": "4d206909-730f-409a-88f6-dcfaa8fc28cc",
  • "tenantId": "f97df110-f4de-492e-8849-4a6af68026b0",
  • "task": {
    },
  • "message": {
    }
}

Download a Form rendered as PDF or Zip of PDFs (when the element is multiple)

Given a task, generate a PDF from a Form type element with the data filled in, if any. If there are multiple form values, they are packed into a ZIP.

Important!: To use this feature, please contact to kuflow@kuflow.com

Authorizations:
BasicAuthBearerAuthOAuth2Auth
path Parameters
id
required
string <uuid>

The resource ID.

query Parameters
propertyPath
required
string

JSON pointer to the property with the error. See: https://datatracker.ietf.org/doc/html/rfc6901

ie: /user/name or /users/1/name

Responses

Response samples

Content type
application/json
{
  • "timestamp": "2019-08-24T14:15:22Z",
  • "status": 0,
  • "message": "string",
  • "errors": [
    ]
}

Worker

Operations about workers.

Create or update a worker

Register a worker in KuFlow, this allows the platform to have a catalogue of all registered workers.

If already exist a worker for the same identity, the worker will be updated.

Authorizations:
BasicAuthBearerAuthOAuth2Auth
Request Body schema: application/json
required

Worker to create or update

identity
required
string [ 1 .. 255 ] characters
taskQueue
required
string [ 1 .. 255 ] characters
workflowTypes
Array of strings[ items [ 1 .. 255 ] characters ]
activityTypes
Array of strings[ items [ 1 .. 255 ] characters ]
hostname
required
string [ 1 .. 255 ] characters
ip
required
string [ 7 .. 40 ] characters
installationId
string <uuid>

Installation Id.

robotIds
Array of strings <uuid> [ items <uuid > ]

Robot Ids that this worker implements.

tenantId
string <uuid>

Tenant ID.

Responses

Request samples

Content type
application/json
{
  • "identity": "string",
  • "taskQueue": "string",
  • "workflowTypes": [
    ],
  • "activityTypes": [
    ],
  • "hostname": "string",
  • "ip": "strings",
  • "installationId": "7a1bf939-4d70-4439-9ced-a3dbbce12bd7",
  • "robotIds": [
    ],
  • "tenantId": "f97df110-f4de-492e-8849-4a6af68026b0"
}

Response samples

Content type
application/json
{
  • "createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "lastModifiedBy": "ac5c7580-b36d-42f3-a739-e202c634d1d1",
  • "lastModifiedAt": "2019-08-24T14:15:22Z",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "identity": "string",
  • "taskQueue": "string",
  • "workflowTypes": [
    ],
  • "activityTypes": [
    ],
  • "hostname": "string",
  • "ip": "strings",
  • "installationId": "7a1bf939-4d70-4439-9ced-a3dbbce12bd7",
  • "robotIds": [
    ],
  • "tenantId": "f97df110-f4de-492e-8849-4a6af68026b0"
}

Robot

Operations about robots.

Find all accessible Robots

List all the Robots that have been created and the credentials has access.

Available sort query values: createdAt, lastModifiedAt

Authorizations:
BasicAuthBearerAuthOAuth2Auth
query Parameters
size
integer [ 0 .. 1000 ]
Default: 25

The number of records returned within a single API call.

page
integer >= 0
Default: 0

The page number of the current page in the returned records, 0 is the first page.

sort
Array of strings

Sorting criteria in the format: property{,asc|desc}. Example: createdAt,desc

Default sort order is ascending. Multiple sort criteria are supported.

Please refer to the method description for supported properties.

tenantId
Array of strings <uuid> [ items <uuid > ]

Filter by tenantId.

filterContext
string (RobotFilterContext)
Enum: "READY" "DEFAULT"

Filter by the specified context.

Responses

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "content": [
    ]
}

Get a Robot by ID

Returns the requested Robot when has access to do it.

Authorizations:
BasicAuthBearerAuthOAuth2Auth
path Parameters
id
required
string <uuid>

The resource ID.

Responses

Response samples

Content type
application/json
{
  • "createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "lastModifiedBy": "ac5c7580-b36d-42f3-a739-e202c634d1d1",
  • "lastModifiedAt": "2019-08-24T14:15:22Z",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "code": "string",
  • "name": "string",
  • "description": "string",
  • "sourceType": "PACKAGE",
  • "sourceFile": {
    },
  • "environmentVariables": {
    },
  • "tenantId": "f97df110-f4de-492e-8849-4a6af68026b0"
}

Download robot code

Given a robot, download the source code.

Authorizations:
BasicAuthBearerAuthOAuth2Auth
path Parameters
id
required
string <uuid>

The resource ID.

Responses

Response samples

Content type
application/json
{
  • "timestamp": "2019-08-24T14:15:22Z",
  • "status": 0,
  • "message": "string",
  • "errors": [
    ]
}

Download robot asset

Given a robot, download the requested asset.

Authorizations:
BasicAuthBearerAuthOAuth2Auth
path Parameters
id
required
string <uuid>

The resource ID.

query Parameters
type
required
string (RobotAssetType)
Enum: "PYTHON" "PYTHON_PIP" "NODEJS"

The asset type.

version
required
string

The asset version.

platform
required
string (RobotAssetPlatform)
Enum: "WINDOWS" "MAC_OS" "LINUX"

The asset platform.

architecture
required
string (RobotAssetArchitecture)
Enum: "X86_32" "X86_64"

The asset platform architecture.

Responses

Response samples

Content type
application/json
{
  • "timestamp": "2019-08-24T14:15:22Z",
  • "status": 0,
  • "message": "string",
  • "errors": [
    ]
}

Authentication

Operations for handling authentication tokens.

Create an authentication for the current principal.

Authorizations:
BasicAuthBearerAuthOAuth2Auth
Request Body schema: application/json
required

Authentication to be created.

type
required
string (AuthenticationType)
Enum: "ENGINE_TOKEN" "ENGINE_CERTIFICATE"
tenantId
string <uuid>

Tenant id. This attribute is required when an OAuth2 authentication is used.

Responses

Request samples

Content type
application/json
{
  • "type": "ENGINE_TOKEN",
  • "tenantId": "f97df110-f4de-492e-8849-4a6af68026b0"
}

Response samples

Content type
application/json
{
  • "createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "lastModifiedBy": "ac5c7580-b36d-42f3-a739-e202c634d1d1",
  • "lastModifiedAt": "2019-08-24T14:15:22Z",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "type": "ENGINE_TOKEN",
  • "tenantId": "f97df110-f4de-492e-8849-4a6af68026b0",
  • "engineToken": {
    },
  • "engineCertificate": {
    }
}

Webhook

Operations that Kuflow invokes towards external systems.

Event sent Webhook

Information about a event produced in the platform

Authorizations:
BasicAuthBearerAuthOAuth2Auth
Request Body schema: application/json
id
required
string <uuid>
version
required
string
type
required
string (WebhookType)

Type of the Event.

timestamp
required
string <date-time>
required
object (WebhookEventProcessCreatedData)

Responses

Request samples

Content type
application/json
Example
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "version": "string",
  • "type": "PROCESS.CREATED",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "data": {
    }
}
Kuflow Logo