Target Data Model API
Target data models define the structure of the output data in all nuvo pipelines. They ensure that the mapped and transformed data is organized according to the desired format and schema required by the destination system.
Within a target data model, you can define the name of each column at both a UI-based level (label
) and a technical level (key
). Additionally, you can apply required
, unique
, and regex
validations, as well as specify the column type (e.g., float, int, date, currency, etc.).
This ensures that the pipeline’s output not only has the correct structure but also that the values are in the correct format.
Use this base URL and add the corresponding endpoint respectively:
Base URL
api-gateway.getnuvo.com/dp/api/v1/
Create
Endpoint
POST /tdm/
Payload
Attributes
name
The name of the TDM
columns
List of all columns in your TDM
key
The column key used to uniquely identify each column
label
The name of the column as displayed to users in the interface
columnType
The type of the column, defining which data type and format is expected for this column. Learn more about column types here
validations
A list of validation rules applied to the column. Learn more about validations here
validate
Set a pre-defined validation rule. Refer to this page here to see all possible values
regex
Defines a regex validation by adding your JSON-escaped regular expression here when validate
is set to regex
. Learn more about regex validations here
columnValues
An object containing the key related to the column name you want to select and the value you want to validate against
columns
A list of all columns that need to be checked against the column using this validation rule
errorMessage
Set a custom error message for one of the validation rules above
permissions
Defines whether the TDM should be available to all your sub-organizations or only for internal use
level
PUBLIC
: The TDM can also be used by sub-organizationsPRIVATE
: The TDM can only be used by users within your organization
Payload
{
"name": "string",
"columns": [
{
"key": "string",
"label": "string",
"columnType": "string",
"validations": [
{
"validate": "regex",
"regex": "string",
"columnValues": {},
"columns": [
"string"
],
"errorMessage": "string"
}
]
}
],
"permissions": {
"level": "PUBLIC"
}
}
Response
Attributes
id
The ID of the TDM
name
The name of the TDM
columns
List of all columns in your TDM
key
The column key used to uniquely identify each column
label
The name of the column as displayed to users in the interface
columnType
The type of the column, defining which data type and format is expected for this column. Learn more about column types here
validations
A list of validation rules applied to the column. Learn more about validations here
validate
Set a pre-defined validation rule. Refer to this page here to see all possible values
regex
Defines a regex validation by adding your JSON-escaped regular expression here when validate
is set to regex
. Learn more about regex validations here
columnValues
An object containing the key related to the column name you want to select and the value you want to validate against
columns
A list of all columns that need to be checked against the column using this validation rule
errorMessage
Set a custom error message for one of the validation rules above
permissions
Defines whether the TDM should be available to all your sub-organizations or only for internal use
level
PUBLIC
: The TDM can also be used by sub-organizationsPRIVATE
: The TDM can only be used by users within your organization
created_at
The date and time when the TDM was first created
created_by
Information about whom created the TDM
id
The ID of the user or sub-organization who created the TDM
name
The name of the user or sub-organization who created the TDM
identifier
The identifier of the user or sub-organization who created the TDM
type
Defines the type of user who created the TDM:
USER
: A user of your organizationSUB_ORG
: A sub-organization that is part of your organization
updated_at
The date and time when the TDM was last updated
updated_by
Information about whom last updated the TDM
id
The ID of the user or sub-organization who last updated the TDM
name
The name of the user or sub-organization who last updated the TDM
identifier
The identifier of the user or sub-organization who last updated the TDM
type
Defines the type of user who last updated the TDM:
USER
: A user of your organizationSUB_ORG
: A sub-organization that is part of your organization
Response
{
"data": {
"id": "string",
"name": "string",
"columns": [
{
"key": "string",
"label": "string",
"columnType": "string",
"validations": [
{
"validate": "regex",
"regex": "string",
"columnValues": {},
"columns": [
"string"
],
"errorMessage": "string"
}
]
}
],
"permissions": {
"level": "PUBLIC"
},
"created_at": "2022-03-07 12:48:28.653",
"created_by": {
"id": "string",
"name": "string",
"identifier": "string",
"type": "USER"
},
"updated_at": "2022-03-07 12:48:28.653",
"updated_by": {
"id": "string",
"name": "string",
"identifier": "string",
"type": "USER"
}
}
}
Update
Endpoint
PUT /tdm/{id}
Payload
Attributes
name
The name of the TDM
columns
List of all columns in your TDM
key
The column key used to uniquely identify each column
label
The name of the column as displayed to users in the interface
columnType
The type of the column, defining which data type and format is expected for this column. Learn more about column types here
validations
A list of validation rules applied to the column. Learn more about validations here
validate
Set a pre-defined validation rule. Refer to this page here to see all possible values
regex
Defines a regex validation by adding your JSON-escaped regular expression here when validate
is set to regex
. Learn more about regex validations here
columnValues
An object containing the key related to the column name you want to select and the value you want to validate against
columns
A list of all columns that need to be checked against the column using this validation rule
errorMessage
Set a custom error message for one of the validation rules above
permissions
Defines whether the TDM should be available to all your sub-organizations or only for internal use
level
PUBLIC
: The TDM can also be used by sub-organizationsPRIVATE
: The TDM can only be used by users within your organization
Payload
{
"name": "string",
"columns": [
{
"key": "string",
"label": "string",
"columnType": "string",
"validations": [
{
"validate": "regex",
"regex": "string",
"columnValues": {},
"columns": [
"string"
],
"errorMessage": "string"
}
]
}
],
"permissions": {
"level": "PUBLIC"
}
}
Response
Attributes
id
The ID of the TDM
name
The name of the TDM
columns
List of all columns in your TDM
key
The column key used to uniquely identify each column
label
The name of the column as displayed to users in the interface
columnType
The type of the column, defining which data type and format is expected for this column. Learn more about column types here
validations
A list of validation rules applied to the column. Learn more about validations here
validate
Set a pre-defined validation rule. Refer to this page here to see all possible values
regex
Defines a regex validation by adding your JSON-escaped regular expression here when validate
is set to regex
. Learn more about regex validations here
columnValues
An object containing the key related to the column name you want to select and the value you want to validate against
columns
A list of all columns that need to be checked against the column using this validation rule
errorMessage
Set a custom error message for one of the validation rules above
permissions
Defines whether the TDM should be available to all your sub-organizations or only for internal use
level
PUBLIC
: The TDM can also be used by sub-organizationsPRIVATE
: The TDM can only be used by users within your organization
created_at
The date and time when the TDM was first created
created_by
Information about whom created the TDM
id
The ID of the user or sub-organization who created the TDM
name
The name of the user or sub-organization who created the TDM
identifier
The identifier of the user or sub-organization who created the TDM
type
Defines the type of user who created the TDM:
USER
: A user of your organizationSUB_ORG
: A sub-organization that is part of your organization
updated_at
The date and time when the TDM was last updated
updated_by
Information about whom last updated the TDM
id
The ID of the user or sub-organization who last updated the TDM
name
The name of the user or sub-organization who last updated the TDM
identifier
The identifier of the user or sub-organization who last updated the TDM
type
Defines the type of user who last updated the TDM:
USER
: A user of your organizationSUB_ORG
: A sub-organization that is part of your organization
Response
{
"data": {
"id": "string",
"name": "string",
"columns": [
{
"key": "string",
"label": "string",
"columnType": "string",
"validations": [
{
"validate": "regex",
"regex": "string",
"columnValues": {},
"columns": [
"string"
],
"errorMessage": "string"
}
]
}
],
"permissions": {
"level": "PUBLIC"
},
"created_at": "2022-03-07 12:48:28.653",
"created_by": {
"id": "string",
"name": "string",
"identifier": "string",
"type": "USER"
},
"updated_at": "2022-03-07 12:48:28.653",
"updated_by": {
"id": "string",
"name": "string",
"identifier": "string",
"type": "USER"
}
}
}
Read by ID
Endpoint
GET /tdm/{id}
Response
Attributes
id
The ID of the TDM
name
The name of the TDM
columns
List of all columns in your TDM
key
The column key used to uniquely identify each column
label
The name of the column as displayed to users in the interface
columnType
The type of the column, defining which data type and format is expected for this column. Learn more about column types here
validations
A list of validation rules applied to the column. Learn more about validations here
validate
Set a pre-defined validation rule. Refer to this page here to see all possible values
regex
Defines a regex validation by adding your JSON-escaped regular expression here when validate
is set to regex
. Learn more about regex validations here
columnValues
An object containing the key related to the column name you want to select and the value you want to validate against
columns
A list of all columns that need to be checked against the column using this validation rule
errorMessage
Set a custom error message for one of the validation rules above
permissions
Defines whether the TDM should be available to all your sub-organizations or only for internal use
level
PUBLIC
: The TDM can also be used by sub-organizationsPRIVATE
: The TDM can only be used by users within your organization
created_at
The date and time when the TDM was first created
created_by
Information about whom created the TDM
id
The ID of the user or sub-organization who created the TDM
name
The name of the user or sub-organization who created the TDM
identifier
The identifier of the user or sub-organization who created the TDM
type
Defines the type of user who created the TDM:
USER
: A user of your organizationSUB_ORG
: A sub-organization that is part of your organization
updated_at
The date and time when the TDM was last updated
updated_by
Information about whom last updated the TDM
id
The ID of the user or sub-organization who last updated the TDM
name
The name of the user or sub-organization who last updated the TDM
identifier
The identifier of the user or sub-organization who last updated the TDM
type
Defines the type of user who last updated the TDM:
USER
: A user of your organizationSUB_ORG
: A sub-organization that is part of your organization
Response
{
"data": {
"id": "string",
"name": "string",
"columns": [
{
"key": "string",
"label": "string",
"columnType": "string",
"validations": [
{
"validate": "regex",
"regex": "string",
"columnValues": {},
"columns": [
"string"
],
"errorMessage": "string"
}
]
}
],
"permissions": {
"level": "PUBLIC"
},
"created_at": "2022-03-07 12:48:28.653",
"created_by": {
"id": "string",
"name": "string",
"identifier": "string",
"type": "USER"
},
"updated_at": "2022-03-07 12:48:28.653",
"updated_by": {
"id": "string",
"name": "string",
"identifier": "string",
"type": "USER"
}
}
}
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 /tdm/
Response
Attributes
id
The ID of the TDM
name
The name of the TDM
permissions
Defines whether the TDM should be available to all your sub-organizations or only for internal use
level
PUBLIC
: The TDM can also be used by sub-organizationsPRIVATE
: The TDM can only be used by users within your organization
created_at
The date and time when the TDM was first created
created_by
Information about whom created the TDM
id
The ID of the user or sub-organization who created the TDM
name
The name of the user or sub-organization who created the TDM
identifier
The identifier of the user or sub-organization who created the TDM
type
Defines the type of user who created the TDM:
USER
: A user of your organizationSUB_ORG
: A sub-organization that is part of your organization
updated_at
The date and time when the TDM was last updated
updated_by
Information about whom last updated the TDM
id
The ID of the user or sub-organization who last updated the TDM
name
The name of the user or sub-organization who last updated the TDM
identifier
The identifier of the user or sub-organization who last updated the TDM
type
Defines the type of user who last updated the TDM:
USER
: A user of your organizationSUB_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",
"name": "string",
"permissions": {
"level": "PUBLIC"
},
"created_at": "2022-03-07 12:48:28.653",
"created_by": {
"id": "string",
"name": "string",
"identifier": "string",
"type": "USER"
},
"updated_at": "2022-03-07 12:48:28.653",
"updated_by": {
"id": "string",
"name": "string",
"identifier": "string",
"type": "USER"
}
}
],
"pagination": {
"total": 0,
"offset": 0,
"limit": 0
}
}
Delete
Endpoint
DELETE /tdm/{id}
Response
Attributes
message
Message confirming the deletion of the TDM or providing an error message
Response
{
"data": {
"message": "string"
}
}