Custom dataset & project metadata

PREVIEW FEATURE: This is a preview feature. Contact us to request early access.

Using custom metadata allows organizations to add additional top-level metadata relevant to their datasets & projects.

Organizations should work with their client services team to define and implement custom metadata.

Once implemented, custom metadata is editable on and through our Public APIs, documented here.


The following API endpoints can be used for custom metadata reading and writing.


Each of the documentation pages for these endpoints contain an example request payload titled “Example for custom metadata”.

Using custom metadata

There are 2 primary types of custom metadata:

  1. Free text values
  2. Constrained values

Free text values allow any valid, non-blank string.

Constrained values, on the other hand, have a predetermined set of values that can be used. These values are defined during the implementation of your organization’s custom metadata.

All of the examples above have a metadata profile with 2 custom properties, for example:

"properties": {
	"dataCollectionMechanism": "Python script from social media API",
	"dataCollectionLanguages": [

"dataCollectionMechanism" is a free text field, and "dataCollectionLanguages" is a constrained value field that accepts multiple values.

The valid available options for"dataCollectionLanguages", for this example, are:

["python", "r", "java", "javascript", "julia", "bash", "c"]

Sending the example payload in a PUT/PATCH/POST API call would set or override any previously set value with the value from the payload, which would be visible to endusers of that dataset in both the API and on