Use the job resource to start or stop a task based on ID or name. You can also retrieve job completion status.
To start or stop a task based on an ID, you can use the eight-character object ID for the task or the federated task ID.
To find the eight-character object ID, see Tasks. However, this resource returns a task ID that you can use only to run tasks located in the Default folder.
If your organization uses projects and folders, see Lookup or Objects to retrieve the federated task ID.
For a Data Ingestion and Replicationfile ingestion and replication task, use the file ingestion and replication job resource. For more information, see File Ingestion and Replication REST API.
Start POST Request
To start a task, use the following URI:
/api/v2/job
With this URI, use the following attributes in a job object:
Field
Type
Required
Description
taskId
String
Required if taskName or taskFederatedId is not included.
Task or linear taskflow ID. Use taskId or taskName in the URI.
You can include this task ID when the task is located in the Default folder.
taskFederatedId
String
Required if the task is not located in the Default folder.
Global unique identifier for the task, which includes the folder path to the task.
taskName
String
Required if taskId or taskFederatedId is not included.
Task or linear taskflow name. Use taskId or taskName in the URI.
taskType
String
Yes
The type of task. For Data Integration, use one of the following codes:
- DMASK. Masking task.
- DRS. Replication task.
- DSS. Synchronization task.
- MTT. Mapping task.
- PCS. PowerCenter task.
- WORKFLOW. Linear taskflow.
callbackURL
String
-
A valid, publicly available URL. The service posts the job status to the callbackURL.
Start POST Response
Returns the job object if the request is successful. Returns an error object if errors occur.
The job object includes the following attributes:
Field
Type
Description
taskId
String
Task or linear taskflow ID.
taskFederatedId
String
Global unique identifier for the task, which includes the folder path to the task.
taskName
String
Task or linear taskflow name.
taskType
String
The type of task. Returns one of the following codes for Data Integration:
- DMASK. Masking task.
- DRS. Replication task.
- DSS. Synchronization task.
- MTT. Mapping task.
- PCS. PowerCenter task.
- WORKFLOW. Linear taskflow.
runId
Long
ID of the job.
callbackURL
String
Status of the job.
Start POST Request Example
To start a linear taskflow with an ID of 0034J90000000M in JSON, you might use the following request:
POST <serverUrl>/api/v2/job HTTP/1.0 Content-Type: application/json Accept: application/json icSessionId: <icSessionId>
To start a mapping task with the ID of 0100000Z000009, you might use the following request. To run multiple instances of the task simultaneously, the request includes the runtime object.
POST <serverUrl>/api/v2/job HTTP/1.0 Content-Type: application/json Accept: application/json icSessionId: <icSessionId>
When you include the callbackURL in the job request, the service sends a request to the callback URL when the job completes. The service always uses a JSON request for callbacks.
A callback might be called multiple times. For example, multiple callbacks might occur in the following situations:
•Your callback server returns an HTTP status code other than 200.
•Your callback server doesn't respond within 30 seconds.
•Your callback server is down.
•There is a transient network failure.
In any of these situations, the URL connection breaks and the service counts the break as a failed attempt. The service will make three immediate attempts to receive a successful response. Afterward, the attempts will occur in exponential increments. For example, the attempts might begin with a 30-second interval and progress up to a maximum 3-minute interval, until the total time reaches 30 minutes.
The service executes the POST request from the callback URL. The following text is a sample return: