REST API Reference > Data Integration REST API > Linear taskflows
  

Linear taskflows

Use this resource to request the details of a linear taskflow or the details of all linear taskflows in the organization. You can also create, update, or delete a linear taskflow.

GET request

To request the details of a particular linear taskflow, include the linear taskflow ID or linear taskflow name in the URI. Use one of the following URIs:
/api/v2/workflow/<id>
/api/v2/workflow/name/<name>
If you use the linear taskflow name in the URI and the linear taskflow name includes a space, replace the space with %20. For example:
/api/v2/workflow/name/my%20linear%20taskflow
To request the details of all linear taskflows in the organization, use the following URI:
/api/v2/workflow
Optionally, you can receive the response in simple mode which significantly improves performance. When you enable simple mode, the response does not include the ScheduleId attribute and the email attributes. To receive the response in simple mode, include simpleMode=true in the request. Use the following URI to receive details of all linear taskflows using simple mode:
/api/v2/workflow/?simpleMode=true

GET response

If successful, returns the workflow object for the requested linear taskflow. Or, if you request the details for all linear taskflows in the organization, returns a workflow object for each linear taskflow in the organization.
Returns an error object if errors occurred.
The workflow object includes the following attributes:
Field
Type
Description
id
String
Linear taskflow ID.
orgId
String
Organization ID.
name
String
Linear taskflow name.
description
String
Description.
createTime
Date/time
Time the linear taskflow was created.
updateTime
Date/time
Last time the linear taskflow was updated.
createdBy
String
User who created the linear taskflow.
updatedBy
String
User who last updated the linear taskflow.
errorTaskEmail
Object that includes the taskEmail object for error notifications.
id
String
Included in taskEmail object for errorTaskEmail.
ID.
emails
String
Included in taskEmail object for errorTaskEmail.
Email address that receives email notification when a task fails to complete.
successTaskEmail
Object that includes the taskEmail object for success notifications.
id
String
Included in taskEmail object for successTaskEmail.
ID.
emails
String
Included in taskEmail object for successTaskEmail.
Email address that receives email notification when a task completes successfully.
warningTaskEmail
Object that includes the taskEmail object for warning notifications.
id
String
Included in taskEmail object for warningTaskEmail.
ID.
emails
String
Included in taskEmail object for warningTaskEmail.
Email address that receives email notification when a task completes with errors.
agentId
String
Agent that runs the task.
runtimeEnvironmentId
String
Runtime environment used for the task.
scheduleId
String
Schedule associated with the linear taskflow, if any.
preProcessingCmd
String
Command to run before the task.
postProcessingCmd
String
Command to run after the task completes.
tasks
Defines each task associated with the linear taskflow. Includes a workflowTask object for each task.
taskId
String
Included in the workflowTask object.
Task ID.
type
String
Included in the workflowTask object.
Workflow task type. Returns one of the following codes:
  • - DMASK. Masking task.
  • - DRS. Replication task.
  • - DSS. Synchronization task.
  • - MTT. Mapping task.
  • - PCS. PowerCenter task.
name
String
Included in the workflowTask object.
Task name.
stopOnError
Boolean
Included in the workflowTask object.
Stops the linear taskflow if a task fails to complete.
stopOnWarning
Boolean
Included in the workflowTask object.
Stops the linear taskflow if a task completes with warnings.

POST request

To create a linear taskflow, use the following URI:
/api/v2/workflow
If you want to specify a location for the linear taskflow, include the container ID in the request. If the container ID isn't included in the request, the linear taskflow is created in the Default folder. You can find the container ID for a project or folder in the Data Integration user interface. On the Explore page, select the folder. In the URL, the last string of characters is the container ID.
For example, in the following URL, the container ID is dH2DuGJYda7ijgW4Sm32sR
https://na1.dm-us.informaticacloud.com/diUI/products/integrationDesign/main/Explore/dH2DuGJYda7ijgW4Sm32sR
To update a linear taskflow, include the workflow ID as shown in the following example:
/api/v2/workflow/<id>
When you update a linear taskflow, Data Integration replaces the existing linear taskflow with the update.
You can submit a partial update using partial mode. If you want to update a field in the workflowTask object using partial mode, you must include the taskId field. To submit a request using partial mode, use a JSON request and include the following line in the header:
Update-Mode=PARTIAL
With this URI, you can use the following attributes in the workflow object:
Field
Type
Required
Description
name
String
Yes
Name of the linear taskflow.
description
String
Description of the linear taskflow.
containerId
String
ID of the project or folder to contain the linear taskflow.
If not included in the request, the linear taskflow is created in the Default folder.
errorTaskEmail
Object that includes the taskEmail object for error notifications.
id
String
Include in taskEmail object for errorTaskEmail.
ID.
emails
String
Include in taskEmail object for errorTaskEmail.
Email address that receives email notification when a task fails to complete.
successTaskEmail
Object that includes the taskEmail object for success notifications.
id
String
Include in taskEmail object for successTaskEmail.
ID.
emails
String
Include in taskEmail object for successTaskEmail.
Email address that receives email notification when a task completes successfully.
warningTaskEmail
Object that includes the taskEmail object for warning notifications.
id
String
Include in taskEmail object for warningTaskEmail.
ID.
emails
String
Include in taskEmail object for warningTaskEmail.
Email address that receives email notification when a task completes with errors.
tasks
Use a workflowTask object to define the following attributes for each task you want to include in the linear taskflow.
taskId
String
Yes
Include in the workflowTask object.
Task ID.
Yes
Include in the workflowTask object.
Workflow task type. Use one of the following codes:
  • - DMASK. Masking task.
  • - DRS. Replication task.
  • - DSS. Synchronization task.
  • - MTT. Mapping task.
  • - PCS. PowerCenter task.
name
String
Yes
Include in the workflowTask object.
Name of the task.
stopOnError
Boolean
Include in the workflowTask object.
Stops the linear taskflow if the task fails to complete. Use one of the following options:
  • - 1. True. Stop on error.
  • - 2. False. Do not stop on error.
stopOnWarning
Boolean
Include in the workflowTask object.
Stops the linear taskflow if a task completes with warnings. Use one of the following options:
  • - 1. True. Stop on error.
  • - 2. False. Do not stop on error.
scheduleId
String
Schedule for the linear taskflow.

POST response

If successful, returns the workflow response object for the linear taskflow that you created or updated.
Returns the error object if errors occur.

DELETE request

To delete a linear taskflow, use the linear taskflow ID in the following URI:
/api/v2/workflow/<id>

DELETE response

Returns the 200 response code if the request is successful.
Returns the error object if errors occur.

POST example

To update an existing linear taskflow with an ID of 0000342J0000K, you might use the following request:
POST <serverUrl>/api/v2/workflow/0000342J0000K
Content-Type: application/json
Accept: application/json
icSessionId: <icSessionId>

{
"@type": "workflow",
"name": "linear taskflow",
"tasks":[{
"@type":"workflowTask",
"taskId":"0000100I00000000001G",
"type":"DSS",
"name":"DSS_DQ5",
"stopOnError":"false"
},{
"@type":"workflowTask",
"taskId":"0000100Z0000000000B8",
"type":"MTT",
"name":"CIT_SimpleTemplate2",
"stopOnError":"false"
},{
"@type":"workflowTask",
"taskId":"0000100G000000000002",
"type":"DRS",
"name":"SF2File",
"stopOnError":"false"
}]
}
A successful request returns the workflow object that you updated.