Skip to content

API Documentation

Novo Nordisk Data Marketplace API allows for automated integration within the platform. It enables creation/modification of the following :

  1. Data Product
  2. Data Usage Agreements (Approval/Rejection)
  3. Data Contracts
  4. Data Assets
  5. Teams
  6. Data Sources

An API key is required for interacting with the API, which will be provided by NNDM team on project onboard.

/api/dataproducts

GET

Summary:

Get all data products

Description:

Get all data products of an organization.

Responses
Code Description
200 List of data products

/api/dataproducts/{id}

PUT

Summary:

Add or update a data product

Description:

Add a new data product or update an existing data product. Usually, the CI/CD pipeline of your data product calls this operation during its deployment.

Parameters
Name Located in Description Required Schema
id path An organizational unique technical identifier for this data product, such as an UUID, URN, string, number. Format must be a valid path parameter for GET and DELETE requests, so no URI or '/' allowed. Yes string
Responses
Code Description
200 data product successfully registered or updated
422 data product cannot be updated due to invalid data

GET

Summary:

Get a data product

Description:

Get a data product by its ID. The data product contains all its output ports.

Parameters
Name Located in Description Required Schema
id path An organizational unique technical identifier for this data product, such as an UUID, URN, string, number. Format must be a valid path parameter for GET and DELETE requests, so no URI or '/' allowed. Yes string
Responses
Code Description
200 The data product

DELETE

Summary:

Delete a data product

Description:

Deletes a data product by its ID. The data product must not be used in a data usage agreement.

Parameters
Name Located in Description Required Schema
id path An organizational unique technical identifier for this data product, such as an UUID, URN, string, number. Format must be a valid path parameter for GET and DELETE requests, so no URI or '/' allowed. Yes string
Responses
Code Description
200 Data product was deleted
422 data product cannot be deleted, e.g. when it is still used in an data usage agreement

/api/datacontracts

GET

Summary:

Get all data contracts

Responses
Code Description
200 List of data contracts

/api/datacontracts/{id}

PUT

Summary:

Add or update a data contract

Parameters
Name Located in Description Required Schema
id path An organizational unique technical identifier for this data contract, such as an UUID, URN, string, number. Format must be a valid path parameter for GET and DELETE requests, so no URI or '/' allowed. Yes string
Responses
Code Description
200 data contract successfully registered or updated
422 data contract cannot be updated due to invalid data

GET

Summary:

Get a data contract

Parameters
Name Located in Description Required Schema
id path An organizational unique technical identifier for this data contract, such as an UUID, URN, string, number. Format must be a valid path parameter for GET and DELETE requests, so no URI or '/' allowed. Yes string
Responses
Code Description
200 The data contract

DELETE

Summary:

Delete a data contract

Parameters
Name Located in Description Required Schema
id path An organizational unique technical identifier for this data contract, such as an UUID, URN, string, number. Format must be a valid path parameter for GET and DELETE requests, so no URI or '/' allowed. Yes string
Responses
Code Description
200 Data contract was deleted
422 data contract cannot be deleted, e.g. when it is still used in an output port of a data product

/api/datacontracts/{id}/datacontract.yaml

GET

Summary:

Get the datacontract.yaml for a data contract

Parameters
Name Located in Description Required Schema
id path An organizational unique technical identifier for this data contract, such as an UUID, URN, string, number. Format must be a valid path parameter for GET and DELETE requests, so no URI or '/' allowed. Yes string
Responses
Code Description
200 The datacontract.yaml

/api/datausageagreements

GET

Summary:

Get all data usage agreements

Responses
Code Description
200 List of data usage agreements

/api/datausageagreements/{id}

PUT

Summary:

Add or update a data usage agreement

Parameters
Name Located in Description Required Schema
id path An organizational unique technical identifier for this data usage agreement, such as an UUID, URN, string, number. Format must be a valid path parameter for GET and DELETE requests, so no URI or '/' allowed. Yes string
Responses
Code Description
200 data usage agreement successfully created or updated

GET

Summary:

Get a data usage agreement

Parameters
Name Located in Description Required Schema
id path An organizational unique technical identifier for this data usage agreement, such as an UUID, URN, string, number. Format must be a valid path parameter for GET and DELETE requests, so no URI or '/' allowed. Yes string
Responses
Code Description
200 The data usage agreement

DELETE

Summary:

Delete a data usage agreement

