Skip to main content

Execution API

A pipeline execution is one run of a pipeline. An execution can be triggered either automatically or via an API request. The automatic trigger depends on the type of input connector and the schedule you set for your pipeline. If you set an event-based input connector (trigger_type === "EVENT_BASE"), the execution is created when data is sent to nuvo via the corresponding connector. If you set a time-based input connector (trigger_type === "TIME_BASE") along with a schedule, the execution is created according to that schedule. Without a set schedule, the execution is only created if manually triggered via the API.

Use this base URL and add the corresponding endpoint respectively:

Base URL

api-gateway.getnuvo.com/dp/api/v1/

Create

Endpoint

POST /execution/

Payload

pipeline_id

The ID of the pipeline for which you want to create an execution

Response

{
"pipeline_id": "string"
}

Response

Attributes

List of all executions created for the pipeline. For HTTP(S) and email input connectors, there is only one execution. With (S)FTP and S3 input connectors, you can process multiple files, and a new execution is created for each file.

id

The ID of the created execution

pipeline

The ID of the pipeline for which you want to create an execution

status

The status of the execution which is always PROCESSING after triggering a new execution

trigger_type

Indicates how the execution was triggered. When using the POST request via the API, it is always set to MANUAL.

Response

{
"data": [
{
"id": "string",
"pipeline": "string",
"status": "PROCESSING",
"trigger_type": "MANUAL"
}
]
}

Read by ID

Endpoint

GET /execution/{id}

Attributes

id

The ID of the created execution

pipeline

The ID of the pipeline for which you want to create an execution

status

The current status of the execution. An execution can have the following status:

  • SUCCESSFUL: The execution completed successfully
  • FAILED: The execution failed
  • PROCESSING: The execution is still running

error

Indicates why the execution failed. It's only returned when the execution actually failed.

message

The error message explaining why the execution failed

type

The type of error that occurred:

  • SOURCE_UNRESPONSIVE: The connection to the input source/input connector could not be established
  • SOURCE_DATA_EMPTY: The file read from the input source/input connector contained no data
  • PARSING_FAILURE: The input file could not be parsed correctly
  • DESTINATION_UNRESPONSIVE: The connection to the destination/output connector could not be established
  • DESTINATION_SIZE_LIMIT: The destination's size limitations have been reached
  • WRITE_FILE_FAILURE: The connection to the destination/output connector was successful, but the output file writing failed due to lack of permissions
  • ERROR_THRESHOLD_EXCEEDED: The number of erroneous cells exceeded the defined error threshold

logs

A list of all runs of the execution. If an execution failed and was re-run after fixing it, there will be more than one entry in this list.

status

The status of the execution after this run:

  • SUCCESSFUL: The execution completed successfully
  • FAILED: The execution failed
  • PROCESSING: The execution is still running

data

Contains metadata of the execution run

total_rows

Total number of output rows after the mappings and transformations were applied

total_cells

Total number of output cells after the mappings and transformations were applied

total_error_cells

Total number of output cells after the mappings and transformations were applied that contain at least one error

total_error_rows

Total number of output rows after the mappings and transformations were applied that contain at least one error

duration

The time the execution run took, in milliseconds

started_on

The date and time the execution run was started

type

Indicates whether the execution run was the first attempt or occurred after a fix:

  • CREATE: The run was the first attempt to complete the execution
  • FIX: The run was created after a failed pipeline was fixed

configuration

The ID of the pipeline configuration used for the execution

trigger_type

Indicates how the execution was triggered:

  • MANUAL: Started via the API
  • SCHEDULED: Started based on the set schedule of the pipeline
  • EVENT: Started based on data being sent via an event-based input connector

created_at

The date and time when the execution was first created

created_by

Information about whom created the execution

id

The ID of the user or sub-organization who created the execution

name

The name of the user or sub-organization who created the execution

identifier

The identifier of the user or sub-organization who created the execution

type

Defines the type of user who created the execution:

  • USER: A user of your organization
  • SUB_ORG: A sub-organization that is part of your organization

updated_at

The date and time when the execution was last updated

updated_by

Information about whom last updated the execution

id

