Skip to main content

Diligent Workflow API (1.0.0)

Download OpenAPI specification:Download

Introduction

The Diligent Workflow API facilitates the integration of our Diligent platform with your organization’s systems. We provide endpoints so that you can construct the request you want to send to the Diligent platform.

The API is used to undertake the following actions:

• Create Jobs

• Update Jobs

• Extract reports on users, jobs, custom fields, and job expiries.

The Diligent Workflow API is built around REST principles. It uses standard HTTPS requests to access data and returns responses in JSON format.

Getting Started

To start interacting with the Diligent Workflow API you will need the following:

• Diligent Workflow API must be configured for your site or organization. This is undertaken by our support teams.

• You need to be added as an External API user. This must be completed by your organization’s administrator.

• A personal API token must be generated to access the API. This must be completed by your organization’s administrator.

Licensing

The Diligent Workflow API is available on request. To enquire about your current package and discuss upgrade options, contact your Customer Success Manager (CSM).

Request Diligent Workflow site enablement

Each Diligent Workflow site you want to configure for API requests, requires internal network configuration.

To request that your sites are configured, contact your Customer Success Manager, and provide the web address for each site, including test sites.

Add an API User

We recommend you create a user in Diligent Workflow that is used solely for making API requests and create a new user role for this user with only the required user role rights or permissions. This must be completed by an administrator for your organization.

To learn how to create an API user go to Add an API user

Authentication

All requests require authentication. To authenticate, use Diligent Workflow to create a token (API key) for your account. The token (API key) is a string that authenticates you and allows you to securely access the Diligent Workflow API.

To learn how to create a token go to Generating a personal API token

After you have created your token, you can enter it in the header of your request:

Authorization: Bearer <TOKEN>

Important: If you do not authenticate yourself, the API fails. The API responds to authentication failures with a 401 "Bad credentials" status.

Sending Requests

Once you have completed the authentication process, you can start sending requests.

  • GET — used for retrieving resources

  • POST — used for creating resources

  • PUT — used for updating resources

Changelog

All API endpoints use a version number in the path. As can be seen in the examples, /v1/ specifies version 1 of the API.

Current Version - 1

Users

Get All Business Area Owners

Authorizations:
Bearer
path Parameters
version
required
string [ 1 .. 100 ] characters

Version of API

customerId
required
integer <int32>
Default: 0

Customer ID

businessAreaId
required
integer <int32>
Default: 0

Business Area ID

Responses

Response samples

Content type
[
  • {
    }
]

Get Custom Field Users

Authorizations:
Bearer
path Parameters
version
required
string [ 1 .. 100 ] characters

Version of API

customerId
required
integer <int32>
Default: 0

Customer ID

businessAreaId
required
integer <int32>
Default: 0

Business Area ID

customFieldId
required
integer <int32>
Default: 0

Custom Field ID

Responses

Response samples

Content type
[
  • {
    }
]

Jobs

Create Job

Authorizations:
Bearer
path Parameters
version
required
string [ 1 .. 100 ] characters

Version of API

customerId
required
integer <int32>
Default: 0

Customer ID

Request Body schema:
businessAreaId
integer <int32>
campaignId
integer or null <int32>
name
string or null <= 100 characters
jobBagTypeId
integer <int32>
completionDate
string <date-time>
ownerUserId
integer or null <int32>
ownerUserHasCustomerRole
boolean
customNumber
integer or null <int32>
Array of objects or null (PropertyDto)

Responses

Request samples

Content type
{
  • "businessAreaId": 0,
  • "campaignId": 0,
  • "name": "string",
  • "jobBagTypeId": 0,
  • "completionDate": "2019-08-24T14:15:22Z",
  • "ownerUserId": 0,
  • "ownerUserHasCustomerRole": true,
  • "customNumber": 0,
  • "properties": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "jobNumber": "string",
  • "validationErrors": { }
}

Update Job

Authorizations:
Bearer
path Parameters
version
required
string [ 1 .. 100 ] characters

