Download OpenAPI specification:
APIs for external integrators to call SGTraDex for creation of data packages and data exchange.
SGTraDex provides a common set of APIs for integrating with pitstops.
The APIs are divided into the following categories:
SGTraDex provides the following utility APIs:
In addition to document/data element exchange, SGTraDex provides the capability for you to organize your data using folders, packages, and nodes (milestones and activities).
Currently SGTraDex has 2 levels of nodes:
The relevant APIs for the Folder, Package, and Node are available in the API specifications in later sections. Folder and Package APIs are available as both ingress and egress calls.
Note: you only need to implement these APIs if you intend to use the folders and package functionality.
Data Exchange in SGTraDex happens in an asynchronous fashion.
You can either request for data from another participant (PULL) or send data
directly to another participant (PUSH).
When requesting for data, the following are the sequence of events described by the diagram:
PULL
request to consuming pitstop
(Pitstop A) on SGTraDex.PROVIDE
call. If available, the
provider source system will respond with the requested data payload.RECEIVE
call
with the data payload.NOTIFY
call
to let the consuming source system know of the success/failure of the PULL
request.When sending data, the following are the sequence of events described by the diagram:
PUSH
call containing the data payload.RECEIVE
call
with the data payload.NOTIFY
call to
let the provider source system know of the success/failure of the PUSH
request.In addition to the above APIs, SGTraDex provides APIs to allow for simulation of data exchange events typically requiring an additional party; e.g. another particiapnt to pull your data or pushing data to you.
As such, there are 2 simulation APIs provided so you can conduct self-service testing without needing a 3rd party:
Note: These Simulation APIs are only available in the TEST and UAT environments, and not available in the Live Production environment.
To integrate successfully to SGTraDex, there are 2 types of APIs:
Ingress APIs are APIs provided by SGTraDex, and which your system will need to call.
Data Exchange APIs are used for sending and requesting for data. These are:
API | uri | Description |
---|---|---|
PULL | /data/pull/{dataElementId} |
Request to pull data from provider |
PUSH | /data/push/{dataElementId} |
Push data to pitstop |
STORE | /data/store/{dataElementId} |
Store data element in pitstop for subsequent use |
FORWARD | /data/forward/{dataElementId} |
Forward data existing in pitstop to another participant |
SUBSCRIBE | /data/subscribe/{dataElementId} |
Subscribe to data from provider |
Each of the APIs will take in a
dataElementId
path parameter to denote the Data Element type of the transaction. The Data Element type will determine thepayload
andparameters
attributes in your request/responses (see SCHEMAS for details).Data Element types are defined based on the use case they are in. Each use case defines the schema for the Data Elements.
Ingress Utility APIs are additional utility APIs provided by SGTraDex system.
API | uri | Description |
---|---|---|
HEALTH | /health |
Health check to see if pitstop is healthy. Will return 200 if pitstop is healthy. |
CONFIG | /config |
This will return the list of Data Elements / documents that your pitstop is configured to produce and consume, as well as the recipients that you have consented to share them with. |
UPLOAD FILES | /files |
Uploads file(s) to the pitstop Uploads the files in multipart format to the pitstop and return references to each of them for use to send the data. |
DOWNLOAD FILE | /files/{file_id} |
Downloads the binary file with the corresponding ID from the pitstop. |
Ingress Simulation APIs are additional utility APIs provided by SGTraDex system to facilitate self-service testing.
Note: only in TEST and UAT environments
API | uri | Description |
---|---|---|
SIMULATE PROVIDE | /simulate/provide/{dataElementId} |
Tells the mock server to initiate a pull of the data element ID with the correct parameters. |
SIMULATE RECEIVE | /simulate/receive/{dataElementId} |
Tells the mock server to initiate a push of the data element ID with the correct parameters. |
Each of the APIs will take in a
dataElementId
path parameter to denote the Data Element type of the transaction. The Data Element type will determine thepayload
andparameters
attributes in your request/responses (see SCHEMAS for details).Data Element types are defined based on the use case they are in. Each use case defines the schema for the Data Elements.
Egress APIs are APIs which SGTraDex pitstop will call your system.
Note: your system will need to provide these APIs for integration to be successful.
Data Exchange APIs are used for sending and receiving for data.
API | uri | Description |
---|---|---|
PROVIDE | /data/provide/{dataElementId} |
Request for source system to provide data |
RECEIVE | /data/receive/{dataElementId} |
Receive data from pitstop |
NOTIFY | /notify |
Notification from pitstop on the success/failure of previous request |
Each of the APIs will take in a
dataElementId
path parameter to denote the Data Element type of the transaction. The Data Element type will determine thepayload
andparameters
attributes in your request/responses (see SCHEMAS for details).Data Element types are defined based on the use case they are in. Each use case defines the schema for the Data Elements.
Egress Utility APIs are additional utility APIs which SGTraDex pitstop will call your system.
API | uri | Description |
---|---|---|
HEALTH | /health |
Pitstop will call source system to check if source system is healthy. |
NOTIFY | /notify |
Notification from pitstop on the success/failure of previous request |
The payload
and parameters
attributes in the various data exchange APIs
are available below:
CLICK HERE for the payload
and parameters
schemas for the various use cases.
SGTraDex's RESTful API adopts Semantic Versioning 2.0.0 for releases with the following format:
{MAJOR}.{MINOR}.{PATCH}
The table below lists the possible changes to the release version numbers and what they imply.
{MAJOR} increments |
{MINOR} increments |
{PATCH} increments |
---|---|---|
Introduces incompatible API changes
with the previous {MAJOR} version |
Introduces new functionalities or information that are backward compatible | Introduces bug fixes and remains backward compatible |
e.g. v1.2.1 --> v2.0.0 | e.g. v1.2.1 --> v1.3.0 | e.g. v1.2.1 --> v1.2.2 |
Despite backward compatibility provided in {MINOR}
and {PATCH}
releases,
developers should still ensure that their existing implementations are not
disrupted as a result of these new releases.
Pre-release or draft versions, when provided, are denoted by an appended
hypen-
with a series of separate identifiers {LABEL}-{VERSION}
following
the{PATCH}
number.
{MAJOR}.{MINOR}.{PATCH}-{LABEl}-{VERSION}
Such releases are unstable and may not provide the intended compatibility with the specification in draft status.
1.0.1 (DRAFT 23 August 2023)
1.0.1 (DRAFT 17 May 2023)
1.0.1 (DRAFT 27 Apr 2023)
/notify
as EGRESS Data Exchange category in addition to EGRESS Utility1.0.1 (DRAFT 20 Apr 2023)
/data/pull
, /data/store
, /data/forward
/data/provide
/simulate/provide
, /simulate/receive
updateByName
-> updatedByName
and updateById
-> updatedById
1.0.1 (DRAFT 19 Apr 2023)
/folder
and /data-package
: updated folder
and dataPackage
response schemas to align with the request schemas/health
, /notify
, /files
, /files/{file_id}
1.0.1 (DRAFT 12 Apr 2023)
endAfterOccurrences
and numberOccurrences
nodeId
to correct id
in activities
and milestones
referenceNumber
to milestone and activity levels1.0.1 (DRAFT 24 Mar 2023)
sourceSystems
in identity
, produces
, consumes
of the config
API to provide additional configuration for source systems1.0.1 (DRAFT 17 Mar 2023)
modified
timestamp for node status API1.0.1 (DRAFT 16 Mar 2023)
1.0.0-release (20 Jun 2022)
This will return the list of documents that your pitstop is configured to produce and consume, as well as the recipients that you have consented to share them with.
{- "identity": {
- "id": "string",
- "name": "string",
- "channel_url": "string",
- "bucket_name": "string",
- "public_key": "string",
- "organization": {
- "id": "string",
- "name": "string",
- "org_type": "string",
- "icon_url": "string"
}, - "source_system_config": {
- "url": "string",
- "middlewares": { }
}, - "sourceSystems": [
- {
- "name": "string",
- "id": "string"
}
]
}, - "produces": [
- {
- "id": "string",
- "name": "string",
- "schema": { },
- "querySchema": { },
- "to": [
- {
- "id": "string",
- "name": "string",
- "icon_url": "string",
- "on_behalf_of": [
- {
- "id": "string",
- "name": "string",
- "lookupid": "string",
- "icon_url": "string"
}
], - "systems": [
- {
- "id": "string",
- "name": "string",
- "sourceSystems": [
- {
- "name": "string",
- "id": "string"
}
]
}
]
}
], - "to_agents": [
- {
- "id": "string",
- "name": "string",
- "icon_url": "string",
- "on_behalf_of": [
- {
- "id": "string",
- "name": "string",
- "lookupid": "string",
- "icon_url": "string"
}
], - "systems": [
- {
- "id": "string",
- "name": "string",
- "sourceSystems": [
- {
- "name": "string",
- "id": "string"
}
]
}
], - "to_principals": [
- {
- "name": "string",
- "uen": "string",
- "systemsIds": [
- "string"
]
}
]
}
]
}
], - "consumes": [
- {
- "id": "string",
- "name": "string",
- "schema": { },
- "querySchema": { },
- "from": [
- {
- "id": "string",
- "name": "string",
- "icon_url": "string",
- "on_behalf_of": [
- {
- "id": "string",
- "name": "string",
- "lookupid": "string",
- "icon_url": "string"
}
], - "systems": [
- {
- "id": "string",
- "name": "string",
- "sourceSystems": [
- {
- "name": "string",
- "id": "string"
}
]
}
]
}
], - "from_agents": [
- {
- "id": "string",
- "name": "string",
- "icon_url": "string",
- "on_behalf_of": [
- {
- "id": "string",
- "name": "string",
- "lookupid": "string",
- "icon_url": "string"
}
], - "systems": [
- {
- "id": "string",
- "name": "string",
- "sourceSystems": [
- {
- "name": "string",
- "id": "string"
}
]
}
]
}
]
}
], - "contributes": [
- {
- "id": "string",
- "name": "string",
- "schema": { },
- "querySchema": { },
- "via": [
- {
- "id": "string",
- "name": "string",
- "icon_url": "string",
- "systems": [
- {
- "id": "string",
- "name": "string"
}
], - "for": [
- {
- "id": "string",
- "name": "string",
- "icon_url": "string",
- "systemId": "string"
}
]
}
]
}
]
}
For the Participant / Pitstop to monitor whether their Pitstop / Source System is operational or not. Should return a 200 if it is working.
Note:
Uploads file(s) to the pitstop Uploads the files in multipart format to the pitstop and return references to each of them for use to send the data.
Any key with the file as the value will all be read
[- {
- "filename": "string",
- "file_content": "string"
}
]
Create a new Folder (aka Deal).
Response sent will include the newly created folder object with the unique node id
.
The id
s can then be used in subsequent calls to update the status or comments of that folder.
id | string unique id of the folder (Deal) where this data package will reside. Optional for initial creation. |
name required | string name of the folder (Deal) where this data package will reside. |
status | string status of the folder (Deal) |
statusList | Array of strings list of possible statuses for this folder (Deal) |
required | Array of objects (participant) an array of the DEX defined ids of the participants involved in this folder (Deal). |
owners required | Array of strings an array of the DEX defined organization ids of the participants who are the owners (aka deal leads). |
{- "name": "name of the folder (Deal)",
- "status": "Started",
- "statusList": [
- "Started",
- "Pending",
- "In Progress",
- "Completed"
], - "participants": [
- {
- "id": "<DEX_ORG_ID_1>",
- "name": "DEX ORG 1",
- "system": {
- "id": "<DEX_PITSTOP_ID_1>",
- "name": "PITSTOP 1",
- "sourceSystemId": "<DEX_SOURCE_ID_1>"
}
}, - {
- "id": "<DEX_ORG_ID_2>",
- "name": "DEX ORG 2",
- "system": {
- "id": "<DEX_PITSTOP_ID_2>",
- "name": "PITSTOP 2",
- "sourceSystemId": "<DEX_SOURCE_ID_2>"
}
}, - {
- "id": "<DEX_ORG_ID_3>",
- "name": "DEX ORG 3",
- "system": {
- "id": "<DEX_PITSTOP_ID_3>",
- "name": "PITSTOP 3",
- "sourceSystemId": "<DEX_SOURCE_ID_3>"
}
}, - {
- "id": "<DEX_ORG_ID_4>",
- "name": "DEX ORG 4",
- "system": {
- "id": "<DEX_PITSTOP_ID_4>",
- "name": "PITSTOP 4",
- "sourceSystemId": "<DEX_SOURCE_ID_4>"
}
}
], - "owners": [
- "<DEX_ORG_ID_1>"
]
}
{- "timestamp": "2019-08-24T14:15:22Z",
- "folder": {
- "id": "<FOLDER_ID>",
- "name": "MY NEW DEAL",
- "status": "Started",
- "statusList": [
- "Started",
- "Pending",
- "In Progress",
- "Completed"
], - "participants": [
- {
- "id": "<DEX_ORG_ID_1>",
- "name": "DEX ORG 1",
- "system": {
- "id": "<DEX_PITSTOP_ID_1>",
- "name": "PITSTOP 1",
- "sourceSystemId": "<DEX_SOURCE_ID_1>"
}
}, - {
- "id": "<DEX_ORG_ID_2>",
- "name": "DEX ORG 2",
- "system": {
- "id": "<DEX_PITSTOP_ID_2>",
- "name": "PITSTOP 2",
- "sourceSystemId": "<DEX_SOURCE_ID_2>"
}
}, - {
- "id": "<DEX_ORG_ID_3>",
- "name": "DEX ORG 3",
- "system": {
- "id": "<DEX_PITSTOP_ID_3>",
- "name": "PITSTOP 3",
- "sourceSystemId": "<DEX_SOURCE_ID_3>"
}
}, - {
- "id": "<DEX_ORG_ID_4>",
- "name": "DEX ORG 4",
- "system": {
- "id": "<DEX_PITSTOP_ID_4>",
- "name": "PITSTOP 4",
- "sourceSystemId": "<DEX_SOURCE_ID_4>"
}
}
], - "owners": [
- "<DEX_ORG_ID_1>"
]
}
}
Create a new Data Package.
Response sent will include the newly created data package object with the unique id
s for each of the nodes (process/milestone/activity).
The id
s can then be used as parent_node_id
in subsequent /data/push/
calls to specifty which level the data element should be in.
id | string unique id of the package (process). Optional for initial creation. |
referenceNumber | string or null reference number that can be used in a data package for referencing business transaction / deal |
name required | string Descriptive name of the package (process). |
status | string status of the data package (process) |
statusList | Array of strings list of possible statuses for this data package (process) |
required | Array of objects (participant) an array of the DEX defined ids of the participants involved in this process. |
owners required | Array of strings an array of the DEX defined organization ids of the participants who are the owners (aka deal leads) of this process. |
folderId required | string the unique identifier for the folder (deal) which the package (process) will reside in. |
Array of objects (dataElement) | |
Array of objects (milestone) | |
Array of startDate (object) or processDuration (object) or recurrence (object) or variations (object) additional information required by Veridapt (passthrough) |
{- "referenceNumber": "My transaction/deal reference id",
- "folderId": "<FOLDER_ID>",
- "name": "Process Name",
- "status": "Started",
- "statusList": [
- "Started",
- "Pending",
- "In Progress",
- "Completed"
], - "participants": [
- {
- "id": "<DEX_ORG_ID_1>",
- "name": "DEX ORG 1",
- "system": {
- "id": "<DEX_PITSTOP_ID_1>",
- "name": "PITSTOP 1",
- "sourceSystemId": "<DEX_SOURCE_ID_1>"
}
}, - {
- "id": "<DEX_ORG_ID_2>",
- "name": "DEX ORG 2",
- "system": {
- "id": "<DEX_PITSTOP_ID_2>",
- "name": "PITSTOP 2",
- "sourceSystemId": "<DEX_SOURCE_ID_2>"
}
}, - {
- "id": "<DEX_ORG_ID_3>",
- "name": "DEX ORG 3",
- "system": {
- "id": "<DEX_PITSTOP_ID_3>",
- "name": "PITSTOP 3",
- "sourceSystemId": "<DEX_SOURCE_ID_3>"
}
}, - {
- "id": "<DEX_ORG_ID_4>",
- "name": "DEX ORG 4",
- "system": {
- "id": "<DEX_PITSTOP_ID_4>",
- "name": "PITSTOP 4",
- "sourceSystemId": "<DEX_SOURCE_ID_4>"
}
}
], - "owners": [
- "<DEX_ORG_ID_1>"
], - "dataElements": [
- {
- "id": "invoice",
- "required": true
}, - {
- "id": "bill_of_lading",
- "required": true
}
], - "milestones": [
- {
- "name": "Milestone 1",
- "statusList": [
- "Started",
- "Pending",
- "In Progress",
- "Completed"
], - "participantOrgIds": [
- "<DEX_ORG_ID_1>",
- "<DEX_ORG_ID_2>"
], - "dataElements": [
- {
- "id": "invoice",
- "required": true
}, - {
- "id": "bill_of_lading",
- "required": true
}
], - "activities": [
- {
- "name": "Activity 1",
- "statusList": [
- "Started",
- "Pending",
- "In Progress",
- "Completed"
], - "participantOrgIds": [
- "<DEX_ORG_ID_1>"
], - "dataElements": [
- {
- "id": "invoice",
- "required": true
}, - {
- "id": "bill_of_lading",
- "required": true
}
]
}, - {
- "name": "Activity 2",
- "statusList": [
- "Started",
- "Pending",
- "In Progress",
- "Completed"
], - "participantOrgIds": [
- "<DEX_ORG_ID_2>"
], - "dataElements": [
- {
- "id": "invoice",
- "required": true
}, - {
- "id": "bill_of_lading",
- "required": true
}
]
}
]
}, - {
- "name": "Milestone",
- "statusList": [
- "Started",
- "Pending",
- "In Progress",
- "Completed"
], - "participantOrgIds": [
- "<DEX_ORG_ID_1>",
- "<DEX_ORG_ID_2>",
- "<DEX_ORG_ID_3>"
], - "dataElements": [
- {
- "id": "invoice",
- "required": true
}, - {
- "id": "bill_of_lading",
- "required": true
}
], - "activities": [
- {
- "name": "Activity 3",
- "statusList": [
- "Started",
- "Pending",
- "In Progress",
- "Completed"
], - "participantOrgIds": [
- "<DEX_ORG_ID_1>",
- "<DEX_ORG_ID_2>",
- "<DEX_ORG_ID_3>"
], - "dataElements": [
- {
- "id": "invoice",
- "required": true
}, - {
- "id": "bill_of_lading",
- "required": true
}
]
}
]
}
], - "additionalInfo": [
- {
- "startDate": "2022-12-15"
}, - {
- "processDuration": {
- "duration": 1,
- "unit": "months"
}
}, - {
- "recurrence": {
- "isRecurrent": true,
- "frequency": 1,
- "unit": "weeks",
- "endOnDealEnd": false,
- "endAfterOccurrences": {
- "isTrue": true,
- "numberOccurrences": 2
}
}
}, - {
- "variations": [
- "variation 1",
- "variation 2"
]
}
]
}
{- "timestamp": "2019-08-24T14:15:22Z",
- "dataPackage": {
- "id": "string",
- "referenceNumber": "string",
- "name": "string",
- "status": "string",
- "statusList": [
- "string"
], - "participants": [
- {
- "request_id": "string",
- "id": "string",
- "name": "string",
- "system": {
- "id": "string",
- "name": "string",
- "sourceSystemId": "string"
}, - "meta": {
- "data_ref_id": "string",
- "consumerOrgId": "string",
- "consumerSysId": "string",
- "providerTransactionStatus": "string"
}
}
], - "owners": [
- "string"
], - "folderId": "string",
- "dataElements": [
- {
- "id": "invoice",
- "required": true
}
], - "milestones": [
- {
- "id": "string",
- "referenceNumber": "string",
- "name": "string",
- "statusList": [
- "string"
], - "participantOrgIds": [
- "string"
], - "dataElements": [
- {
- "id": "invoice",
- "required": true
}
], - "activities": [
- {
- "id": "string",
- "referenceNumber": "string",
- "name": "string",
- "statusList": [
- "string"
], - "participantOrgIds": [
- "string"
], - "dataElements": [
- {
- "id": "invoice",
- "required": true
}
]
}
]
}
], - "additionalInfo": [
- {
- "startDate": "2019-08-24"
}
]
}
}
Update an existing Data Package.
Response sent will include the updated data package object with the unique id
s for each of the nodes (process/milestone/activity).
The id
s can then be used as parent_node_id
in subsequent /data/push/
calls to specifty which level the data element should be in.
Note that any updates that result in deletion of a mileston/activity will be rejected with error.
id | string unique id of the package (process). Optional for initial creation. |
referenceNumber | string or null reference number that can be used in a data package for referencing business transaction / deal |
name required | string Descriptive name of the package (process). |
status | string status of the data package (process) |
statusList | Array of strings list of possible statuses for this data package (process) |
required | Array of objects (participant) an array of the DEX defined ids of the participants involved in this process. |
owners required | Array of strings an array of the DEX defined organization ids of the participants who are the owners (aka deal leads) of this process. |
folderId required | string the unique identifier for the folder (deal) which the package (process) will reside in. |
Array of objects (dataElement) | |
Array of objects (milestone) | |
Array of startDate (object) or processDuration (object) or recurrence (object) or variations (object) additional information required by Veridapt (passthrough) |
{- "referenceNumber": "My transaction/deal reference id",
- "folderId": "<FOLDER_ID>",
- "name": "Process Name",
- "status": "Started",
- "statusList": [
- "Started",
- "Pending",
- "In Progress",
- "Completed"
], - "participants": [
- {
- "id": "<DEX_ORG_ID_1>",
- "name": "DEX ORG 1",
- "system": {
- "id": "<DEX_PITSTOP_ID_1>",
- "name": "PITSTOP 1",
- "sourceSystemId": "<DEX_SOURCE_ID_1>"
}
}, - {
- "id": "<DEX_ORG_ID_2>",
- "name": "DEX ORG 2",
- "system": {
- "id": "<DEX_PITSTOP_ID_2>",
- "name": "PITSTOP 2",
- "sourceSystemId": "<DEX_SOURCE_ID_2>"
}
}, - {
- "id": "<DEX_ORG_ID_3>",
- "name": "DEX ORG 3",
- "system": {
- "id": "<DEX_PITSTOP_ID_3>",
- "name": "PITSTOP 3",
- "sourceSystemId": "<DEX_SOURCE_ID_3>"
}
}, - {
- "id": "<DEX_ORG_ID_4>",
- "name": "DEX ORG 4",
- "system": {
- "id": "<DEX_PITSTOP_ID_4>",
- "name": "PITSTOP 4",
- "sourceSystemId": "<DEX_SOURCE_ID_4>"
}
}
], - "owners": [
- "<DEX_ORG_ID_1>"
], - "dataElements": [
- {
- "id": "invoice",
- "required": true
}, - {
- "id": "bill_of_lading",
- "required": true
}
], - "milestones": [
- {
- "id": "<Milestone 1 ID>",
- "name": "Milestone 1",
- "statusList": [
- "Started",
- "Pending",
- "In Progress",
- "Completed"
], - "participantOrgIds": [
- "<DEX_ORG_ID_1>",
- "<DEX_ORG_ID_2>"
], - "dataElements": [
- {
- "id": "invoice",
- "required": true
}, - {
- "id": "bill_of_lading",
- "required": true
}
], - "activities": [
- {
- "id": "<Activity 1 ID>",
- "name": "Activity 1",
- "statusList": [
- "Started",
- "Pending",
- "In Progress",
- "Completed"
], - "participantOrgIds": [
- "<DEX_ORG_ID_1>"
], - "dataElements": [
- {
- "id": "invoice",
- "required": true
}, - {
- "id": "bill_of_lading",
- "required": true
}
]
}, - {
- "id": "<Activity 2 ID>",
- "name": "Activity 2",
- "statusList": [
- "Started",
- "Pending",
- "In Progress",
- "Completed"
], - "participantOrgIds": [
- "<DEX_ORG_ID_2>"
], - "dataElements": [
- {
- "id": "invoice",
- "required": true
}, - {
- "id": "bill_of_lading",
- "required": true
}
]
}
]
}, - {
- "name": "Milestone",
- "statusList": [
- "Started",
- "Pending",
- "In Progress",
- "Completed"
], - "participantOrgIds": [
- "<DEX_ORG_ID_1>",
- "<DEX_ORG_ID_2>",
- "<DEX_ORG_ID_3>"
], - "dataElements": [
- {
- "id": "invoice",
- "required": true
}, - {
- "id": "bill_of_lading",
- "required": true
}
], - "activities": [
- {
- "name": "Activity 3 (new to create)",
- "statusList": [
- "Started",
- "Pending",
- "In Progress",
- "Completed"
], - "participantOrgIds": [
- "<DEX_ORG_ID_1>",
- "<DEX_ORG_ID_2>",
- "<DEX_ORG_ID_3>"
], - "dataElements": [
- {
- "id": "invoice",
- "required": true
}, - {
- "id": "bill_of_lading",
- "required": true
}
]
}
]
}
], - "additionalInfo": [
- {
- "startDate": "2022-12-15"
}, - {
- "processDuration": {
- "duration": 1,
- "unit": "months"
}
}, - {
- "recurrence": {
- "isRecurrent": true,
- "frequency": 1,
- "unit": "weeks",
- "endOnDealEnd": false,
- "endAfterOccurrences": {
- "isTrue": true,
- "numberOccurrences": 2
}
}
}, - {
- "variations": [
- "variation 1",
- "variation 2"
]
}
]
}
{- "timestamp": "2019-08-24T14:15:22Z",
- "dataPackage": {
- "id": "string",
- "referenceNumber": "string",
- "name": "string",
- "status": "string",
- "statusList": [
- "string"
], - "participants": [
- {
- "request_id": "string",
- "id": "string",
- "name": "string",
- "system": {
- "id": "string",
- "name": "string",
- "sourceSystemId": "string"
}, - "meta": {
- "data_ref_id": "string",
- "consumerOrgId": "string",
- "consumerSysId": "string",
- "providerTransactionStatus": "string"
}
}
], - "owners": [
- "string"
], - "folderId": "string",
- "dataElements": [
- {
- "id": "invoice",
- "required": true
}
], - "milestones": [
- {
- "id": "string",
- "referenceNumber": "string",
- "name": "string",
- "statusList": [
- "string"
], - "participantOrgIds": [
- "string"
], - "dataElements": [
- {
- "id": "invoice",
- "required": true
}
], - "activities": [
- {
- "id": "string",
- "referenceNumber": "string",
- "name": "string",
- "statusList": [
- "string"
], - "participantOrgIds": [
- "string"
], - "dataElements": [
- {
- "id": "invoice",
- "required": true
}
]
}
]
}
], - "additionalInfo": [
- {
- "startDate": "2019-08-24"
}
]
}
}
Update comment or status of a Node (process, milestone or activity) based on the node id
.
Refer to the examples on how to update either status or comment.
id required | string unique identifier for the node (provided during creation time) |
type required | string Enum: "FOLDER" "PACKAGE" "MILESTONE" "ACTIVITY" type of node. This can be one of the following FOLDER aka Deal PACKAGE aka Process MILESTONE ACTIVITY
|
status | string status for this node. possible values are from the |
updatedByName | string name for the user requesting of the status |
updatedById | string unique idenfier (email) for the user requsting update of the status |
modified | string <date-time> timestamp for when this status was updated |
Array of objects (comment) |
{- "id": "<NODE_ID>",
- "type": "MILESTONE",
- "status": "Completed",
- "updatedByName": "John Doe",
- "updatedById": "user2@email.com"
}
{- "timestamp": "2019-08-24T14:15:22Z",
- "node": {
- "id": "<NODE_ID>",
- "type": "FOLDER",
- "status": "Started",
- "comments": [
- {
- "created": "2022-12-21T17:32:28Z",
- "modified": "2022-12-21T17:32:28Z",
- "updatedByName": "John Doe",
- "updatedById": "user2@email.com",
- "text": "this is a new comment"
}, - {
- "id": "<COMMENT_ID>",
- "created": "2022-12-21T17:32:28Z",
- "modified": "2022-12-21T17:32:28Z",
- "updatedByName": "John Doe",
- "updatedById": "user2@email.com",
- "text": "this is an edited comment"
}
]
}
}
Add a document of specified Data Element type into an existing data package to participants.
New attribute parent_node_id
required in ther request body
Created document_id will be returned in the response body.
dataElementId required | string Data Element ID of the data element to be sent |
parent_node_id | string DEX specific identifier of the parent node (process / milestone / activity) for this document (data element). |
parent_node_type | string Enum: "FOLDER" "PACKAGE" "MILESTONE" "ACTIVITY" type of node. This can be one of the following FOLDER aka Deal PACKAGE aka Process MILESTONE ACTIVITY
|
subscription_id | string (Subscription Id) Optional field. Generated by system when a the data is received as result of subscription request is made, participant can ignore it when for normal receive |
payload required | Array of objects (Data Element JSON) JSON |
requestId | string Optional field. Include if you know the requestId for your resource. |
sourceSystemId | string (Source System Id) Optional field. Own Source System's Id for Notification. Participant can ignore it when flow is anything other than PUSH or PULL. |
required | Array of objects (participant) |
Array of objects |
{- "parent_node_id": "string",
- "parent_node_type": "FOLDER",
- "subscription_id": "string",
- "payload": [
- "<DOCUMENT_1_JSON_PAYLOAD>"
], - "requestId": "string",
- "sourceSystemId": "string",
- "participants": [
- {
- "request_id": "string",
- "id": "string",
- "name": "string",
- "system": {
- "id": "string",
- "name": "string",
- "sourceSystemId": "string"
}, - "meta": {
- "data_ref_id": "string",
- "consumerOrgId": "string",
- "consumerSysId": "string",
- "providerTransactionStatus": "string"
}
}
], - "on_behalf_of": [
- {
- "id": "string",
- "name": "string"
}
]
}
{- "timestamp": "2019-08-24T14:15:22Z",
- "data": {
- "documentIds": [
- "<DOCUMENT_1_ID>",
- "<DOCUMENT_2_ID>",
- "<DOCUMENT_3_ID>"
], - "requestId": [
- "string"
], - "requestIdMap": [
- {
- "requestId": "string",
- "participant": {
- "id": "string",
- "name": "string",
- "system": {
- "id": "string",
- "name": "string"
}
}
}
]
}
}
Request (PULL) a data element from another participant.
dataElementId required | string ID of the data element to be requested |
parameters required | Array of objects JSON |
requestId | string Optional field. Include if you know the requestId for your resource. |
sourceSystemId | string (Source System Id) Optional field. Own Source System's Id for Notification. Participant can ignore it when flow is anything other than PUSH or PULL. |
required | Array of objects (participant) |
Array of objects |
{- "parameters": [
- "<DOCUMENT_1_JSON_PARAMETERS>",
- "<DOCUMENT_2_JSON_PARAMETERS>",
- "<DOCUMENT_3_JSON_PARAMETERS>"
], - "requestId": "string",
- "sourceSystemId": "string",
- "participants": [
- {
- "request_id": "string",
- "id": "string",
- "name": "string",
- "system": {
- "id": "string",
- "name": "string",
- "sourceSystemId": "string"
}, - "meta": {
- "data_ref_id": "string",
- "consumerOrgId": "string",
- "consumerSysId": "string",
- "providerTransactionStatus": "string"
}
}
], - "on_behalf_of": [
- {
- "id": "string",
- "name": "string"
}
]
}
{- "timestamp": "2019-08-24T14:15:22Z",
- "data": {
- "requestId": [
- "string"
], - "requestIdMap": [
- {
- "requestId": "string",
- "participant": {
- "id": "string",
- "name": "string",
- "system": {
- "id": "string",
- "name": "string"
}
}
}
]
}
}
Store the Data Element in the pitstop for future retrieval
dataElementId required | string ID of the data element to be stored |
payload required | Array of objects (Data Element JSON) JSON |
requestId | string Optional field. Include if you know the requestId for your resource. |
sourceSystemId | string (Source System Id) Optional field. Own Source System's Id for Notification. Participant can ignore it when flow is anything other than PUSH or PULL. |
required | Array of objects (participant) |
Array of objects |
{- "payload": [
- "<DOCUMENT_1_JSON_PAYLOAD>"
], - "requestId": "string",
- "sourceSystemId": "string",
- "participants": [
- {
- "request_id": "string",
- "id": "string",
- "name": "string",
- "system": {
- "id": "string",
- "name": "string",
- "sourceSystemId": "string"
}, - "meta": {
- "data_ref_id": "string",
- "consumerOrgId": "string",
- "consumerSysId": "string",
- "providerTransactionStatus": "string"
}
}
], - "on_behalf_of": [
- {
- "id": "string",
- "name": "string"
}
]
}
{- "data": [
- {
- "id": 0,
- "payload": { },
- "signature": { },
- "referenceId": "string",
- "orgId": "string",
- "systemId": "string",
- "dataElementId": "string",
- "attachments": [
- {
- "filename": "string",
- "file_content": "string",
- "key": "string",
- "encryptionKey": "string",
- "checksum": "string",
- "fileSize": "string",
- "url": "string"
}
], - "onBehalfOf": [
- {
- "id": "string",
- "name": "string"
}
], - "messageType": "PUSH",
- "messageStatus": "SUCCESSFUL",
- "messageStage": "PITSTOP",
- "message": "string",
- "verificationStatus": "NOT APPLICABLE",
- "storedFor": [
- {
- "id": "string",
- "name": "string"
}
]
}
]
}
Forward the Data Element to participants
parameters required | Array of objects JSON |
requestId | string Optional field. Include if you know the requestId for your resource. |
sourceSystemId | string (Source System Id) Optional field. Own Source System's Id for Notification. Participant can ignore it when flow is anything other than PUSH or PULL. |
required | Array of objects (participant) |
Array of objects |
{- "parameters": [
- "<DOCUMENT_1_JSON_PARAMETERS>",
- "<DOCUMENT_2_JSON_PARAMETERS>",
- "<DOCUMENT_3_JSON_PARAMETERS>"
], - "requestId": "string",
- "sourceSystemId": "string",
- "participants": [
- {
- "request_id": "string",
- "id": "string",
- "name": "string",
- "system": {
- "id": "string",
- "name": "string",
- "sourceSystemId": "string"
}, - "meta": {
- "data_ref_id": "string",
- "consumerOrgId": "string",
- "consumerSysId": "string",
- "providerTransactionStatus": "string"
}
}
], - "on_behalf_of": [
- {
- "id": "string",
- "name": "string"
}
]
}
{- "timestamp": "2019-08-24T14:15:22Z",
- "data": {
- "requestId": [
- "string"
], - "requestIdMap": [
- {
- "requestId": "string",
- "participant": {
- "id": "string",
- "name": "string",
- "system": {
- "id": "string",
- "name": "string"
}
}
}
]
}
}
Subscribe to a data element from another participant.
dataElementId required | string ID of the data element to be subscribed to. |
parameters required | Array of objects JSON |
required | object Detail of the subscription request. |
requestId | string Optional field. Include if you know the requestId for your resource. |
sourceSystemId | string (Source System Id) Optional field. Own Source System's Id for Notification. Participant can ignore it when flow is anything other than PUSH or PULL. |
required | Array of objects (participant) |
Array of objects |
{- "parameters": [
- "<DOCUMENT_1_JSON_PARAMETERS>",
- "<DOCUMENT_2_JSON_PARAMETERS>",
- "<DOCUMENT_3_JSON_PARAMETERS>"
], - "subscription_detail": {
- "name": "Subscription Name",
- "start_date": "2021-01-01T00:00:00",
- "end_date": "2021-12-31T00:00:00"
}, - "requestId": "string",
- "sourceSystemId": "string",
- "participants": [
- {
- "request_id": "string",
- "id": "string",
- "name": "string",
- "system": {
- "id": "string",
- "name": "string",
- "sourceSystemId": "string"
}, - "meta": {
- "data_ref_id": "string",
- "consumerOrgId": "string",
- "consumerSysId": "string",
- "providerTransactionStatus": "string"
}
}
], - "on_behalf_of": [
- {
- "id": "string",
- "name": "string"
}
]
}
{- "timestamp": "2019-08-24T14:15:22Z",
- "data": {
- "subscriptionResult": [
- {
- "subscriptionId": "string",
- "participant": {
- "id": "string",
- "name": "string",
- "system": {
- "id": "string",
- "name": "string"
}
}
}
]
}
}
Tells the mock server to initiate a pull of the data element ID with the correct parameters
dataElementId required | string ID of the data element to be simulated |
parameters required | Array of objects JSON |
requestId | string Optional field. Include if you know the requestId for your resource. |
sourceSystemId | string (Source System Id) Optional field. Own Source System's Id for Notification. Participant can ignore it when flow is anything other than PUSH or PULL. |
required | Array of objects (participant) |
Array of objects |
{- "parameters": [
- "<DOCUMENT_1_JSON_PARAMETERS>",
- "<DOCUMENT_2_JSON_PARAMETERS>",
- "<DOCUMENT_3_JSON_PARAMETERS>"
], - "requestId": "string",
- "sourceSystemId": "string",
- "participants": [
- {
- "request_id": "string",
- "id": "string",
- "name": "string",
- "system": {
- "id": "string",
- "name": "string",
- "sourceSystemId": "string"
}, - "meta": {
- "data_ref_id": "string",
- "consumerOrgId": "string",
- "consumerSysId": "string",
- "providerTransactionStatus": "string"
}
}
], - "on_behalf_of": [
- {
- "id": "string",
- "name": "string"
}
]
}
{- "timestamp": "2022-01-01T12:00:00.000Z",
- "version": { },
- "error": {
- "message": "Unable to provide, participant information is missing"
}
}
Tells the mock server to initiate a push of the data element ID with the correct parameters
dataElementId required | string ID of the data element to be simulated |
Array of objects (participant) | |
Array of objects |
{- "participants": [
- {
- "request_id": "string",
- "id": "string",
- "name": "string",
- "system": {
- "id": "string",
- "name": "string",
- "sourceSystemId": "string"
}, - "meta": {
- "data_ref_id": "string",
- "consumerOrgId": "string",
- "consumerSysId": "string",
- "providerTransactionStatus": "string"
}
}
], - "on_behalf_of": [
- {
- "id": "string",
- "name": "string"
}
]
}
{- "timestamp": "2022-01-01T12:00:00.000Z",
- "version": { },
- "error": {
- "message": "Unable to receive, participant information is missing"
}
}
For the Participant / Pitstop to monitor whether their Pitstop / Source System is operational or not. Should return a 200 if it is working.
Note:
This endpoint will be used to notify participant with status message as well as about the config changes. This will return the notification of the message and config changes.
timestamp required | string (Timestamp) Date and Time of the request sent/received |
notify_message required | string (Notify Message) Enum: "REFRESH_CONFIG" "PUSH_FAIL" "PUSH_SUCCESS" "PULL_FAIL" REFRESH_CONFIG | PUSH_FAIL | PULL_FAIL | PUSH_SUCCESS |
notify_message_stage | string or null (Notify Message Stage) Enum: "PITSTOP" "SOURCE" PITSTOP | SOURCE |
request_id | string or null (Request Id) Original request from source or pitstop from which the request is originated |
error_code | number or null (Error Code) Internal error code from DEX Pitstop |
error_message | string or null (Error Mesage) Internal error message from DEX Pitstop |
(Source System Error (string or null)) or (Source System Error (object or null)) (Source System Error) This field captures and relays the exact error message returned by the API consumer system. No additional processing or classification is performed on this field, ensuring that the error information is relayed exactly as received from the API consumer system. |
{- "timestamp": "2021-05-11T03:35:38.464Z",
- "notify_message": "PUSH_FAIL",
- "request_id": "d4002d09-f0d7-4258-8428-0032fd8d2f52",
- "error_code": 500,
- "error_message": "Consumer source API error",
- "source_system_error": { }
}
{- "timestamp": "string"
}
Notification of the creation of a new Folder (aka Deal).
Includes the newly created folder object with the unique node id
.
The id
s can then be used in subsequent calls to update the status or comments of that folder.
id | string unique id of the folder (Deal) where this data package will reside. Optional for initial creation. |
name required | string name of the folder (Deal) where this data package will reside. |
status | string status of the folder (Deal) |
statusList | Array of strings list of possible statuses for this folder (Deal) |
required | Array of objects (participant) an array of the DEX defined ids of the participants involved in this folder (Deal). |
owners required | Array of strings an array of the DEX defined organization ids of the participants who are the owners (aka deal leads). |
{- "id": "<DEX_FOLDER_ID>",
- "name": "name of the folder (Deal)",
- "status": "Started",
- "statusList": [
- "Started",
- "Pending",
- "In Progress",
- "Completed"
], - "participants": [
- {
- "id": "<DEX_ORG_ID_1>",
- "name": "DEX ORG 1",
- "system": {
- "id": "<DEX_PITSTOP_ID_1>",
- "name": "PITSTOP 1",
- "sourceSystemId": "<DEX_SOURCE_ID_1>"
}
}, - {
- "id": "<DEX_ORG_ID_2>",
- "name": "DEX ORG 2",
- "system": {
- "id": "<DEX_PITSTOP_ID_2>",
- "name": "PITSTOP 2",
- "sourceSystemId": "<DEX_SOURCE_ID_2>"
}
}, - {
- "id": "<DEX_ORG_ID_3>",
- "name": "DEX ORG 3",
- "system": {
- "id": "<DEX_PITSTOP_ID_3>",
- "name": "PITSTOP 3",
- "sourceSystemId": "<DEX_SOURCE_ID_3>"
}
}, - {
- "id": "<DEX_ORG_ID_4>",
- "name": "DEX ORG 4",
- "system": {
- "id": "<DEX_PITSTOP_ID_4>",
- "name": "PITSTOP 4",
- "sourceSystemId": "<DEX_SOURCE_ID_4>"
}
}
], - "owners": [
- "<DEX_ORG_ID_1>"
]
}
Notification of the creation of a new Data Package.
Includes the unique id
s for each of the nodes (process/milestone/activity).
The id
s can then be used as parent_node_id
in subsequent /data/push/
calls to specifty which level the data element should be in.
id | string unique id of the package (process). Optional for initial creation. |
referenceNumber | string or null reference number that can be used in a data package for referencing business transaction / deal |
name required | string Descriptive name of the package (process). |
status | string status of the data package (process) |
statusList | Array of strings list of possible statuses for this data package (process) |
required | Array of objects (participant) an array of the DEX defined ids of the participants involved in this process. |
owners required | Array of strings an array of the DEX defined organization ids of the participants who are the owners (aka deal leads) of this process. |
folderId required | string the unique identifier for the folder (deal) which the package (process) will reside in. |
Array of objects (dataElement) | |
Array of objects (milestone) | |
Array of startDate (object) or processDuration (object) or recurrence (object) or variations (object) additional information required by Veridapt (passthrough) |
{- "referenceNumber": "My transaction/deal reference id",
- "folderId": "<FOLDER_ID>",
- "id": "<DEX_PACKAGE_ID>",
- "name": "Process Name",
- "status": "Started",
- "statusList": [
- "Started",
- "Pending",
- "In Progress",
- "Completed"
], - "participants": [
- {
- "id": "<DEX_ORG_ID_1>",
- "name": "DEX ORG 1",
- "system": {
- "id": "<DEX_PITSTOP_ID_1>",
- "name": "PITSTOP 1",
- "sourceSystemId": "<DEX_SOURCE_ID_1>"
}
}, - {
- "id": "<DEX_ORG_ID_2>",
- "name": "DEX ORG 2",
- "system": {
- "id": "<DEX_PITSTOP_ID_2>",
- "name": "PITSTOP 2",
- "sourceSystemId": "<DEX_SOURCE_ID_2>"
}
}, - {
- "id": "<DEX_ORG_ID_3>",
- "name": "DEX ORG 3",
- "system": {
- "id": "<DEX_PITSTOP_ID_3>",
- "name": "PITSTOP 3",
- "sourceSystemId": "<DEX_SOURCE_ID_3>"
}
}, - {
- "id": "<DEX_ORG_ID_4>",
- "name": "DEX ORG 4",
- "system": {
- "id": "<DEX_PITSTOP_ID_4>",
- "name": "PITSTOP 4",
- "sourceSystemId": "<DEX_SOURCE_ID_4>"
}
}
], - "owners": [
- "<DEX_ORG_ID_1>"
], - "dataElements": [
- {
- "id": "invoice",
- "required": true
}, - {
- "id": "bill_of_lading",
- "required": true
}
], - "milestones": [
- {
- "name": "Milestone 1",
- "statusList": [
- "Started",
- "Pending",
- "In Progress",
- "Completed"
], - "participantOrgIds": [
- "<DEX_ORG_ID_1>",
- "<DEX_ORG_ID_2>"
], - "dataElements": [
- {
- "id": "invoice",
- "required": true
}, - {
- "id": "bill_of_lading",
- "required": true
}
], - "activities": [
- {
- "name": "Activity 1",
- "statusList": [
- "Started",
- "Pending",
- "In Progress",
- "Completed"
], - "participantOrgIds": [
- "<DEX_ORG_ID_1>"
], - "dataElements": [
- {
- "id": "invoice",
- "required": true
}, - {
- "id": "bill_of_lading",
- "required": true
}
]
}, - {
- "name": "Activity 2",
- "statusList": [
- "Started",
- "Pending",
- "In Progress",
- "Completed"
], - "participantOrgIds": [
- "<DEX_ORG_ID_2>"
], - "dataElements": [
- {
- "id": "invoice",
- "required": true
}, - {
- "id": "bill_of_lading",
- "required": true
}
]
}
]
}, - {
- "name": "Milestone",
- "statusList": [
- "Started",
- "Pending",
- "In Progress",
- "Completed"
], - "participantOrgIds": [
- "<DEX_ORG_ID_1>",
- "<DEX_ORG_ID_2>",
- "<DEX_ORG_ID_3>"
], - "dataElements": [
- {
- "id": "invoice",
- "required": true
}, - {
- "id": "bill_of_lading",
- "required": true
}
], - "activities": [
- {
- "name": "Activity 3",
- "statusList": [
- "Started",
- "Pending",
- "In Progress",
- "Completed"
], - "participantOrgIds": [
- "<DEX_ORG_ID_1>",
- "<DEX_ORG_ID_2>",
- "<DEX_ORG_ID_3>"
], - "dataElements": [
- {
- "id": "invoice",
- "required": true
}, - {
- "id": "bill_of_lading",
- "required": true
}
]
}
]
}
], - "additionalInfo": [
- {
- "startDate": "2022-12-15"
}, - {
- "processDuration": {
- "duration": 1,
- "unit": "months"
}
}, - {
- "recurrence": {
- "isRecurrent": true,
- "frequency": 1,
- "unit": "weeks",
- "endOnDealEnd": false,
- "endAfterOccurrences": {
- "isTrue": true,
- "numberOccurrences": 2
}
}
}, - {
- "variations": [
- "variation 1",
- "variation 2"
]
}
]
}
Update an existing Data Package.
Response sent will include the updated data package object with the unique id
s for each of the nodes (process/milestone/activity).
The id
s can then be used as parent_node_id
in subsequent /data/push/
calls to specifty which level the data element should be in.
Note that any updates that result in deletion of a mileston/activity will be rejected with error.
id | string unique id of the package (process). Optional for initial creation. |
referenceNumber | string or null reference number that can be used in a data package for referencing business transaction / deal |
name required | string Descriptive name of the package (process). |
status | string status of the data package (process) |
statusList | Array of strings list of possible statuses for this data package (process) |
required | Array of objects (participant) an array of the DEX defined ids of the participants involved in this process. |
owners required | Array of strings an array of the DEX defined organization ids of the participants who are the owners (aka deal leads) of this process. |
folderId required | string the unique identifier for the folder (deal) which the package (process) will reside in. |
Array of objects (dataElement) | |
Array of objects (milestone) | |
Array of startDate (object) or processDuration (object) or recurrence (object) or variations (object) additional information required by Veridapt (passthrough) |
{- "referenceNumber": "My transaction/deal reference id",
- "folderId": "<FOLDER_ID>",
- "name": "Process Name",
- "status": "Started",
- "statusList": [
- "Started",
- "Pending",
- "In Progress",
- "Completed"
], - "participants": [
- {
- "id": "<DEX_ORG_ID_1>",
- "name": "DEX ORG 1",
- "system": {
- "id": "<DEX_PITSTOP_ID_1>",
- "name": "PITSTOP 1",
- "sourceSystemId": "<DEX_SOURCE_ID_1>"
}
}, - {
- "id": "<DEX_ORG_ID_2>",
- "name": "DEX ORG 2",
- "system": {
- "id": "<DEX_PITSTOP_ID_2>",
- "name": "PITSTOP 2",
- "sourceSystemId": "<DEX_SOURCE_ID_2>"
}
}, - {
- "id": "<DEX_ORG_ID_3>",
- "name": "DEX ORG 3",
- "system": {
- "id": "<DEX_PITSTOP_ID_3>",
- "name": "PITSTOP 3",
- "sourceSystemId": "<DEX_SOURCE_ID_3>"
}
}, - {
- "id": "<DEX_ORG_ID_4>",
- "name": "DEX ORG 4",
- "system": {
- "id": "<DEX_PITSTOP_ID_4>",
- "name": "PITSTOP 4",
- "sourceSystemId": "<DEX_SOURCE_ID_4>"
}
}
], - "owners": [
- "<DEX_ORG_ID_1>"
], - "dataElements": [
- {
- "id": "invoice",
- "required": true
}, - {
- "id": "bill_of_lading",
- "required": true
}
], - "milestones": [
- {
- "id": "<Milestone 1 ID>",
- "name": "Milestone 1",
- "statusList": [
- "Started",
- "Pending",
- "In Progress",
- "Completed"
], - "participantOrgIds": [
- "<DEX_ORG_ID_1>",
- "<DEX_ORG_ID_2>"
], - "dataElements": [
- {
- "id": "invoice",
- "required": true
}, - {
- "id": "bill_of_lading",
- "required": true
}
], - "activities": [
- {
- "id": "<Activity 1 ID>",
- "name": "Activity 1",
- "statusList": [
- "Started",
- "Pending",
- "In Progress",
- "Completed"
], - "participantOrgIds": [
- "<DEX_ORG_ID_1>"
], - "dataElements": [
- {
- "id": "invoice",
- "required": true
}, - {
- "id": "bill_of_lading",
- "required": true
}
]
}, - {
- "id": "<Activity 2 ID>",
- "name": "Activity 2",
- "statusList": [
- "Started",
- "Pending",
- "In Progress",
- "Completed"
], - "participantOrgIds": [
- "<DEX_ORG_ID_2>"
], - "dataElements": [
- {
- "id": "invoice",
- "required": true
}, - {
- "id": "bill_of_lading",
- "required": true
}
]
}
]
}, - {
- "name": "Milestone",
- "statusList": [
- "Started",
- "Pending",
- "In Progress",
- "Completed"
], - "participantOrgIds": [
- "<DEX_ORG_ID_1>",
- "<DEX_ORG_ID_2>",
- "<DEX_ORG_ID_3>"
], - "dataElements": [
- {
- "id": "invoice",
- "required": true
}, - {
- "id": "bill_of_lading",
- "required": true
}
], - "activities": [
- {
- "name": "Activity 3 (new to create)",
- "statusList": [
- "Started",
- "Pending",
- "In Progress",
- "Completed"
], - "participantOrgIds": [
- "<DEX_ORG_ID_1>",
- "<DEX_ORG_ID_2>",
- "<DEX_ORG_ID_3>"
], - "dataElements": [
- {
- "id": "invoice",
- "required": true
}, - {
- "id": "bill_of_lading",
- "required": true
}
]
}
]
}
], - "additionalInfo": [
- {
- "startDate": "2022-12-15"
}, - {
- "processDuration": {
- "duration": 1,
- "unit": "months"
}
}, - {
- "recurrence": {
- "isRecurrent": true,
- "frequency": 1,
- "unit": "weeks",
- "endOnDealEnd": false,
- "endAfterOccurrences": {
- "isTrue": true,
- "numberOccurrences": 2
}
}
}, - {
- "variations": [
- "variation 1",
- "variation 2"
]
}
]
}
Update comment or status of a Node (process, milestone or activity) based on the node id
.
Refer to the examples on how to update either status or comment.
id required | string unique identifier for the node (provided during creation time) |
type required | string Enum: "FOLDER" "PACKAGE" "MILESTONE" "ACTIVITY" type of node. This can be one of the following FOLDER aka Deal PACKAGE aka Process MILESTONE ACTIVITY
|
status | string status for this node. possible values are from the |
updatedByName | string name for the user requesting of the status |
updatedById | string unique idenfier (email) for the user requsting update of the status |
modified | string <date-time> timestamp for when this status was updated |
Array of objects (comment) |
{- "id": "<NODE_ID>",
- "type": "MILESTONE",
- "status": "Completed",
- "updatedByName": "John Doe",
- "updatedById": "user2@email.com"
}
This endpoint will be used to notify participant with status message as well as about the config changes. This will return the notification of the message and config changes.
timestamp required | string (Timestamp) Date and Time of the request sent/received |
notify_message required | string (Notify Message) Enum: "REFRESH_CONFIG" "PUSH_FAIL" "PUSH_SUCCESS" "PULL_FAIL" REFRESH_CONFIG | PUSH_FAIL | PULL_FAIL | PUSH_SUCCESS |
notify_message_stage | string or null (Notify Message Stage) Enum: "PITSTOP" "SOURCE" PITSTOP | SOURCE |
request_id | string or null (Request Id) Original request from source or pitstop from which the request is originated |
error_code | number or null (Error Code) Internal error code from DEX Pitstop |
error_message | string or null (Error Mesage) Internal error message from DEX Pitstop |
(Source System Error (string or null)) or (Source System Error (object or null)) (Source System Error) This field captures and relays the exact error message returned by the API consumer system. No additional processing or classification is performed on this field, ensuring that the error information is relayed exactly as received from the API consumer system. |
{- "timestamp": "2021-05-11T03:35:38.464Z",
- "notify_message": "PUSH_FAIL",
- "request_id": "d4002d09-f0d7-4258-8428-0032fd8d2f52",
- "error_code": 500,
- "error_message": "Consumer source API error",
- "source_system_error": { }
}
{- "timestamp": "string"
}
Pitstop requesting Source System to Provide the Data Element to participants
dataElementId required | string ID of the data element to be provided |
parameters required | Array of objects JSON |
requestId | string Optional field. Include if you know the requestId for your resource. |
sourceSystemId | string (Source System Id) Optional field. Own Source System's Id for Notification. Participant can ignore it when flow is anything other than PUSH or PULL. |
required | Array of objects (participant) |
Array of objects |
{- "parameters": [
- "<DOCUMENT_1_JSON_PARAMETERS>",
- "<DOCUMENT_2_JSON_PARAMETERS>",
- "<DOCUMENT_3_JSON_PARAMETERS>"
], - "requestId": "string",
- "sourceSystemId": "string",
- "participants": [
- {
- "request_id": "string",
- "id": "string",
- "name": "string",
- "system": {
- "id": "string",
- "name": "string",
- "sourceSystemId": "string"
}, - "meta": {
- "data_ref_id": "string",
- "consumerOrgId": "string",
- "consumerSysId": "string",
- "providerTransactionStatus": "string"
}
}
], - "on_behalf_of": [
- {
- "id": "string",
- "name": "string"
}
]
}
[- "<JSON_DATA_PAYLOAD_1",
- "<JSON_DATA_PAYLOAD_2>",
- "<JSON_DATA_PAYLOAD_3>"
]
Add/Update Document (Data Element) to an existing process.
The parent_node_id
is provided in the request body
dataElementId required | string ID of the data element to be sent |
parent_node_id | string DEX specific identifier of the parent node (process / milestone / activity) for this document (data element). |
parent_node_type | string Enum: "FOLDER" "PACKAGE" "MILESTONE" "ACTIVITY" type of node. This can be one of the following FOLDER aka Deal PACKAGE aka Process MILESTONE ACTIVITY
|
subscription_id | string (Subscription Id) Optional field. Generated by system when a the data is received as result of subscription request is made, participant can ignore it when for normal receive |
payload required | Array of objects (Data Element JSON) JSON |
requestId | string Optional field. Include if you know the requestId for your resource. |
sourceSystemId | string (Source System Id) Optional field. Own Source System's Id for Notification. Participant can ignore it when flow is anything other than PUSH or PULL. |
required | Array of objects (participant) |
Array of objects |
{- "parent_node_id": "string",
- "parent_node_type": "FOLDER",
- "subscription_id": "string",
- "payload": [
- "<DOCUMENT_1_JSON_PAYLOAD>"
], - "requestId": "string",
- "sourceSystemId": "string",
- "participants": [
- {
- "request_id": "string",
- "id": "string",
- "name": "string",
- "system": {
- "id": "string",
- "name": "string",
- "sourceSystemId": "string"
}, - "meta": {
- "data_ref_id": "string",
- "consumerOrgId": "string",
- "consumerSysId": "string",
- "providerTransactionStatus": "string"
}
}
], - "on_behalf_of": [
- {
- "id": "string",
- "name": "string"
}
]
}
{- "timestamp": "2019-08-24T14:15:22Z",
- "data": {
- "requestId": "string"
}
}