Skip to main content

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-organizations
  • PRIVATE: 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-organizations
  • PRIVATE: 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 organization
  • SUB_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 organization
  • SUB_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-organizations
  • PRIVATE: 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-organizations
  • PRIVATE: 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 organization
  • SUB_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 organization
  • SUB_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-organizations
  • PRIVATE: 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 organization
  • SUB_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 organization
  • SUB_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-organizations
  • PRIVATE: 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 organization
  • SUB_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 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, "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 } }