Version of API

customerId
required
integer <int32>
Default: 0

Customer ID

jobBagId
required
integer <int32>
Default: 0

Job Bag ID

Request Body schema:
name
required
string [ 1 .. 100 ] characters
jobBagTypeId
integer <int32>
completionDate
string <date-time>
ownerUserId
integer or null <int32>
ownerUserHasCustomerRole
boolean
Array of objects or null (PropertyDto)

Responses

Request samples

Content type
{
  • "name": "string",
  • "jobBagTypeId": 0,
  • "completionDate": "2019-08-24T14:15:22Z",
  • "ownerUserId": 0,
  • "ownerUserHasCustomerRole": true,
  • "properties": [
    ]
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "jobBagTypeId": 0,
  • "completionDate": "2019-08-24T14:15:22Z",
  • "ownerUserId": 0,
  • "ownerUserHasCustomerRole": true,
  • "properties": [
    ]
}

Job Details

Authorizations:
Bearer
path Parameters
version
required
string [ 1 .. 100 ] characters

Version of API

customerId
required
string [ 1 .. 100 ] characters

Customer ID

jobBagNumber
required
string [ 1 .. 100 ] characters

Job Bag Number

Responses

Response samples

Content type
{
  • "id": 0,
  • "name": "string",
  • "jobBagNumber": "string",
  • "businessAreaId": 0,
  • "businessAreaName": "string",
  • "jobBagTypeId": 0,
  • "jobBagTypeName": "string",
  • "campaignId": 0,
  • "campaignName": "string",
  • "ownerUserId": 0,
  • "ownedByUser": "string",
  • "ownedByUserEmail": "string",
  • "completionDate": "2019-08-24T14:15:22Z",
  • "properties": [
    ],
  • "createdByUser": "string",
  • "createdAtUtc": "2019-08-24T14:15:22Z"
}

Jobs Folders

Authorizations:
Bearer
path Parameters
version
required
string [ 1 .. 100 ] characters

Version of API

customerId
required
string [ 1 .. 100 ] characters

Customer ID

jobBagId
required
integer <int32>
Default: 0

Job Bag ID

Responses

Response samples

Content type
{
  • "id": 0,
  • "jobBagId": 0,
  • "name": "string",
  • "parentFolderId": 0,
  • "parentFolderName": "string",
  • "subFolders": [
    ]
}

Approved Files

Authorizations:
Bearer
path Parameters
version
required
string [ 1 .. 100 ] characters

Version of API

customerId
required
string [ 1 .. 100 ] characters

Customer ID

jobBagId
required
integer <int32>
Default: 0

Job Bag ID

Responses

Response samples

Content type
[
  • {
    }
]

Reports

Jobs&Tasks

Authorizations:
Bearer
path Parameters
version
required
string [ 1 .. 100 ] characters

Version of API

customerId
required
integer <int32>
Default: 0

Customer ID

Request Body schema:
startDate
string or null <date-time>
endDate
string or null <date-time>
businessAreaIds
Array of integers or null <int32>
reportableUserIds
Array of integers or null <int32>
checklistTypeId
integer or null <int32>

Responses

Request samples

Content type
{
  • "startDate": "2019-08-24T14:15:22Z",
  • "endDate": "2019-08-24T14:15:22Z",
  • "businessAreaIds": [
    ],
  • "reportableUserIds": [
    ],
  • "checklistTypeId": 0
}

Expiry

Authorizations:
Bearer
path Parameters
version
required
string [ 1 .. 100 ] characters

Version of API

customerId
required
integer <int32>
Default: 0

Customer ID

Request Body schema:
startDate
string or null <date-time>
endDate
string or null <date-time>
businessAreaIds
Array of integers or null <int32>
reportableUserIds
Array of integers or null <int32>
checklistTypeId
integer or null <int32>

Responses

Request samples

