Skip to main content

Get started with the nuvo API

The nuvo pipeline API gives you full flexibility to manage your own pipelines as well as those of your customers. Additionally, it allows you to decide whether to let your customers set up and manage their own pipelines, and how you want to integrate the nuvo pipeline into your system.

With the nuvo API, you can create all pipeline components (such as connectors, pipeline templates, target data models, etc.) as well as retrieve all pipelines and their executions.

Here is summary of what you can do with the nuvo pipeline API:

  • Create, update, read & delete connectors
    • If you want to learn more about connectors, get more information here
  • Create, update, read & delete Target Data Models (TDMs)
    • If you want to learn more about TDMs, get more information here
  • Create, update, read & delete pipeline templates
    • If you want to learn more about pipeline templates, get more information here
  • Update, read & delete pipelines
    • If you want to learn more about pipelines, get more information here
  • Create & read pipeline executions
    • If you want to learn more about executions, get more information here
  • Create, update, read & delete users
    • If you want to learn more about users, get more information here
  • Create, update, read & delete sub-organizations
    • If you want to learn more about users, get more information here

Let’s get started

In this guide, we will go through the general process of integrating, working, and managing nuvo pipelines.

We’ll show you how to create the components needed for a pipeline, such as input and output connectors and the target data model. We’ll also guide you through creating your first pipeline template and retrieving your pipelines along with their execution history.

Please note that you currently cannot create pipelines via the nuvo pipeline API. Though, you can do this the following way:

  • Integrating the CreatePipeline embeddable component into your application. You can follow our guide here

Get your access token

Learn more about our authentication API here.

Use this endpoint

Endpoint

POST api-gateway.getnuvo.com/dp/api/v1/auth/access-token

Send a POST request to get your access token

cURL
Javascript
curl -X 'POST'
'https://api-gateway.getnuvo.com/dp/api/v1/auth/access-token\'
-H 'accept: application/json'
-H 'Content-Type: application/json'
-d '{
"license_key": LICENSE_KEY,
"auth": {
"identifier": E-MAIL,
"type": "USER"
}
}' # Replace LICENSE_KEY with your license key & E-MAIL with a user's email

Create a target data model (TDM)

Learn more about our target data model API here.

Use this endpoint

Endpoint

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

Send a POST request to create a TDM

cURL
Javascript
curl -X 'POST'
'https://api-gateway.getnuvo.com/dp/api/v1/tdm/'
-H 'accept: application/json'
-H 'Authorization: ACCESS_TOKEN'
-H 'Content-Type: application/json'
-d '{
"name": "Sample TDM",
"columns": [
{
"key": "company_id",
"label": "Company ID",
"columnType": "string",
"validations": [
{
"validate": "unique"
},
{
"validate": "required"
}
]
},
{
"key": "company_name",
"label": "Company name",
"columnType": "string",
"validations": [
{
"validate": "required_with",
"columns": [
"company_id"
],
"errorMessage": "Custom error message"
}
]
},
{
"key": "full_name",
"label": "Full name",
"columnType": "string",
"validations": [
{
"validate": "required"
}
]
},
{
"key": "email_address",
"label": "Email address",
"columnType": "email",
"validations": [
{
"validate": "required"
}
]
},
{
"key": "street",
"label": "Street",
"columnType": "string"
},
{
"key": "city",
"label": "City",
"columnType": "string",
"validations": [
{
"validate": "required"
}
]
},
{
"key": "country",
"label": "Country",
"columnType": "string",
"validations": [
{
"validate": "required"
}
]
},
{
"key": "total_costs",
"label": "Total costs",
"columnType": "float"
},
{
"key": "close_date",
"label": "Close date",
"columnType": "date",
"outputFormat": "DD.MM.YYYY"
}
],
"permissions": {
"level": "PUBLIC"
}
}' # Replace ACCESS_TOKEN with the access token from the first step

Create an input connector

Learn more about our connector API here

Use this endpoint

Endpoint

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

Send a POST request to create an FTP input connector

