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 -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 -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 -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 -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 -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.
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 -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 -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 -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