Data Factory Job Execution API
Introduction
A Data Factory job execution is the execution of a job, owned or shared, in the Data Factory platform on your account.
The Data Factory Job Executions API Swagger definition is available on our Product-Live API portal here.
General information
- The payload and the output of a job execution is a JSON object.
- The value inside the
payload
andoutput
properties may be of any type. - If a file is present in the payload or output properties, it will be presented as a JSON object as described below:
object
: Alwaysdata_factory_file
id
: ID of the filecreatedAt
: Creation date of the file (ISO 8601 format)updatedAt
: Last update date of the file (ISO 8601 format)url
: Direct download URL for the given file
- Rate limit: 50 requests per minute
Create a Job Execution (Run a Job)
Request URL
Path parameters
None
Request parameters
none
Request Headers
Header | Type | Description |
---|---|---|
accept | string | */* |
Content-Type | string | application/json |
X-Api-Key | string | Your account API key |
Request Body
json
{
"jobId": "65819ba43ad5b963658ab35d"
}
1
2
3
2
3
Request Example
bash
curl -X 'POST' \
'https://api.product-live.com/v1/data_factory/job_executions' \
-H 'accept: */*' \
-H 'X-Api-Key: <REDACTED>' \
-H 'Content-Type: application/json' \
-d '{
"jobId": "65819ba43ad5b963658ab35d",
}'
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
ts
import { createConfiguration, ServerConfiguration, JobExecutionApi } from '@product-live/api-sdk';
export async function main(): Promise<void> {
const configuration = createConfiguration({
baseServer: new ServerConfiguration(process.env.API_BASE_PATH || '', {}),
authMethods: {
ApiKeyAuthHeader: process.env.API_ACCESS_TOKEN
}
});
const jobExecutionApi = new JobExecutionApi(configuration);
await jobExecutionApi.createJobExecution({
jobId: 'jobId',
input: {
someKey: 'some data'
}
});
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Response Example
json
{
"object": "job_execution",
"jobId": "65819ba43ad5b963658ab35d",
"id": "658445e23ad5b929948ab731",
"pipelineId": "6582b5fb7bcba4a7a1147473",
"createdAt": "2023-12-21T14:04:18.511Z",
"input": {
"context": {
"jobAccountId": "2629",
"jobId": "65819ba43ad5b963658ab35d",
"userShardId": "2629",
"userAccountId": "2629",
"userId": "5443"
}
},
"startedAt": "2023-12-21T14:04:18.469Z",
"status": "RUNNING",
"output": {},
"info": {
"title": "Import Schema"
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Get a Job Execution by Id
Request URL
Path parameters
Parameter | Type | Description |
---|---|---|
jobExecutionId | string | A job execution id, referenced as id in the Create a Job Execution response |
Request parameters
None
Request Headers
Header | Type | Description |
---|---|---|
accept | string | */* |
X-Api-Key | string | Your account API key |
Request Body
None
Request Example
bash
curl -X 'GET' \
'https://api.product-live.com/v1/data_factory/job_executions/658445e23ad5b929948ab731' \
-H 'accept: */*' \
-H 'X-Api-Key: <REDACTED>'
1
2
3
4
2
3
4
ts
import { createConfiguration, ServerConfiguration, JobExecutionApi } from '@product-live/api-sdk';
export async function main(): Promise<void> {
const configuration = createConfiguration({
baseServer: new ServerConfiguration(process.env.API_BASE_PATH || '', {}),
authMethods: {
ApiKeyAuthHeader: process.env.API_ACCESS_TOKEN
}
});
const jobExecutionApi = new JobExecutionApi(configuration);
const jobExecution = await jobExecutionApi.getJobExecutionById('job execution id');
}
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
Response Example
json
{
"object": "job_execution",
"jobId": "65819ba43ad5b963658ab35d",
"id": "658445e23ad5b929948ab731",
"pipelineId": "6582b5fb7bcba4a7a1147473",
"createdAt": "2023-12-21T14:04:18.511Z",
"endedAt": "2023-12-21T14:04:34.359Z",
"input": {
"context": {
"jobAccountId": "2629",
"jobId": "65819ba43ad5b963658ab35d",
"userShardId": "2629",
"userAccountId": "2629",
"userId": "5443"
}
},
"startedAt": "2023-12-21T14:04:18.469Z",
"status": "COMPLETED",
"output": {
"subWorkflowId": "0cc9caaa-01f7-44cc-be89-2e34181d248e",
"report": {
"url": "https://app.product-live.com/data-factory/2629/download/98d345609f420b36b4296849498f5692fe655518110e7b174456d921ab32b4e2/report.xml",
"filename": "report.xml"
}
},
"info": {
"title": "Import Schema"
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
List Job Executions
Request URL
Path parameters
None
Request parameters
Parameter | Type | Description |
---|---|---|
page | integer | Optional The page number to retrieve. Default value if missing : 0 |
size | integer | Optional The number of items per page. Default value if missing : 20 |
Request Headers
Header | Type | Description |
---|---|---|
accept | string | */* |
X-Api-Key | string | Your account API key |
Request Body
None
Request Example
bash
curl -X 'GET' \
'https://api.product-live.com/v1/data_factory/job_executions?size=10&page=0' \
-H 'accept: */*' \
-H 'X-Api-Key: <REDACTED>'
1
2
3
4
2
3
4
ts
import { createConfiguration, ServerConfiguration, JobExecutionApi } from '@product-live/api-sdk';
export async function main(): Promise<void> {
const configuration = createConfiguration({
baseServer: new ServerConfiguration(process.env.API_BASE_PATH || '', {}),
authMethods: {
ApiKeyAuthHeader: process.env.API_ACCESS_TOKEN
}
});
const jobExecutionApi = new JobExecutionApi(configuration);
const jobExecutions = await jobExecutionApi.getJobExecutions();
}
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
Response Example
json
{
"object": "list",
"data": [
{
"object": "job_execution",
"jobId": "65819ba43ad5b963658ab35d",
"id": "658445e23ad5b929948ab731",
"pipelineId": "6582b5fb7bcba4a7a1147473",
"createdAt": "2023-12-21T14:04:18.511Z",
"endedAt": "2023-12-21T14:04:34.359Z",
"input": {
"context": {
"jobAccountId": "2629",
"jobId": "65819ba43ad5b963658ab35d",
"userShardId": "2629",
"userAccountId": "2629",
"userId": "5443"
}
},
"startedAt": "2023-12-21T14:04:18.469Z",
"status": "COMPLETED",
"output": {
"subWorkflowId": "0cc9caaa-01f7-44cc-be89-2e34181d248e",
"report": {
"url": "https://app.stage.product-live.com/data-factory/2629/download/98d345609f420b36b4296849498f5692fe655518110e7b174456d921ab32b4e2/report.xml",
"filename": "report.xml"
}
},
"info": {
"title": "Import Schema"
}
}
],
"totalElements": 1
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Find Job Executions
Request URL
Path parameters
None
Request parameters
Parameter | Type | Description |
---|---|---|
page | integer | Optional The page number to retrieve. Default value if missing : 0 |
size | integer | Optional The number of items per page. Default value if missing : 10 |
Request headers
Header | Type | Value |
---|---|---|
accept | string | application/json |
X-Api-Key | string | Your account API key |
Request Body
See more details on the find request body in the dedicated page Find request.
json
{
"type": "eq",
"caseSensitive": true,
"field": "status",
"value": "COMPLETED"
}
1
2
3
4
5
6
2
3
4
5
6
json
{
"type": "and",
"queries": [
{
"type": "eq",
"caseSensitive": true,
"field": "status",
"value": "COMPLETED"
},
{
"type": "greater",
"caseSensitive": true,
"field": "createdAt",
"value": "2023-12-21T00:00:00.000Z"
}
]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Request Example
bash
curl -X 'POST' \
'https://api.product-live.com/v1/job_executions/find?page=0&size=10' \
-H 'accept: */*' \
-H 'X-Api-Key: <REDACTED>'
-d '{
"type": "and",
"queries": [
{
"type": "eq",
"caseSensitive": true,
"field": "status",
"value": "COMPLETED"
},
{
"type": "greater",
"caseSensitive": true,
"field": "createdAt",
"value": "2023-12-21T00:00:00.000Z"
}
]
}'
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Response example
json
{
"object": "list",
"data": [
{
"object": "job_execution",
"jobId": "65819ba43ad5b963658ab35d",
"id": "658445e23ad5b929948ab731",
"pipelineId": "6582b5fb7bcba4a7a1147473",
"createdAt": "2023-12-21T14:04:18.511Z",
"endedAt": "2023-12-21T14:04:34.359Z",
"input": {
"context": {
"jobAccountId": "2629",
"jobId": "65819ba43ad5b963658ab35d",
"userShardId": "2629",
"userAccountId": "2629",
"userId": "5443"
}
},
"startedAt": "2023-12-21T14:04:18.469Z",
"status": "COMPLETED",
"output": {
"subWorkflowId": "0cc9caaa-01f7-44cc-be89-2e34181d248e",
"report": {
"url": "https://app.product-live.com/data-factory/2629/download/98d345609f420b36b4296849498f5692fe655518110e7b174456d921ab32b4e2/report.xml",
"filename": "report.xml"
}
},
"info": {
"title": "Import Schema"
}
}
],
"totalElements": 12
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35