cURL
Javascript
curl -X 'POST'
'https://api-gateway.getnuvo.com/dp/api/v1/connector/'
-H 'accept: application/json'
-H 'Authorization: ACCESS_TOKEN'
-H 'Content-Type: application/json'
-d '{
"name": "FTP Input Connector",
"type": "INPUT",
"node_type": "FTP",
"configuration": {
"host": "ftp.example.com",
"port": "1111",
"username": "username",
"password": "password",
"protocol": "FTP",
"advance_config": {
"inclusion_tag": [
"Test"
]
},
"directory_path": "/input/example/",
"file_name": "input.json"
},
"trigger_type": "TIME_BASE",
"permissions": {
"level": "PUBLIC"
}
}' # Replace ACCESS_TOKEN with the access token from the first step

Create an output connector

Learn more about our connector API here

Use this endpoint

Endpoint

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

Send a POST request to create an FTP output connector

cURL
Javascript
curl -X 'POST'
'https://api-gateway.getnuvo.com/dp/api/v1/connector/'
-H 'accept: application/json'
-H 'Authorization: ACCESS_TOKEN'
-H 'Content-Type: application/json'
-d '{
"name": "FTP Output Connector",
"type": "OUTPUT",
"node_type": "FTP",
"configuration": {
"host": "ftp.example.com",
"port": "1111",
"username": "username",
"password": "password",
"protocol": "FTP",
"advance_config": {
"exclusion_tag": null,
"inclusion_tag": null,
"new_name": null,
"after_process_option": null
},
"directory_path": "/output/example/"
"file_name": "output.json"
},
"trigger_type": "EVENT_BASE",
"permissions": {
"level": "PUBLIC"
}
}' # Replace ACCESS_TOKEN with the access token from the first step

Create a pipeline template

Learn more about our pipeline template API here

Use this endpoint

Endpoint

POST api-gateway.getnuvo.com/dp/api/v1/pipeline-template

Send a POST request to create a pipeline template

cURL
Javascript
curl -X 'POST'
'https://api-gateway.getnuvo.com/dp/api/v1/pipeline-template/'
-H 'accept: application/json'
-H 'Authorization: ACCESS_TOKEN'
-H 'Content-Type: application/json'
-d '{
"name": "Pipeline template",
"pipeline_name": "Pipeline name",
"input_connectors": ["6695092a8266536c28b97000"],
"output_connectors": ["66bb5afde31b39b57a580000"],
"schedule_config": {
"frequency": "HOURLY",
"interval": 6,
"starts_on": "2024-09-21T06:57:06.672Z",
"ends_on": "2024-09-30T06:57:06.672Z"
},
"error_config": {
"error_threshold": 32
}
}' # Replace ACCESS_TOKEN with the access token from the first step

Create pipeline

To allow users, either internally or your customers, create pipelines, you have to integrate the CreatePipeline embeddable. This component is easy to implement into your existing system and provides a user-friendly workflow. Get more information about the embeddable here, or follow our guide to add it to your application.

info

Currently, it’s not possible to create pipelines via the nuvo pipeline API.

Create a pipeline execution

Learn more about our execution API here

Use this endpoint

Endpoint

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

Send a POST request to trigger an execution

cURL
Javascript
curl -X 'POST'
'https://api-gateway.getnuvo.com/dp/api/v1/execution/'
-H 'accept: application/json'
-H 'Authorization: ACCESS_TOKEN'
-H 'Content-Type: application/json'
-d '{
"pipeline_id": "66def6ae83c0e6a298ecc045"
}' # Replace ACCESS_TOKEN with the access token from the first step

Read all pipelines of your organization

Learn more about our pipeline API here.

Use this endpoint

Endpoint

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

Send a GET request to get all pipelines

cURL
Javascript
curl -X 'GET'
'https://api-gateway.getnuvo.com/dp/api/v1/pipeline/?sort=%7B%7D&filters=%7B%7D&options=%7B%7D&pagination=%7B%7D'
-H 'accept: application/json'
-H 'Authorization: ACCESS_TOKEN'
# Replace ACCESS_TOKEN with the access token from the first step

Read an execution

Learn more about our execution API here.

Use this endpoint

Endpoint

GET api-gateway.getnuvo.com/dp/api/v1/execution/{id}

Send a GET request to get all executions for one pipeline

cURL
Javascript
curl -X 'GET'
'https://api-gateway.getnuvo.com/dp/api/v1/execution/66dff0b1fbcf5a2f63857foo'
-H 'accept: application/json'
-H 'Authorization: ACCESS_TOKEN'
# Replace ACCESS_TOKEN with the access token from the first step