Parameters
Name Located in Description Required Schema
id path An organizational unique technical identifier for this data usage agreement, such as an UUID, URN, string, number. Format must be a valid path parameter for GET and DELETE requests, so no URI or '/' allowed. Yes string
Responses
Code Description
200 Data usage agreement was deleted

/api/datausageagreements/{id}/approve

POST

Summary:

Approve a requested data usage agreement

Parameters
Name Located in Description Required Schema
id path An organizational unique technical identifier for this data usage agreement, such as an UUID, URN, string, number. Format must be a valid path parameter for GET and DELETE requests, so no URI or '/' allowed. Yes string
Responses
Code Description
200 data usage agreement successfully approved

/api/datausageagreements/{id}/reject

POST

Summary:

Rejects a requested data usage agreement

Parameters
Name Located in Description Required Schema
id path An organizational unique technical identifier for this data usage agreement, such as an UUID, URN, string, number. Format must be a valid path parameter for GET and DELETE requests, so no URI or '/' allowed. Yes string
Responses
Code Description
200 data usage agreement successfully rejected

/api/datausageagreements/{id}/cancel

POST

Summary:

Cancels an approved data usage agreement

Parameters
Name Located in Description Required Schema
id path An organizational unique technical identifier for this data usage agreement, such as an UUID, URN, string, number. Format must be a valid path parameter for GET and DELETE requests, so no URI or '/' allowed. Yes string
Responses
Code Description
200 data usage agreement successfully canceled

/api/teams

GET

Summary:

Get all teams

Responses
Code Description
200 List of teams

/api/teams/{id}

PUT

Summary:

Add or update a team

Parameters
Name Located in Description Required Schema
id path An organizational unique technical identifier for this team, such as an UUID, URN, string, number. Format must be a valid path parameter for GET and DELETE requests, so no URI or '/' allowed. Yes string
Responses
Code Description
200 team successfully created or updated

GET

Summary:

Get a team

Parameters
Name Located in Description Required Schema
id path An organizational unique technical identifier for this team, such as an UUID, URN, string, number. Format must be a valid path parameter for GET and DELETE requests, so no URI or '/' allowed. Yes string
Responses
Code Description
200 The team

DELETE

Summary:

Delete a team

Parameters
Name Located in Description Required Schema
id path An organizational unique technical identifier for this team, such as an UUID, URN, string, number. Format must be a valid path parameter for GET and DELETE requests, so no URI or '/' allowed. Yes string
Responses
Code Description
200 Team was deleted

/api/sourcesystems

GET

Summary:

Get all source systems

Responses
Code Description
200 List of source systems

/api/sourcesystems/{id}

PUT

Summary:

Add or update a source system

Parameters
Name Located in Description Required Schema
id path An organizational unique technical identifier for this source system, such as an UUID, URN, string, number. Format must be a valid path parameter for GET and DELETE requests, so no URI or '/' allowed. Yes string
Responses
Code Description
200 source system successfully created or updated

GET

Summary:

Get an source system

Parameters
Name Located in Description Required Schema
id path An organizational unique technical identifier for this source system, such as an UUID, URN, string, number. Format must be a valid path parameter for GET and DELETE requests, so no URI or '/' allowed. Yes string
Responses
Code Description
200 The source system

DELETE

Summary:

Delete an source system

Parameters
Name Located in Description Required Schema
id path An organizational unique technical identifier for this source system, such as an UUID, URN, string, number. Format must be a valid path parameter for GET and DELETE requests, so no URI or '/' allowed. Yes string
Responses
Code Description
200 Source system was deleted

/api/definitions

GET

Summary:

Get all definitions

Responses
Code Description
200 List of definitions

/api/definitions/{id}

PUT

Summary:

Add or update a definition

Parameters
Name Located in Description Required Schema
id path An organizational unique technical identifier for this definition, such as an UUID, URN, string, number. Format must be a valid path parameter for GET and DELETE requests, so no URI or '/' allowed. Yes string
Responses
Code Description
200 definition successfully created or updated

GET

Summary:

Get an definition

Parameters
Name Located in Description Required Schema
id path An organizational unique technical identifier for this definition, such as an UUID, URN, string, number. Format must be a valid path parameter for GET and DELETE requests, so no URI or '/' allowed. Yes string
Responses
Code Description
200 The definition

DELETE

Summary:

Delete an definition

Parameters
Name Located in Description Required Schema
id path An organizational unique technical identifier for this definition, such as an UUID, URN, string, number. Format must be a valid path parameter for GET and DELETE requests, so no URI or '/' allowed. Yes string
Responses
Code Description
200 definition was deleted

