Download OpenAPI specification:Download
Welcome to the IPRO Public API.
You can use SwaggerUI to test requests.
There is a sample usage script in JavaScript. To run it you'll need node.js 14+ with axios package installed.
An example demonstrating advanced export workflows is also available.
Example scripts for chunked file upload are provided for PowerShell and bash.
To authenticate, a Public API client must be created in the IPRO Enterprise website, under System Manager. Only users in the "SuperAdmin" group can create Public API Clients.
The client_id
and client_secret
set, during the API client creation, can be used to obtain a token. (example script here)
APIs are secured using bearer JSON Web Tokens (JWTs), issued by IPRO Identity Server. The token is expected to be in the Authorization
header of a request. The value is expected to have the bearer JWT.
Example header:
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
Tokens can be retrieved from the IPRO Identity Server using OAuth2.0
flow with client credentials
grant type. The token endpoint can be found in the configuration discovery document. Example URL: https://<your_url>/auth/.well-known/openid-configuration
.
API endpoints are documented with the scopes required to access. The scopes must be requested when sending the below client credentials request to IPRO Identity Server.
The below request example can be used to obtain a token. Replace Host
, client_id
, and client_secret
with actual values.
POST /auth/connect/token HTTP/1.1
Host: example-site.ipro.com
Content-Type: application/x-www-form-urlencoded
grant_type=client_credentials
&client_id=xxxxxxxx
&client_secret=xxxxxxxx
&scope=ipro.papi%20ipro.api%20ipro.superadmin
You can check what is the current version via OpenAPI description document's info.version
value.
Typical version looks like v1.3
, where:
v1
is a major version. It corresponds to server URL prefix where API is accessible: https://<host>/v1/cases
. It is incremented when the contract introduces any breaking changes..3
is a minor version. It is incremented for non-breaking changes.Special type is a preview version. For example, v1.0-preview.1
is a preview version for v1.0
. Any changes between preview versions v1.0-preview.2
and v1.0-preview.1
might be backward incompatible.
All responses follow the format:
{
"data": {},
"error": {
"code": "API0012",
"message": "An error occurred. See logs for further details.",
"exceptionMessage": "One or more errors occurred. (Failed to subscribe. ResponseErrorMsg=[Object cannot be cast from DBNull to other types.])"
},
"pagination": {}
}
data
is not present or null if there is an errorerror
is not present or null if there is no errorpagination
is present only for paginated collectionsRequests that return multiple results will be paginated to 100 items by default. You can use the pageNumber
parameter to specify which page of data to retrieve. Pages start from 1.
To set page size, you use the pageSize
query param. This sets the maximum page size. Please note that this does not guarantee that, that many items will be returned, even if there are more items than the maximum page size. It does guarantee that no more than the number provided will be returned.
API responses return pre-built pagination links first
, prev
, next
and last
and client applications are encouraged to follow these links for pagination.
All filtering for collections uses filter
query parameter. Beware, not all collections support all filtering capabilities described in this section.
Example: &filter=name@=awesome title,jobType==imaging
(items with a name that contains the phrase "awesome title"
and jobType
equals "imaging"
)
filter
is a comma-delimited list of {Name}{Operator}{Value}
where
{Name}
is the name of a property. You can also have multiple names (for OR logic) by using a pipe delimiter and parentheses, eg. (LikeCount|CommentCount) > 10
asks if LikeCount
or CommentCount
is >10
{Operator}
is one of the supported operators.{Value}
is the value to use for filtering. You can also have multiple values (for OR logic) by using a pipe delimiter, eg. Title@=new|hot
will return items with titles that contain the text "new"
or "hot"
.Notes:
{Name}
or {Operator}
fields..
between property names, such as: queue.pending>=10
.Operators:
Operator | Meaning |
---|---|
!= |
not equals |
!@= |
does not contain |
!@=* |
case-insensitive string does not contain |
!_= |
does not Starts with |
!_=* |
case-insensitive string does not starts with |
< |
less than |
<= |
less than or equal to |
== |
equals |
==* |
case-insensitive string equals |
> |
greater than |
>= |
greater than or equal to |
@= |
contains |
@=* |
case-insensitive string contains |
_= |
starts with |
_=* |
case-insensitive string starts with |
If not stated otherwise, the main method for update is using PATCH
with JSON Merge Patch format. Refer to the brief explanation here.
You may notice that some fields are still required in update requests, for example schedule.type
. Generally, this can be expected for fields in nested and/or polymorphic objects because we want to make sure that change is intentional and doesn't cause unexpected side-effects.
Some operations are marked as asynchronous, because they might require some time to complete. Such operations return operationLocation
link in the response, which can be used to track operation status (see Operations for details).
Checking operation status via operation endpoint follows polling pattern. But we also support webhooks. The workflow is (for example, case creation):
Most of the events can be traced back to the requests that triggered them via correlation id.
Workflow Reports
-> Workflow Status
Enterprise.Report.Executed
POST /cases
capabilities.ingestion.baseCase.includeAllExportSeries
capabilities.ingestion.exportErrorDocuments
capabilities.ingestion.exportIntervalMinutes
GET /cases/{id}
data.capabilities.ingestion.activeExportSeriesId
data.capabilities.ingestion.exportErrorDocuments
data.capabilities.ingestion.exportIntervalMinutes
PATCH /cases/{id}
capabilities.eda.enabled
capabilities.ingestion
capabilities.review
GET /cases/{id}/workflows/ingestion and GET /workflows/ingestion
data.items[*].activeExportSeriesId
data.items[*].documentCount
GET /workflows/ingestion/{id}
data.activeExportSeriesId
data.documentCount
Use connectors to structure data ownership. There are several categories of connectors:
Retrieve a list of all connectors for a client.
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
{- "data": {
- "items": [
- {
- "id": "1348686567445",
- "name": "Standard Archive",
- "category": "ARCHIVE",
- "type": "ARCHIVE_EMAILS"
}, - {
- "id": "1348686567446",
- "name": "Dev share",
- "category": "LIVE",
- "type": "LIVE_WFS_2"
}, - {
- "id": "1348686567447",
- "name": "Dev share archive",
- "category": "ARCHIVE",
- "type": "ARCHIVE_FILES"
}
]
}
}
Allows uploading your own data for ingestion workflows.
To preserve data integrity, particularly document dates, only archive/container type files can be uploaded. An error will occur if you attempt to import a file that is not in an archive/container format. Allowed formats:
The upload API provides a way to reliably upload large files using chunked uploads. Client application uploads a file in parts, allowing it to recover from a failed requests. Thus, an application needs to retry the upload of a single chunk instead of the entire file. We also support uploading chunks concurrently.
Chunked uploads require a sequence of API calls to be made:
Create a new upload session for a file.
When a session is created successfully the response includes a session id, allowed chunk size, and how many chunks can be uploaded concurrently.
ipro.papi
ipro.api
ipro.superadmin
filename required | string non-empty |
fileSize required | integer >= 0 File size in bytes |
caseId required | string (Id) [ 1 .. 500 ] characters The resource identifier. The format varies for different resources. |
description | string This property can be used to store additional information about the upload for your own records. If not provided, it will be equal to filename. |
fileModifiedAt | string <date-time> Defines the time the file was last modified at. If not set, the upload time will be used. |
{- "filename": "index.zip",
- "fileSize": 70609,
- "caseId": "1",
- "description": "Index archive for Test Case",
- "fileModifiedAt": "2021-09-26T22:45:40.355Z"
}
{- "data": {
- "id": "1",
- "concurrentChunksPerUpload": 4,
- "chunkSize": 8388608
}
}
Upload a chunk of an upload session for a file.
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
currentChunkNumber required | integer >= 1 The index of the chunk in the current upload. First chunk is 1. |
chunkSize required | integer >= 0 The chunk size set during upload session creation. Note that the actual size of a chunk might be lower than this value for the last chunk. |
totalFileSize required | integer >= 0 |
totalNumberOfChunks required | integer >= 1 The total number of chunks. |
filename required | string non-empty |
file required | string <binary> |
{- "data": {
- "percentageCompleted": 100
}
}
Check upload session status.
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
{- "data": {
- "id": "1",
- "filename": "index.zip",
- "fileSize": 70609,
- "path": "\\\\\\\\fs\\\\Upload\\\\upload1",
- "completed": false,
- "chunks": {
- "total": 5,
- "completed": 2,
- "status": [
- true,
- true,
- false,
- false,
- false
]
}, - "caseId": "1",
- "description": "Files for case 01"
}
}
Cancel an upload session and discard all data uploaded.
This cannot be reversed.
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
{- "data": { }
}
Retrieve a list of all managing clients.
ipro.papi
ipro.api
ipro.superadmin
{- "data": {
- "items": [
- {
- "name": "Larry, Moe, Curly and Associates",
- "id": "4f6cf35x-2c4y-483z-a0a9-158621f77a21"
}
]
}
}
Retrieve a managing client.
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
{- "data": {
- "name": "Larry, Moe, Curly and Associates",
- "id": "4f6cf35x-2c4y-483z-a0a9-158621f77a21"
}
}
Retrieve a list of clients.
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
{- "data": {
- "items": [
- {
- "id": "89d6c100-8322-4a45-97ab-bb55c31ea1b2",
- "name": "PayPal",
- "managingClient": {
- "id": "4f6cf35x-2c4y-483z-a0a9-158621f77a21"
}
}
]
}
}
Retrieve a client.
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
{- "data": {
- "id": "89d6c100-8322-4a45-97ab-bb55c31ea1b2",
- "name": "PayPal",
- "managingClient": {
- "id": "4f6cf35x-2c4y-483z-a0a9-158621f77a21"
}
}
}
Event fires when case creation completes successfully
ipro.papi
ipro.api
ipro.superadmin
userExternalId | string User ID of the subscribed user |
userPrincipalName | string Username of the subscribed user |
batchSize | number The current size of the returned notifications (set in the user notification configuration) |
protocolVersion | number Protocol version of the Webhook. |
Array of objects (CaseCreated) [ items ] |
{- "userExternalId": "73a32201-aeaf-47f6-8e54-209d10687f92",
- "userPrincipalName": "jdoe@ipro.com",
- "batchSize": 10,
- "protocolVersion": 1,
- "notifications": [
- {
- "type": "Enterprise.Case.Created",
- "createdDate": "2021-08-24T14:16:01Z",
- "webHookId": 1,
- "payload": {
- "caseId": "6",
- "caseName": "Globex vs ATLN"
}
}
]
}
Event fires when case creation completes with error
ipro.papi
ipro.api
ipro.superadmin
userExternalId | string User ID of the subscribed user |
userPrincipalName | string Username of the subscribed user |
batchSize | number The current size of the returned notifications (set in the user notification configuration) |
protocolVersion | number Protocol version of the Webhook. |
Array of objects (CaseCreateFailed) [ items ] |
{- "userExternalId": "73a32201-aeaf-47f6-8e54-209d10687f92",
- "userPrincipalName": "jdoe@ipro.com",
- "batchSize": 10,
- "protocolVersion": 1,
- "notifications": [
- {
- "type": "Enterprise.Case.CreateFailed",
- "createdDate": "2021-08-24T14:16:01Z",
- "webHookId": 1,
- "payload": {
- "caseId": "6",
- "caseName": "Globex vs ATLN",
- "errorMessage": "An error occurred during case creation"
}
}
]
}
Event fires when updating an existing case completes successfully
ipro.papi
ipro.api
ipro.superadmin
userExternalId | string User ID of the subscribed user |
userPrincipalName | string Username of the subscribed user |
batchSize | number The current size of the returned notifications (set in the user notification configuration) |
protocolVersion | number Protocol version of the Webhook. |
Array of objects (CaseUpdated) [ items ] |
{- "userExternalId": "73a32201-aeaf-47f6-8e54-209d10687f92",
- "userPrincipalName": "jdoe@ipro.com",
- "batchSize": 10,
- "protocolVersion": 1,
- "notifications": [
- {
- "type": "Enterprise.Case.Updated",
- "createdDate": "2021-08-24T14:16:01Z",
- "webHookId": 1,
- "payload": {
- "caseId": "6",
- "caseName": "Globex v. ATLN"
}
}
]
}
Event fires when updating an existing case completes with error
ipro.papi
ipro.api
ipro.superadmin
userExternalId | string User ID of the subscribed user |
userPrincipalName | string Username of the subscribed user |
batchSize | number The current size of the returned notifications (set in the user notification configuration) |
protocolVersion | number Protocol version of the Webhook. |
Array of objects (CaseUpdateFailed) [ items ] |
{- "userExternalId": "73a32201-aeaf-47f6-8e54-209d10687f92",
- "userPrincipalName": "jdoe@ipro.com",
- "batchSize": 10,
- "protocolVersion": 1,
- "notifications": [
- {
- "type": "Enterprise.Case.UpdateFailed",
- "createdDate": "2021-08-24T14:16:01Z",
- "webHookId": 1,
- "payload": {
- "caseId": "6",
- "caseName": "Globex vs ATLN",
- "errorMessage": "The code name that you have chosen is already in use. Please use another name."
}
}
]
}
Event fires when deleting a case completes successfully
ipro.papi
ipro.api
ipro.superadmin
userExternalId | string User ID of the subscribed user |
userPrincipalName | string Username of the subscribed user |
batchSize | number The current size of the returned notifications (set in the user notification configuration) |
protocolVersion | number Protocol version of the Webhook. |
Array of objects (CaseDeleted) [ items ] |
{- "userExternalId": "73a32201-aeaf-47f6-8e54-209d10687f92",
- "userPrincipalName": "jdoe@ipro.com",
- "batchSize": 10,
- "protocolVersion": 1,
- "notifications": [
- {
- "type": "Enterprise.Case.Deleted",
- "createdDate": "2021-08-24T14:16:01Z",
- "webHookId": 1,
- "payload": {
- "caseId": "6",
- "caseName": "Globex v. ATLN"
}
}
]
}
Event fires when deleting a case completes with error
ipro.papi
ipro.api
ipro.superadmin
userExternalId | string User ID of the subscribed user |
userPrincipalName | string Username of the subscribed user |
batchSize | number The current size of the returned notifications (set in the user notification configuration) |
protocolVersion | number Protocol version of the Webhook. |
Array of objects (CaseDeleteFailed) [ items ] |
{- "userExternalId": "73a32201-aeaf-47f6-8e54-209d10687f92",
- "userPrincipalName": "jdoe@ipro.com",
- "batchSize": 10,
- "protocolVersion": 1,
- "notifications": [
- {
- "type": "Enterprise.Case.DeleteFailed",
- "createdDate": "2021-08-24T14:16:01Z",
- "webHookId": 1,
- "payload": {
- "caseId": "6",
- "caseName": "Globex vs ATLN",
- "errorMessage": "An error occurred while deleting the case."
}
}
]
}
Retrieve a list of cases for a client.
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
{- "data": {
- "items": [
- {
- "id": "1",
- "name": "Case 01",
- "hierarchy": {
- "managingClient": {
- "id": "4f6cf35x-2c4y-483z-a0a9-158621f77a21"
}, - "client": {
- "id": "89d6c100-8322-4a45-97ab-bb55c31ea1b2"
}
}
}
]
}
}
Retrieve a list of all connectors for a client.
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
{- "data": {
- "items": [
- {
- "id": "1348686567445",
- "name": "Standard Archive",
- "category": "ARCHIVE",
- "type": "ARCHIVE_EMAILS"
}, - {
- "id": "1348686567446",
- "name": "Dev share",
- "category": "LIVE",
- "type": "LIVE_WFS_2"
}, - {
- "id": "1348686567447",
- "name": "Dev share archive",
- "category": "ARCHIVE",
- "type": "ARCHIVE_FILES"
}
]
}
}
Retrieve a list of all cases.
ipro.papi
ipro.api
ipro.superadmin
{- "data": {
- "items": [
- {
- "id": "1",
- "name": "Case 01",
- "hierarchy": {
- "managingClient": {
- "id": "2"
}, - "client": {
- "id": "8"
}
}
}, - {
- "id": "2",
- "name": "Case 02",
- "hierarchy": {
- "managingClient": {
- "id": "2"
}, - "client": {
- "id": "8"
}
}
}
]
}
}
Create a new case.
This operation is asynchronous. To check the status use operations endpoint or subscribe to events via webhooks.
ipro.papi
ipro.api
ipro.superadmin
name required | string non-empty ^[^~!@#$%^&*()+=\[\]{}";:\\|,.<>\/?]+$ |
required | object |
required | object |
{- "name": "Case-01",
- "hierarchy": {
- "managingClient": {
- "name": "Brown, Brown, & Brown"
}, - "client": {
- "name": "AMC Entertainment Holdings, Inc.",
- "dataLocation": "\\\\network-share\\pathToFolder\\AMC"
}, - "onlyUseExisting": false
}, - "capabilities": {
- "ingestion": {
- "enabled": true,
- "baseCase": {
- "id": "1",
- "includeAllExportSeries": true
}, - "exportErrorDocuments": true,
- "exportIntervalMinutes": 60
}, - "review": {
- "enabled": true,
- "baseCase": {
- "id": "1"
}, - "dataLocation": "\\\\network-share\\pathToFolder\\AMC-Entertainment\\Case-01\\Review"
}, - "eda": {
- "enabled": true,
- "baseCase": {
- "id": "1"
}, - "connectors": [
- {
- "id": "1348686521849"
}
], - "custodians": [
- {
- "id": "aaron@amcentertainment.com"
}
]
}
}
}
{- "data": {
- "operationLocation": "string"
}
}
Retrieve a case.
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
{- "data": {
- "id": "1",
- "name": "Case 01",
- "hierarchy": {
- "managingClient": {
- "id": "2"
}, - "client": {
- "id": "8"
}
}, - "capabilities": {
- "ingestion": {
- "enabled": true,
- "activeExportSeriesId": "1",
- "exportIntervalMins": 30,
- "exportErrorDocuments": true
}, - "review": {
- "enabled": true,
- "dataLocation": "\\\\network-share\\path\\to\\storage"
}, - "eda": {
- "enabled": true,
- "connectors": [
- {
- "id": "1348686567445"
}
], - "custodians": [
- {
- "id": "bbanner@avengers.com"
}, - {
- "id": "tstark@avengers.com"
}, - {
- "id": "srogers@avengers.com"
}
]
}
}
}
}
Update a case using JSON Merge Patch.
This operation is asynchronous. To check the status use operations endpoint or subscribe to events via webhooks.
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
name | string non-empty ^[^~!@#$%^&*()+=\[\]{}";:\\|,.<>\/?]+$ |
object |
{- "name": "Updated Case Name"
}
{- "data": {
- "operationLocation": "string"
}
}
Delete a case. If the case has additional temporary locations or workflows attached, they will also be deleted.
This operation is asynchronous. To check the status use operations endpoint or subscribe to events via webhooks.
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
{- "data": {
- "operationLocation": "string"
}
}
APIs for managing export series in the context of a case's ingestion capability.
Export series are added during case creation. If using a base case template with includeAllExportSeries
property set to True
, and creating a new client, the existing series from the base case's client will be copied. Otherwise, the existing series in the client will be available. If Ingestion and Review capabilities are enabled, then a default export series will be created to push data to Review.
More than one case can reference the same export series under the same client.
Retrieve export series.
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
{- "data": {
- "items": [
- {
- "id": "1",
- "name": "Direct to Review 01",
- "isActiveExportSeries": true
}, - {
- "id": "2",
- "name": "Direct to Disk 01",
- "isActiveExportSeries": false
}, - {
- "id": "3",
- "name": "Direct to Disk 02",
- "isActiveExportSeries": false
}
]
}
}
Get the output and numbering settings for an Export Series
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
{- "id": "15",
- "name": "Export to Review - 18",
- "output": {
- "location": "\\\\server\\export\\1",
- "useWorkflowStorage": false
}, - "numbering": {
- "useFilename": false,
- "nextAvailableNumber": "DOC_00000001"
}
}
Update the settings of an export series
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
name | string non-empty |
object | |
object |
{- "output": {
- "location": "\\\\server\\export\\1"
}, - "numbering": {
- "formatting": {
- "prefix": "DOC",
- "delimiter": "UNDERSCORE",
- "nextNumber": "00000001"
}
}
}
{- "data": { }
}
Delete an export series. Existing export workflows will not be deleted.
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
{- "data": { }
}
Ingestion workflows can be configured to push data into a Review case, or to disk, or to Relativity (Load File).
ipro.papi
ipro.api
ipro.superadmin
userExternalId | string User ID of the subscribed user |
userPrincipalName | string Username of the subscribed user |
batchSize | number The current size of the returned notifications (set in the user notification configuration) |
protocolVersion | number Protocol version of the Webhook. |
Array of objects (IngestionWorkflowStarted) [ items ] |
{- "userExternalId": "73a32201-aeaf-47f6-8e54-209d10687f92",
- "userPrincipalName": "jdoe@ipro.com",
- "batchSize": 10,
- "protocolVersion": 1,
- "notifications": [
- {
- "type": "Ingestion.Workflow.Started",
- "createdDate": "2021-08-24T14:16:01Z",
- "webHookId": 1,
- "payload": {
- "workflowId": "164",
- "workflowName": "Ariana Akers - PST",
- "caseId": "15",
- "clientId": "4",
- "clientName": "Heroes LLP",
- "custodianName": "Ariana Akers"
}
}
]
}
ipro.papi
ipro.api
ipro.superadmin
userExternalId | string User ID of the subscribed user |
userPrincipalName | string Username of the subscribed user |
batchSize | number The current size of the returned notifications (set in the user notification configuration) |
protocolVersion | number Protocol version of the Webhook. |
Array of objects (IngestionWorkflowCompleted) [ items ] |
{- "userExternalId": "73a32201-aeaf-47f6-8e54-209d10687f92",
- "userPrincipalName": "jdoe@ipro.com",
- "batchSize": 10,
- "protocolVersion": 1,
- "notifications": [
- {
- "type": "Ingestion.Workflow.Completed",
- "createdDate": "2021-08-24T14:16:01Z",
- "webHookId": 1,
- "payload": {
- "workflowId": "164",
- "workflowName": "Ariana Akers - PST",
- "caseId": "15",
- "clientId": "4",
- "clientName": "Heroes LLP",
- "custodianName": "Ariana Akers"
}
}
]
}
Retrieve a list of all ingestion workflows.
Currently filter requires filtering by caseId==
ipro.papi
ipro.api
ipro.superadmin
filter required | string Comma-delimited list of filters, see documentation for details. |
{- "data": {
- "items": [
- {
- "id": "1",
- "name": "Workflow Name - bbanner@avengers.com",
- "caseId": "2",
- "custodian": "bbanner@avengers.com",
- "paths": [
- "\\\\host-name\\share-name\\file_path1",
- "\\\\host-name\\share-name\\file_path2"
], - "activeExportSeriesId": "123"
}, - {
- "id": "2",
- "name": "Workflow Name - Tony Stark",
- "caseId": "2",
- "custodian": "Tony Stark",
- "paths": [
- "\\\\host-name\\share-name\\file_path3"
], - "activeExportSeriesId": "456"
}
]
}
}
Create new ingestion workflow(s). One workflow will be created for each custodian/path(s) passed in. Workflows are automatically started upon creation.
ipro.papi
ipro.api
ipro.superadmin
name required | string non-empty |
caseId required | string (Id) [ 1 .. 500 ] characters The resource identifier. The format varies for different resources. |
required | Array of PathsDataLocation (object) or UploadDataLocation (object) [ 1 .. 10 ] items [ items ] Each object passed in will be used to create a single workflow. A maximum of ten (10) workflows are allowed per request. |
{- "name": "Ingestion workflow",
- "caseId": "2",
- "dataLocations": [
- {
- "custodian": "bbanner@avengers.com",
- "paths": [
- "\\\\host-name\\share-name\\file_path1",
- "\\\\host-name\\share-name\\file_path2"
], - "activeExportSeriesId": "123"
}, - {
- "custodian": "Tony Stark",
- "paths": [
- "\\\\host-name\\share-name\\file_path3"
]
}, - {
- "custodian": "Tony Stark",
- "uploadSessionId": "100"
}
]
}
{- "data": {
- "items": [
- {
- "data": {
- "id": "101"
}
}, - {
- "error": {
- "code": "IngestionWorkflowCreationFailed",
- "message": "Failed to create ingestion workflow with values (custodian: Tony Stark | paths: [ \\\\host-name\\share-name\\file_path3 ])"
}
}
]
}
}
Retrieve a list of all ingestion workflows for a case
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
{- "data": {
- "items": [
- {
- "id": "1",
- "name": "Workflow 1",
- "caseId": "2",
- "custodian": "bbanner@avengers.com",
- "paths": [
- "\\\\host-name\\share-name\\file_path1",
- "\\\\host-name\\share-name\\file_path2"
], - "activeExportSeriesId": "123"
}, - {
- "id": "2",
- "name": "Workflow 2",
- "caseId": "2",
- "custodian": "tstark@avengers.com",
- "paths": [
- "\\\\host-name\\share-name\\file_path3"
], - "activeExportSeriesId": "456"
}
]
}
}
Retrieve an ingestion workflow.
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
{- "data": {
- "id": "1",
- "name": "Workflow 1",
- "caseId": "2",
- "custodian": "bbanner@avengers.com",
- "paths": [
- "\\\\host-name\\share-name\\file_path1",
- "\\\\host-name\\share-name\\file_path2"
], - "activeExportSeriesId": "123",
- "documentCount": 42
}
}
Pause an ingestion workflow. By default, pauses an entire ingestion workflow and all jobs within. Optional properties can be provided to pause specific job types in the workflow.
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
streaming | boolean Default: true Apply action to the streaming job(s) within the ingestion workflow. |
export | boolean Default: true Apply action to the export job(s) within the ingestion workflow. |
{- "streaming": true,
- "export": true
}
{- "data": { }
}
Resume an ingestion workflow. By default, resumes an entire ingestion workflow and all jobs within. Optional properties can be provided to resume specific job types in the workflow.
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
streaming | boolean Default: true Apply action to the streaming job(s) within the ingestion workflow. |
export | boolean Default: true Apply action to the export job(s) within the ingestion workflow. |
{- "streaming": true,
- "export": true
}
{- "data": { }
}
Cancel an ingestion workflow. By default, cancels the workflow and all jobs within. Optional properties can be provided to cancel specific job types in the workflow. Cancelled jobs will be deleted. The ingestion workflow will also be deleted when all jobs are cancelled.
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
streaming | boolean Default: true Apply action to the streaming job(s) within the ingestion workflow. |
export | boolean Default: true Apply action to the export job(s) within the ingestion workflow. |
{- "streaming": true,
- "export": true
}
{- "data": { }
}
Export workflows allow for advanced export of specific documents into a Review case, or to disk, or to Relativity (Load File).
Documents are provided to the export workflow.
ipro.papi
ipro.api
ipro.superadmin
userExternalId | string User ID of the subscribed user |
userPrincipalName | string Username of the subscribed user |
batchSize | number The current size of the returned notifications (set in the user notification configuration) |
protocolVersion | number Protocol version of the Webhook. |
Array of objects (ExportWorkflowStarted) [ items ] |
{- "userExternalId": "73a32201-aeaf-47f6-8e54-209d10687f92",
- "userPrincipalName": "jdoe@ipro.com",
- "batchSize": 10,
- "protocolVersion": 1,
- "notifications": [
- {
- "type": "Export.Workflow.Started",
- "createdDate": "2021-08-24T14:16:01Z",
- "webHookId": 1,
- "payload": {
- "workflowId": "164",
- "workflowName": "Ariana Akers - Export",
- "caseId": "15",
- "clientId": "4",
- "clientName": "Heroes LLP"
}
}
]
}
ipro.papi
ipro.api
ipro.superadmin
userExternalId | string User ID of the subscribed user |
userPrincipalName | string Username of the subscribed user |
batchSize | number The current size of the returned notifications (set in the user notification configuration) |
protocolVersion | number Protocol version of the Webhook. |
Array of objects (ExportWorkflowCompleted) [ items ] |
{- "userExternalId": "73a32201-aeaf-47f6-8e54-209d10687f92",
- "userPrincipalName": "jdoe@ipro.com",
- "batchSize": 10,
- "protocolVersion": 1,
- "notifications": [
- {
- "type": "Export.Workflow.Completed",
- "createdDate": "2021-08-24T14:16:01Z",
- "webHookId": 1,
- "payload": {
- "workflowId": "164",
- "workflowName": "Ariana Akers - Export",
- "caseId": "15",
- "clientId": "4",
- "clientName": "Heroes LLP"
}
}
]
}
Retrieve a list of all export workflows.
Currently filter requires filtering by caseId==
ipro.papi
ipro.api
ipro.superadmin
filter required | string Comma-delimited list of filters, see documentation for details. |
{- "data": {
- "items": [
- {
- "id": "1",
- "name": "Workflow Name - bbanner@avengers.com",
- "caseId": "2",
- "activeExportSeriesId": "123"
}, - {
- "id": "2",
- "name": "Workflow Name - tstark@avengers.com",
- "caseId": "2",
- "activeExportSeriesId": "456"
}
]
}
}
Create new export workflow. The workflow is automatically started upon creation.
ipro.papi
ipro.api
ipro.superadmin
name required | string non-empty |
caseId required | string (Id) [ 1 .. 500 ] characters The resource identifier. The format varies for different resources. |
activeExportSeriesId required | string (Id) [ 1 .. 500 ] characters The resource identifier. The format varies for different resources. |
required | Array of objects (ResourceId) non-empty [ items ] List of processed documents from an Ingestion workflow, referenced by the item id. |
{- "name": "Export Workflow example",
- "caseId": "2",
- "activeExportSeriesId": "4",
- "documents": [
- {
- "id": "10"
}, - {
- "id": "11"
}, - {
- "id": "13"
}
]
}
{- "data": {
- "id": "101"
}
}
Retrieve an export workflow.
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
{- "data": {
- "id": "1",
- "name": "Export Workflow 1",
- "caseId": "2",
- "activeExportSeriesId": "123",
- "documentCount": 42,
- "path": "\\\\export\\path"
}
}
Retrieve a list of all export workflows by case
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
{- "data": {
- "items": [
- {
- "id": "1",
- "name": "Export Workflow 1",
- "caseId": "2",
- "activeExportSeriesId": "1"
}, - {
- "id": "2",
- "name": "Export Workflow 2",
- "caseId": "2",
- "activeExportSeriesId": "2"
}
]
}
}
Retrieve documents associated with an export workflow.
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
{- "data": {
- "items": [
- {
- "id": "1"
}, - {
- "id": "2"
}
]
}
}
Pause an export workflow
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
{- "data": { }
}
Resume an export workflow
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
{- "data": { }
}
Cancel an export workflow. Cancelled jobs will be deleted.
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
{- "data": { }
}
ipro.papi
ipro.api
ipro.superadmin
userExternalId | string User ID of the subscribed user |
userPrincipalName | string Username of the subscribed user |
batchSize | number The current size of the returned notifications (set in the user notification configuration) |
protocolVersion | number Protocol version of the Webhook. |
Array of objects (OcrWorkflowStarted) [ items ] |
{- "userExternalId": "73a32201-aeaf-47f6-8e54-209d10687f92",
- "userPrincipalName": "jdoe@ipro.com",
- "batchSize": 10,
- "protocolVersion": 1,
- "notifications": [
- {
- "type": "OCR.Workflow.Started",
- "createdDate": "2022-03-24T14:14:21Z",
- "webHookId": 1,
- "payload": {
- "workflowId": "5e98789b11cb4147b69071ad01771888",
- "workflowName": "OCR Workflow Example"
}
}
]
}
ipro.papi
ipro.api
ipro.superadmin
userExternalId | string User ID of the subscribed user |
userPrincipalName | string Username of the subscribed user |
batchSize | number The current size of the returned notifications (set in the user notification configuration) |
protocolVersion | number Protocol version of the Webhook. |
Array of objects (OcrWorkflowCompleted) [ items ] |
{- "userExternalId": "73a32201-aeaf-47f6-8e54-209d10687f92",
- "userPrincipalName": "jdoe@ipro.com",
- "batchSize": 10,
- "protocolVersion": 1,
- "notifications": [
- {
- "type": "Ocr.Workflow.Completed",
- "createdDate": "2022-03-24T14:22:51Z",
- "webHookId": 1,
- "payload": {
- "workflowId": "3756a974e9c5429eadd7df15858bd862",
- "workflowName": "OCR Workflow Example"
}
}
]
}
Retrieve a list of all OCR workflows.
ipro.papi
ipro.api
ipro.superadmin
pageNumber | integer >= 1 Default: 1 The collection page number |
pageSize | integer [ 1 .. 100 ] Default: 100 The number of items to return per page |
{- "data": {
- "items": [
- {
- "id": "14efa002902e475fb12efbf422783f49",
- "name": "OCR - JS921",
- "path": "\\\\server-name\\path\\to\\images\\921",
- "ocrLanguages": [
- "EN"
], - "documentCount": 4
}, - {
- "id": "e3e3aac572ae4c23b75722aab41bf88f",
- "name": "OCR - JS922",
- "path": "\\\\server-name\\path\\to\\images\\922",
- "ocrLanguages": [
- "EN",
- "ES"
], - "documentCount": 23
}
]
}, - "pagination": {
- "totalCount": 2,
- "pageNumber": 1,
- "pageSize": 10,
- "self": {
- "href": "/api/v1/workflows/ocr?pageSize=10&pageNumber=1"
}, - "next": {
- "href": "/api/v1/workflows/ocr?pageSize=10&pageNumber=2"
}, - "first": {
- "href": "/api/v1/workflows/ocr?pageSize=10&pageNumber=1"
}, - "last": {
- "href": "/api/v1/workflows/ocr?pageSize=10&pageNumber=1"
}
}
}
Create new OCR workflow. The workflow is automatically started upon creation.
ipro.papi
ipro.api
ipro.superadmin
name required | string non-empty |
path required | string non-empty UNC path to the location OCR will be performed on. |
ocrLanguages | Array of strings (OcrLanguages) non-empty Languages to use during OCR of images. Will default to using English ( Enum values:
|
{- "name": "OCR - JS923",
- "path": "\\\\server-name\\path\\to\\images\\923"
}
{- "data": {
- "id": "69483da174974970b86e971f69e5dbbe"
}
}
Retrieve an OCR workflow.
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
{- "data": {
- "id": "c5c032eb317a4a1eb8ee50d099684e4c",
- "name": "OCR - JS921",
- "path": "\\\\server-name\\path\\to\\images\\921",
- "ocrLanguages": [
- "EN"
], - "documentCount": 4
}
}
Pause an OCR workflow
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
{- "data": { }
}
Resume an OCR workflow
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
{- "data": { }
}
Cancel an OCR workflow. Workflow will persist after cancellation.
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
{- "data": { }
}
Retrieve status of the workflow.
ipro.papi
ipro.api
ipro.superadmin
workflowType required | string non-empty The workflow type Possible values: ingestion, export, ocr |
id required | string [ 1 .. 500 ] characters The resource identifier string |
{- "data": {
- "workflowType": "INGESTION",
- "status": "COMPLETED",
- "createdAt": "2021-08-24T14:15:22Z",
- "startedAt": "2021-08-24T14:16:01Z",
- "completedAt": "2021-08-24T14:20:15Z",
- "errorCounts": {
- "total": 2
}, - "jobs": [
- {
- "name": "Volume001 Ingestion",
- "type": "STREAMING",
- "status": "COMPLETED"
}, - {
- "name": "Volume001 Ingestion - 01",
- "type": "EXPORT",
- "status": "COMPLETED"
}
]
}
}
Retrieve workflow errors.
ipro.papi
ipro.api
ipro.superadmin
workflowType required | string non-empty The workflow type Possible values: ingestion, export, ocr |
id required | string [ 1 .. 500 ] characters The resource identifier string |
{- "data": {
- "items": [
- {
- "id": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
- "category": "STREAMING_NODE",
- "jobType": "STREAMING",
- "message": "Node \"ErrorNode\" failed: Node failed to ingest"
}
]
}
}
Event fires when a report execution completes (payload contains success details)
ipro.papi
ipro.api
ipro.superadmin
userExternalId | string User ID of the subscribed user |
userPrincipalName | string Username of the subscribed user |
batchSize | number The current size of the returned notifications (set in the user notification configuration) |
protocolVersion | number Protocol version of the Webhook. |
Array of objects (ReportExecuted) [ items ] |
{- "userExternalId": "73a32201-aeaf-47f6-8e54-209d10687f92",
- "userPrincipalName": "jdoe@ipro.com",
- "batchSize": 10,
- "protocolVersion": 1,
- "notifications": [
- {
- "type": "Enterprise.Report.Executed",
- "createdDate": "2022-02-24T15:32:43Z",
- "webHookId": 1,
- "payload": {
- "resultId": "42395da4-2179-4c8f-b899-860076290c74",
- "reportId": "2",
- "workflowId": "15",
- "workflowType": "ingestion",
- "success": true
}
}
]
}
Retrieve a list of available reports by workflow type.
ipro.papi
ipro.api
ipro.superadmin
workflowType required | string non-empty The workflow type Possible values: ingestion, export, ocr |
id required | string [ 1 .. 500 ] characters The resource identifier string |
{- "data": {
- "items": [
- {
- "id": "1",
- "name": "Discovery Summary Report",
- "description": "Summary of items discovered by item type and category."
}, - {
- "id": "2",
- "name": "Data Extract Item Summary",
- "description": "Summary of items processed by type and category."
}
]
}
}
Execute a workflow report by workflow type, workflow id, and report id.
This operation is asynchronous. To check the status use operations endpoint or subscribe to events via webhooks.
ipro.papi
ipro.api
ipro.superadmin
workflowType required | string non-empty The workflow type Possible values: ingestion, export, ocr |
id required | string [ 1 .. 500 ] characters The resource identifier string |
reportId required | string [ 1 .. 500 ] characters The resource identifier string |
{- "data": {
- "operationLocation": "string"
}
}
Retrieves result of an executed report. The result can be retrieved as JSON or CSV.
To retrieve report result as CSV, provide Accept
request header with value of text/csv
.
If no header is sent, then application/json
will be the default content type.
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
{- "fileType": [
- {
- "type": "PDF",
- "fileCount": 138,
- "totalSize": 4951727284
}, - {
- "type": "Outlook Message",
- "fileCount": 3402,
- "totalSize": 5622762906
}
], - "fileExtension": [
- {
- "extension": ".pdf",
- "fileCount": 138,
- "totalSize": 4951727284
}, - {
- "extension": ".msg",
- "fileCount": 3402,
- "totalSize": 5622762906
}
]
}
Retrieve status of the operation.
ipro.papi
ipro.api
ipro.superadmin
category required | string non-empty Operation category |
id required | string [ 1 .. 500 ] characters The resource identifier string |
{- "data": {
- "id": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
- "completed": false,
- "category": "exampleOperation"
}
}
Retrieve a list of all users.
ipro.papi
ipro.api
ipro.superadmin
pageNumber | integer >= 1 Default: 1 The collection page number |
pageSize | integer [ 1 .. 100 ] Default: 100 The number of items to return per page |
{- "data": {
- "items": [
- {
- "username": "string",
- "email": "string",
- "firstName": "string",
- "lastName": "string",
- "active": true,
- "id": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
- "accessToReview": true,
- "pendingPasswordReset": false
}
]
}, - "pagination": {
- "totalCount": 99,
- "pageNumber": 3,
- "pageSize": 10,
- "self": {
- "href": "/api/v1/collection?pageSize=10&pageNumber=3"
}, - "prev": {
- "href": "/api/v1/collection?pageSize=10&pageNumber=2"
}, - "next": {
- "href": "/api/v1/collection?pageSize=10&pageNumber=4"
}, - "first": {
- "href": "/api/v1/collection?pageSize=10&pageNumber=1"
}, - "last": {
- "href": "/api/v1/collection?pageSize=10&pageNumber=10"
}
}
}
Create a new user.
ipro.papi
ipro.api
ipro.superadmin
username required | string non-empty |
email required | string non-empty |
password required | string <password> non-empty Password must meet the complexity requirements set by the IPRO Identity Server |
firstName | string non-empty |
lastName | string non-empty |
active | boolean Default: true Whether the user has access to login |
accessToReview | boolean Default: true Whether the user has access to Review |
forcePasswordReset | boolean Default: false Requires the user to set a new password on next login |
{- "username": "jhalpert",
- "email": "jhalpert@dundermifflin.com",
- "password": "sTr0NgP@ssw0RD",
- "firstName": "Jim",
- "lastName": "Halpert"
}
{- "data": {
- "id": "4f6cf35x-2c4y-483z-a0a9-158621f77a21"
}
}
Retrieve a user.
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
{- "data": {
- "username": "string",
- "email": "string",
- "firstName": "string",
- "lastName": "string",
- "active": true,
- "id": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
- "accessToReview": true,
- "pendingPasswordReset": false
}
}
Update a user using JSON Merge Patch.
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
username | string non-empty |
string non-empty | |
firstName | string or null |
lastName | string or null |
active | boolean Whether the user has access to login |
accessToReview | boolean Whether the user has access to Review |
forcePasswordReset | boolean Requires the user to set a new password on next login. Once set to true, you cannot revert it to false until a user logs in and changes their password. |
{- "username": "string",
- "email": "string",
- "firstName": "string",
- "lastName": "string",
- "active": true,
- "accessToReview": true,
- "forcePasswordReset": true
}
{- "data": { }
}
Delete a user.
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
{- "data": { }
}
Retrieve a list of all groups.
ipro.papi
ipro.api
ipro.superadmin
pageNumber | integer >= 1 Default: 1 The collection page number |
pageSize | integer [ 1 .. 100 ] Default: 100 The number of items to return per page |
{- "data": {
- "items": [
- {
- "name": "string",
- "id": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
- "predefined": true,
- "userCount": 0
}
]
}, - "pagination": {
- "totalCount": 99,
- "pageNumber": 3,
- "pageSize": 10,
- "self": {
- "href": "/api/v1/collection?pageSize=10&pageNumber=3"
}, - "prev": {
- "href": "/api/v1/collection?pageSize=10&pageNumber=2"
}, - "next": {
- "href": "/api/v1/collection?pageSize=10&pageNumber=4"
}, - "first": {
- "href": "/api/v1/collection?pageSize=10&pageNumber=1"
}, - "last": {
- "href": "/api/v1/collection?pageSize=10&pageNumber=10"
}
}
}
Create a new group.
ipro.papi
ipro.api
ipro.superadmin
name required | string non-empty |
Array of objects (ResourceIdList) [ items ] |
{- "name": "Internal Reviewers",
- "permissions": [
- {
- "id": "1"
}, - {
- "id": "2"
}, - {
- "id": "3"
}
]
}
{- "data": {
- "id": "4f6cf35x-2c4y-483z-a0a9-158621f77a21"
}
}
Retrieve a group.
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
{- "data": {
- "name": "string",
- "id": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
- "predefined": true,
- "userCount": 0
}
}
Update a group using JSON Merge Patch.
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
name | string non-empty |
Array of objects (ResourceIdList) [ items ] |
{- "name": "New Group Name",
- "permissions": [
- {
- "id": "1"
}, - {
- "id": "2"
}
]
}
{- "data": { }
}
Delete a group.
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
{- "data": { }
}
Retrieve a list of the group's users.
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
{- "data": {
- "items": [
- {
- "username": "string",
- "email": "string",
- "firstName": "string",
- "lastName": "string",
- "active": true,
- "id": "4f6cf35x-2c4y-483z-a0a9-158621f77a21"
}
]
}
}
Set a group's users. Non-existing users are ignored. To remove all users from the group, send an empty list.
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
required | Array of objects (ResourceId) [ items ] |
{- "users": [
- {
- "id": "4f6cf35x-2c4y-483z-a0a9-158621f77a21"
}
]
}
{- "data": { }
}
Retrieve a list of the group's cases.
The list will be empty for predefined groups, since they have access to all cases.
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
{- "data": {
- "items": [
- {
- "id": "1"
}, - {
- "id": "2"
}
]
}
}
Set a group's cases.
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
required | Array of objects (ResourceIdList) [ items ] |
{- "cases": [
- {
- "id": "1"
}, - {
- "id": "2"
}
]
}
{- "data": { }
}
Retrieve a list of the group's assigned permissions.
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
{- "data": {
- "items": [
- {
- "id": "1",
- "name": "Tags Create",
- "category": "Review"
}, - {
- "id": "2",
- "name": "Tags Edit",
- "category": "Review"
}, - {
- "id": "3",
- "name": "View Users",
- "category": "System Administration"
}
]
}
}
Retrieve a list of permissions that can be assigned to a group on creation or update.
ipro.papi
ipro.api
ipro.superadmin
{- "data": {
- "items": [
- {
- "id": "1",
- "name": "Tags Create",
- "category": "Review"
}, - {
- "id": "2",
- "name": "Tags Edit",
- "category": "Review"
}, - {
- "id": "3",
- "name": "View Users",
- "category": "System Administration"
}
]
}
}
APIs subscribing users for webhook notifications. Currently only users who are members of the predefined SuperAdmin
group are supported.
Update a user notification configuration. If there was an active user subscription in place, update might trigger creation of the new subscription. In this case, a new subscription id will be returned.
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
webhookClientUrl required | string [ 1 .. 128 ] characters The URL exposed by the webhook client and ready to receive the subscribed user notifications. |
batchSize | integer [ 1 .. 100 ] Default: 10 Number of notifications to send to the subscribed user. For example:
|
protocolVersion | integer [ 1 .. 1 ] Default: 1 Protocol version of webhook to be used. |
{- "batchSize": 10,
- "protocolVersion": 1
}
{- "data": { }
}
Retrieve an active user's subscription information.
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
{- "data": {
- "subscriptionId": "2",
- "eventTypes": [
- {
- "id": "27",
- "name": "Ingestion.Workflow.Started"
}, - {
- "id": "28",
- "name": "Ingestion.Workflow.Completed"
}
], - "activatedDate": "2021-08-27T21:36:35.421Z",
- "channels": {
- "webhook": true
}, - "batchSize": 10,
- "protocolVersion": 1,
- "lastPushedWebhookIndex": 0
}
}
Update user's subscription.
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
required | object Channels user would like to be notified through. |
required | Array of objects non-empty [ items ] Event types user wants to subscribe to. |
{- "eventTypes": [
- {
- "id": "27"
}, - {
- "id": "28"
}
], - "channels": {
- "webhook": true
}
}
{- "data": {
- "subscriptionId": "2"
}
}
Cancel user's subscription. If there was an active user subscription, response will contain its id.
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
{- "data": { }
}
Retrieve a list of all subscribable event types for a particular user. These events can be used for configuring user subscriptions.
ipro.papi
ipro.api
ipro.superadmin
id required | string [ 1 .. 500 ] characters The resource identifier string |
{- "data": {
- "eventTypes": [
- {
- "id": "27",
- "name": "Ingestion.Workflow.Started"
}, - {
- "id": "28",
- "name": "Ingestion.Workflow.Completed"
}
]
}
}