Content type
{
  • "startDate": "2019-08-24T14:15:22Z",
  • "endDate": "2019-08-24T14:15:22Z",
  • "businessAreaIds": [
    ],
  • "reportableUserIds": [
    ],
  • "checklistTypeId": 0
}

archiveJobBagChecklist

Authorizations:
Bearer
path Parameters
version
required
string [ 1 .. 100 ] characters

Version of API

customerId
required
integer <int32>
Default: 0

Customer ID

Request Body schema:
startDate
string or null <date-time>
endDate
string or null <date-time>
businessAreaIds
Array of integers or null <int32>
reportableUserIds
Array of integers or null <int32>
checklistTypeId
integer or null <int32>
businessAreaId
integer <int32>

Responses

Request samples

Content type
{
  • "startDate": "2019-08-24T14:15:22Z",
  • "endDate": "2019-08-24T14:15:22Z",
  • "businessAreaIds": [
    ],
  • "reportableUserIds": [
    ],
  • "checklistTypeId": 0,
  • "businessAreaId": 0
}

Business Area

Business Areas

Authorizations:
Bearer
path Parameters
version
required
string [ 1 .. 100 ] characters

Version of API

customerId
required
string [ 1 .. 100 ] characters

Customer ID

Responses

Response samples

Content type
[
  • {
    }
]

Custom Fields

List of Custom Field Lookups

Authorizations:
Bearer
path Parameters
version
required
string [ 1 .. 100 ] characters

Version of API

customerId
required
string [ 1 .. 100 ] characters

Customer ID

businessAreaId
required
integer <int32>
Default: 0

Business Area ID

customFieldId
required
integer <int32>
Default: 0

Custom Field ID

Responses

Response samples

Content type
[
  • {
    }
]

Job Files

Create Job File

Authorizations:
Bearer
path Parameters
version
required
string [ 1 .. 100 ] characters

Version of API

customerId
required
string [ 1 .. 100 ] characters

Customer ID

jobBagId
required
string [ 1 .. 100 ] characters

Job Bag ID

Request Body schema: multipart/form-data
businessAreaId
integer <int32>
folderId
integer <int32>
file
string <binary>

Responses

Response samples

Content type
{
  • "id": 0
}

List of Job Files

Authorizations:
Bearer
path Parameters
version
required
string [ 1 .. 100 ] characters

Version of API

customerId
required
string [ 1 .. 100 ] characters

Customer ID

jobBagId
required
string [ 1 .. 100 ] characters

Job Bag ID

Responses

Response samples

Content type
[
  • {
    }
]

Job File

Authorizations:
Bearer
path Parameters
version
required
string [ 1 .. 100 ] characters

Version of API

customerId
required
string [ 1 .. 100 ] characters

Customer ID

jobBagId
required
integer <int32>
Default: 0

Job Bag ID

fileId
required
integer <int32>
Default: 0

File ID

Responses

Update Job File

Authorizations:
Bearer
path Parameters
version
required
string [ 1 .. 100 ] characters

Version of API

customerId
required
string [ 1 .. 100 ] characters

Customer ID

jobBagId
required
integer <int32>
Default: 0

Job Bag ID

fileId
required
integer <int32>
Default: 0

File ID

Request Body schema: multipart/form-data
name
string
folderId
integer <int32>
file
string <binary>

Responses

Response samples

Content type
[
  • {
    }
]

Job Types

Job Types

Authorizations:
Bearer
path Parameters
version
required
string [ 1 .. 100 ] characters

Version of API

customerId
required
string [ 1 .. 100 ] characters

Customer ID

businessAreaId
required
string [ 1 .. 100 ] characters

Business Area ID

Responses

Response samples

Content type
No sample

Get Job Type

Authorizations:
Bearer
path Parameters
version
required
string [ 1 .. 100 ] characters

Version of API

customerId
required
string [ 1 .. 100 ] characters

Customer ID

businessAreaId
required
string [ 1 .. 100 ] characters

Business Area ID

id
required
integer <int32>
Default: 0

Job Bag Type ID

Responses

Response samples

Content type
No sample