/api/assets

GET

Summary:

Get all data assets

Description:

Get all data products of an organization.

Parameters
Name Located in Description Required Schema
p query The number of the requested page, starting from 0. Each page contains a maximum of 1000 assets, sorted by creation date ascending. No integer
Responses
Code Description
200 List of all data assets

/api/assets/{id}

PUT

Summary:

Add or update a data asset

Parameters
Name Located in Description Required Schema
id path An organizational unique technical identifier for this assets, such as an UUID, URN, string, number. Format must be a valid path parameter for GET and DELETE requests, so no URI or '/' allowed. Yes string
Responses
Code Description
200 Asset successfully created or updated
422 Asset cannot be updated due to invalid data

GET

Summary:

Get a data asset

Parameters
Name Located in Description Required Schema
id path An organizational unique technical identifier for this assets, such as an UUID, URN, string, number. Format must be a valid path parameter for GET and DELETE requests, so no URI or '/' allowed. Yes string
Responses
Code Description
200 The Asset

DELETE

Summary:

Delete a data asset

Parameters
Name Located in Description Required Schema
id path An organizational unique technical identifier for this assets, such as an UUID, URN, string, number. Format must be a valid path parameter for GET and DELETE requests, so no URI or '/' allowed. Yes string
Responses
Code Description
200 Data asset was deleted
422 Data asset cannot be deleted, e.g. when it is still used in a data product

/api/costs

GET

Summary:

Get all cost of a data product

Parameters
Name Located in Description Required Schema
dataProductId path The id of the data product Yes string
Responses
Code Description
200 List of costs

POST

Summary:

Add a cost

Responses
Code Description
200 cost successfully created

/api/costs/{id}

DELETE

Summary:

Delete a cost

Parameters
Name Located in Description Required Schema
id path The cost id Yes string (uuid)
Responses
Code Description
200 cost was deleted

/api/test-results

POST

Summary:

Add test results of a datacontract CLI run

Responses
Code Description
200 Test results successfully added

/api/events

GET

Summary:

An HTTP feed with all events

Description:

An HTTP feed that can be used to subscribe for events and trigger actions, such as granting or revoking access, in your data platform.

Parameters
Name Located in Description Required Schema
lastEventId query The last known event id. The response contains events that occurs after this event id. No string
Responses
Code Description
200 A chronological sequence of events serialized in the CloudEvents event format in batched responses

Models

DataProduct

Data product description, including the output ports. It is based on the Data Product Specification.

Name Type Description Required
id string An organizational unique technical identifier for this data product, such as an UUID, URN, string, number. Format must be a valid path parameter for GET and DELETE requests, so no URI or '/' allowed. Yes
info object Information about the data product Yes
inputPorts [ object ] No
outputPorts [ object ] No
links object Links are used to reference external resources, such as schemas or the dataset in a data catalog. You can add any links. No
custom object Custom fields can be used to add additional information to the data product. No
tags [ string ] Tags are used to categorize data products. No

DataUsageAgreement

A data usage agreement is an agreement between a data product provider and a data product consumer. It is based on the Data Usage Agreement Specification.

Name Type Description Required
id string The technical identifier of the data usage agreement. Yes
info object Yes
provider object Yes
consumer Yes
tags [ string ] Tags are used to categorize data usage agreements. No
links object Links are used to reference external resources, such as schemas or the dataset in a data catalog. No
custom object Custom fields can be used to add additional information to the data usage agreement. No

SourceSystem

A source system is typically an operational system that records business transactions (OLTP).

Name Type Description Required
id string An organizational unique technical identifier for this source system. Must be same as the path parameter. Yes
name string The display name of this source system Yes
owner string The technical id of the team that owns the source system. Yes
description string A description of the source system No
tags [ string ] List of tags No
links object Links are used to reference external resources. You can add any links. No
custom object Custom fields can be used to add additional information to the source system. No

Team

Name Type Description Required
id string An organizational unique technical identifier for this team. Must be same as the path parameter. Yes
name string The display name of this team Yes
type string The type of the team. Only a "Domain Team" can own data products, source systems, data contracts, and definitions. Yes
description string A description of the team and its responsibilities. If the team is a domain team, it should describe the domain and its boundaries as well. No
members [ object ] List of team members No
tags [ string ] List of tags No
links object Links are used to reference external resources. You can add any links. No
custom object Custom fields can be used to add additional information to the team. No

DataContract

Name Type Description Required
dataContractSpecification string Specifies the Data Contract Specification being used. Yes
id string Specifies the identifier of the data contract. Yes
info object Metadata and life cycle information about the data contract. Yes
servers object Information about the servers. No
terms object The terms and conditions of the data contract. No
models object Specifies the logical data model. Use the models name (e.g., the table name) as the key. No
definitions object Clear and concise explanations of syntax, semantic, and classification of business objects in a given domain. No
schema object The schema of the data contract describes the syntax and semantics of provided data sets. It supports different schema types. No
examples [ object ] The Examples Object is an array of Example Objects. No
quality object The quality object contains quality attributes and checks. No

Definition

Name Type Description Required
id string An organizational unique technical identifier for this definition. Must be same as the path parameter. Yes
owner string The owner of the definition (the ID of a team). Yes
domain string The domain in which this definition is valid. Yes
name string The technical name of this definition. Yes
title string The business name of this definition. No
description string Clear and concise explanations related to the domain. No
type string The logical data type. No
enum [ string ] A list of possible values. No
minLength number A value must be greater than or equal to this value. Applies only to string types. No
maxLength number A value must be less than or equal to this value. Applies only to string types. No
minimum number A value must be greater than or equal to this value. Applies only to numeric types. No
maximum number A value must be less than or equal to this value. Applies only to numeric types. No
exclusiveMinimum number A value must be greater than this value. Applies only to numeric types. No
exclusiveMaximum number A value must be less than this value. Applies only to numeric types. No
format string Specific format requirements for the value (e.g., 'email', 'uri', 'uuid'). No
pattern string A regular expression pattern the value must match. Applies only to string types. No
example string An example value. No
pii boolean Indicates if the field contains Personal Identifiable Information (PII). No
classification string The data class defining the sensitivity level for this field. No
tags [ string ] Custom metadata to provide additional context. No

Asset

A data asset refers to any data-related resource or entity that can be managed and tracked within the system, such as a database table, file, or data pipeline.

Name Type Description Required
id string An organizational unique technical identifier for this definition. Must be same as the path parameter. No
info object Information about the asset. No
properties object Additional properties of the asset. Can be a string or a complex object. No
columns [ object ] If the asset type has a schema (such as a table or structured files), define the columns. No
relationships [ object ] The relationships of the asset to other assets. No
tags [ string ] Tags associated with the asset. No
links object Links associated with the asset. No

Cost

An expense of a data product.

Name Type Description Required
id string (uuid) The unique identifier of the cost. Is automatically generated by the application. No
dataProductId string The identifier of the data product this cost is associated with. Yes
name string The name of the cost. Yes
yearMonth string (year-month) The year and month of the cost. Use this to report costs for a specific month. The format is YYYY-MM. Leave this empty if the cost is valid for every month. No
amount number The amount of the cost. Yes
currency string The currency of the cost. Yes
estimated boolean Indicates if the cost is estimated. Use this to report costs for the current month that are not yet final. No
category string The category of the cost. Use this to group costs together. No
description string A description of the cost. No
tags [ string ] Tags are used to categorize costs. No
link string (uri) A link to the cost report. No

TestResults

An expense of a data product.

Name Type Description Required
id string A unique identifier for the test run, e.g., a UUID. Yes
dataContractId string The id of the data contract that was tested. A data contract with this ID must be available in the system. Yes
dataContractVersion string The version of the data contract that was tested. Yes
server string The server that was tested. A server with this key must be defined in the data contract in the system. Yes
timestampStart dateTime Yes
timestampEnd dateTime Yes
result string The result of the test run. Yes
checks [ object ] No
logs [ object ] Additional log output from the test run or the test engines No

DataProductCreatedEvent

A data product was created.

Name Type Description Required
id string The identifier of the data product. Yes
timestamp dateTime The business time when the data product was created Yes

DataProductUpdatedEvent

A data product was updated.

Name Type Description Required
id string The identifier of the data product. Yes
timestamp dateTime The business time when the data product was updated Yes

DataProductDeletedEvent

A data product was deleted.

Name Type Description Required
id string The identifier of the data product. Yes
timestamp dateTime The business time when the data product was deleted Yes

OutputPortCreatedEvent

An output port was created. This event is emitted in addition to a DataProductCreatedEvent or DataProductUpdatedEvent.

Name Type Description Required
id string The identifier of the data product. Yes
outputPortId string The identifier of the output port. Yes
timestamp dateTime The business time when the data product was created Yes

OutputPortUpdatedEvent

An output port was updated. This event is emitted in addition to a DataProductUpdatedEvent.