The ID of the user or sub-organization who last updated the execution

name

The name of the user or sub-organization who last updated the execution

identifier

The identifier of the user or sub-organization who last updated the execution

type

Defines the type of user who last updated the execution:

  • USER: A user of your organization
  • SUB_ORG: A sub-organization that is part of your organization

Response

{
"data": {
"id": "string",
"pipeline": "string",
"status": "FAILED",
"error": {
"message": "string",
"type": "ERROR_THRESHOLD_EXCEEDED"
},
"logs": [
{
"status": "FAILED",
"data": {
"total_rows": 0,
"total_cells": 0,
"total_error_cells": 0,
"total_error_rows": 0
},
"duration": 0,
"started_at": "2024-09-03T09:34:52.518Z",
"type": "CREATED"
}
],
"trigger_type": "MANUAL",
"configuration": "string",
"created_at": "2022-03-07 12:48:28.653",
"created_by": {
"id": "string",
"name": "string",
"identifier": "string",
"type": "USER"
},
"updated_by": {
"id": "string",
"name": "string",
"identifier": "string",
"type": "USER"
},
"updated_at": "2022-03-07 12:48:28.653"
}
}

Read all

To further refine the response you can use query parameters like sort, filters, pagination and options. Look at a more detailed explanation here.

Endpoint

GET /execution/

Attributes

id

The ID of the created execution

pipeline

The ID of the pipeline for which you want to create an execution

status

The current status of the execution. An execution can have the following status:

  • SUCCESSFUL: The execution completed successfully
  • FAILED: The execution failed
  • PROCESSING: The execution is still running

error

Indicates why the execution failed. It's only returned when the execution actually failed.

message

The error message explaining why the execution failed

type

The type of error that occurred:

  • SOURCE_UNRESPONSIVE: The connection to the input source/input connector could not be established
  • SOURCE_DATA_EMPTY: The file read from the input source/input connector contained no data
  • PARSING_FAILURE: The input file could not be parsed correctly
  • DESTINATION_UNRESPONSIVE: The connection to the destination/output connector could not be established
  • DESTINATION_SIZE_LIMIT: The destination's size limitations have been reached
  • WRITE_FILE_FAILURE: The connection to the destination/output connector was successful, but the output file writing failed due to lack of permissions
  • ERROR_THRESHOLD_EXCEEDED: The number of erroneous cells exceeded the defined error threshold

trigger_type

Indicates how the execution was triggered:

  • MANUAL: Started via the API
  • SCHEDULED: Started based on the set schedule of the pipeline
  • EVENT: Started based on data being sent via an event-based input connector

created_at

The date and time when the execution was first created

created_by

Information about whom created the execution

id

The ID of the user or sub-organization who created the execution

name

The name of the user or sub-organization who created the execution

identifier

The identifier of the user or sub-organization who created the execution

type

Defines the type of user who created the execution:

  • USER: A user of your organization
  • SUB_ORG: A sub-organization that is part of your organization

updated_at

The date and time when the execution was last updated

updated_by

Information about whom last updated the execution

id

The ID of the user or sub-organization who last updated the execution

name

The name of the user or sub-organization who last updated the execution

identifier

The identifier of the user or sub-organization who last updated the execution

type

Defines the type of user who last updated the execution:

  • USER: A user of your organization
  • SUB_ORG: A sub-organization that is part of your organization

pagination

An object containing metadata about the result

total

The number of entries in the data array

offset

The offset set in the request parameters

limit

The limit set in the request parameters

Response

{
"data": [
{
"id": "string",
"pipeline": "string",
"status": "SUCCESSFUL",
"error": {
"message": "string",
"type": "ERROR_THRESHOLD_EXCEEDED"
},
"trigger_type": "MANUAL",
"created_at": "2022-03-07 12:48:28.653",
"created_by": {
"id": "string",
"name": "string",
"identifier": "string",
"type": "USER"
},
"updated_by": {
"id": "string",
"name": "string",
"identifier": "string",
"type": "USER"
},
"updated_at": "2022-03-07 12:48:28.653"
}
],
"pagination": {
"total": 0,
"offset": 0,
"limit": 0
}
}