Name Type Description Required
id string The identifier of the data product. Yes
outputPortId string The identifier of the output port. Yes
timestamp dateTime The business time when the data product was updated Yes

OutputPortDeletedEvent

An output port was deleted. This event is emitted in addition to a DataProductUpdatedEvent or DataProductDeletedEvent.

Name Type Description Required
id string The identifier of the data product. Yes
outputPortId string The identifier of the output port. Yes
timestamp dateTime The business time when the data product was deleted Yes

DataContractCreatedEvent

A data contract was created.

Name Type Description Required
id string The identifier of the data contract. Yes
timestamp dateTime The business time when the data contract was created Yes

DataContractUpdatedEvent

A data contract was updated.

Name Type Description Required
id string The identifier of the data contract. Yes
timestamp dateTime The business time when the data contract was updated Yes

DataContractDeletedEvent

A data contract was deleted.

Name Type Description Required
id string The identifier of the data contract. Yes
timestamp dateTime The business time when the data contract was deleted Yes

DataUsageAgreementCreatedEvent

A data usage agreement was created.

Name Type Description Required
id string The identifier of the data usage agreement. Yes
timestamp dateTime The business time when the data usage agreement was created Yes

DataUsageAgreementUpdatedEvent

A data usage agreement was updated.

Name Type Description Required
id string The identifier of the data usage agreement. Yes
timestamp dateTime The business time when the data usage agreement was updated Yes

DataUsageAgreementDeletedEvent

A data usage agreement was deleted.

Name Type Description Required
id string The identifier of the data usage agreement. Yes
timestamp dateTime The business time when the data usage agreement was deleted Yes

DataUsageAgreementActivatedEvent

A data usage agreement was activated. Use this to automatically set permissions in your data platform.

Name Type Description Required
id string The identifier of the data usage agreement. Yes
timestamp dateTime The business time when the data usage agreement was activated Yes

DataUsageAgreementDeactivatedEvent

A data usage agreement was deactivated. Use this to automatically revoke permissions in your data platform.

Name Type Description Required
id string The identifier of the data usage agreement. Yes
timestamp dateTime The business time when the data usage agreement was deactivated Yes

DataUsageAgreementRequestedEvent

A data usage agreement was requested.

Name Type Description Required
id string The identifier of the data usage agreement. Yes
timestamp dateTime The business time when the data usage agreement was requested Yes

DataUsageAgreementApprovedEvent

A data usage agreement was approved.

Name Type Description Required
id string The identifier of the data usage agreement. Yes
timestamp dateTime The business time when the data usage agreement was approved Yes

DataUsageAgreementRejectedEvent

A data usage agreement was rejected.

Name Type Description Required
id string The identifier of the data usage agreement. Yes
timestamp dateTime The business time when the data usage agreement was rejected Yes

DataUsageAgreementCanceledEvent

A data usage agreement was canceled.

Name Type Description Required
id string The identifier of the data usage agreement. Yes
timestamp dateTime The business time when the data usage agreement was canceled Yes

TeamCreatedEvent

A team was created.

Name Type Description Required
id string The identifier of the team. Yes
timestamp dateTime The business time when the team was created Yes

TeamUpdatedEvent

A team was updated.

Name Type Description Required
id string The identifier of the team Yes
timestamp dateTime The business time when the team was updated Yes

TeamDeletedEvent

A team was deleted.

Name Type Description Required
id string The identifier of the team. Yes
timestamp dateTime The business time when the team was deleted Yes

SourceSystemCreatedEvent

A source system was created.

Name Type Description Required
id string The identifier of the source system. Yes
timestamp dateTime The business time when the source system was created Yes

SourceSystemUpdatedEvent

A source system was updated.

Name Type Description Required
id string The identifier of the source system. Yes
timestamp dateTime The business time when the source system was updated Yes

SourceSystemDeletedEvent

A source system was deleted.

Name Type Description Required
id string The identifier of the source system. Yes
timestamp dateTime The business time when the source system was deleted Yes

DefinitionCreatedEvent

A definition was created.

Name Type Description Required
id string The identifier of the definition. Yes
timestamp dateTime The business time when the definition was created Yes

DefinitionUpdatedEvent

A definition was updated.

Name Type Description Required
id string The identifier of the definition. Yes
timestamp dateTime The business time when the definition was updated Yes

DefinitionDeletedEvent

A definition was deleted.

Name Type Description Required
id string The identifier of the definition. Yes
timestamp dateTime The business time when the definition was deleted Yes