> For the complete documentation index, see [llms.txt](https://developer.collibra.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.collibra.com/api/references/data-product/data-contract.md).

# Data Contract

Manage data contracts.

## List data contracts

> Retrieves a paginated list of data contract metadata, sorted by the last modified date in descending order.\
> Filtering options are available via query parameters.<br>

```json
{"openapi":"3.0.3","info":{"title":"Collibra data product public API","version":"1.1.0"},"tags":[{"name":"Data contract","description":"Manage data contracts."}],"servers":[{"url":"/rest/dataProduct/v1"}],"security":[{"basicAuth":[]},{"jwtAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"description":"Collibra REST API authentication using Basic Authentication.","type":"http","scheme":"basic"},"jwtAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Collibra REST API authentication using JSON Web Token."}},"responses":{"DataContractListPaginatedResponse":{"description":"Returns a paginated list of data contract metadata.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataContractListPaginated"}}}},"InvalidRequest400":{"description":"The request is not valid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest401":{"description":"The client is not authenticated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest403":{"description":"The user lacks permissions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest500":{"description":"There was an error processing the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}}},"schemas":{"DataContractListPaginated":{"description":"A paginated list of data contract resources.","type":"object","properties":{"total":{"description":"Count of resources available in this collection (based on the parameters provided to the API)","type":"integer"},"nextCursor":{"type":"string","description":"The cursor pointing to the next page. If the cursor is missing, there are no additional pages of\nresources available after the current one.\n"},"limit":{"type":"integer","description":"Maximum number of items returned in this response."},"items":{"type":"array","description":"List of data contract items.","items":{"$ref":"#/components/schemas/DataContract"}}},"required":["nextCursor","limit","items"]},"DataContract":{"description":"Metadata attributes of a data contract","type":"object","properties":{"name":{"description":"The name of the data contract asset.","type":"string"},"id":{"description":"UUID of the data contract asset.","type":"string","format":"uuid"},"manifestId":{"description":"The unique identifier of the data contract.","type":"string"},"domainName":{"description":"The name of the domain where the data contract asset is located.","type":"string"},"domainId":{"description":"The unique identifier (UUID) of the domain where the data contract asset is located.","type":"string","format":"uuid"},"activeVersion":{"description":"The version value of the currently active data contract manifest.","type":"string"}},"required":["name","id","manifestId","domainName","domainId","activeVersion"]},"StandardErrorResponse":{"description":"A standard error response object.","type":"object","properties":{"statusCode":{"description":"HTTP response code.","type":"integer"},"titleMessage":{"description":"The title of the error message.","type":"string"},"helpMessage":{"description":"A message containing actions you can take regarding the error.","type":"string"},"userMessage":{"description":"A user friendly error message.","type":"string"},"errorCode":{"description":"An error code identifier.","type":"string"}},"required":["statusCode","userMessage"]}}},"paths":{"/dataContracts":{"get":{"tags":["Data contract"],"summary":"List data contracts","description":"Retrieves a paginated list of data contract metadata, sorted by the last modified date in descending order.\nFiltering options are available via query parameters.\n","operationId":"listDataContracts","parameters":[{"name":"cursor","in":"query","required":false,"description":"The cursor pointing to the first resource to be included in the response.\nThis cursor cannot be created and must have been extracted from a response returned by a previous API call.\nIf this parameter is missing, the API will return the resources starting from the first resource available (index=0).\n","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"The maximum number of resources to retrieve.\nIf not set, the default limit  (limit = <code>100</code>) will be used.\nThe maximum value for this parameter is <code>500</code>.\n","schema":{"type":"integer","default":100,"maximum":500}},{"name":"includeTotal","in":"query","required":false,"description":"Should results include the total number of resources available in this collection.\n","schema":{"type":"boolean","default":false}},{"name":"manifestId","in":"query","description":"The unique identifier of the Data Contract manifest.","required":false,"schema":{"type":"string","format":"string"}},{"name":"domainId","in":"query","description":"The unique identifier (UUID) of the domain to filter data contracts.","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"$ref":"#/components/responses/DataContractListPaginatedResponse"},"400":{"$ref":"#/components/responses/InvalidRequest400"},"401":{"$ref":"#/components/responses/InvalidRequest401"},"403":{"$ref":"#/components/responses/InvalidRequest403"},"500":{"$ref":"#/components/responses/InvalidRequest500"}}}}}}
```

## Initialize a data contract

> This operation is the first step in creating a new data contract asset and linking it to its initial manifest.\
> You can provide an existing manifest to upload, or a template will be generated from the associated\
> Collibra content if none is provided.<br>

```json
{"openapi":"3.0.3","info":{"title":"Collibra data product public API","version":"1.1.0"},"tags":[{"name":"Data contract","description":"Manage data contracts."}],"servers":[{"url":"/rest/dataProduct/v1"}],"security":[{"basicAuth":[]},{"jwtAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"description":"Collibra REST API authentication using Basic Authentication.","type":"http","scheme":"basic"},"jwtAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Collibra REST API authentication using JSON Web Token."}},"schemas":{"DataContractInitRequest":{"allOf":[{"$ref":"#/components/schemas/DataContractManifest"},{"type":"object","properties":{"governedAssetId":{"description":"The unique identifier (UUID) of the Data Product Port asset to be governed by the new Data Contract.","type":"string","format":"uuid"},"manifestId":{"description":"The unique identifier of the data contract as specified in the manifest.\nIf omitted and a manifest that adheres to the Open Data Contract Standard is provided,\nthe manifestID will be parsed automatically.\nIf omitted and a manifest can not be parsed, the ID will match the UUID of the data contract asset being initialized.\nMaximum length: 200 characters.\n","type":"string","maxLength":200},"version":{"description":"The version value for the initial data contract manifest. If omitted and a manifest that adheres\nto the Open Data Contract Standard is provided, the version will be parsed automatically from the manifest.\nIf omitted and a manifest cannot be parsed, it will default to '0.0.1'.\nMaximum length: 100 characters.\n","type":"string","maxLength":100},"name":{"description":"A custom, human-readable name for the data contract. If omitted and a manifest that adheres to\nthe Open Data Contract Standard is provided, the name will be parsed automatically from the manifest.\nIf omitted and a manifest cannot be parsed, it will inherit the name of the asset specified by 'governedAssetId'.\nMaximum length: 200 characters.\n","type":"string","maxLength":200},"domainId":{"description":"The unique identifier (UUID) of the domain where the data contract asset will be created.\nThe specified domain must support the data contract asset type, otherwise the call will fail.\nIf omitted, it defaults to the domain of the asset identified by 'governedAssetId'.\n","type":"string","format":"uuid"}}}],"required":["governedAssetId"]},"DataContractManifest":{"description":"A data contract manifest file.","type":"object","properties":{"manifest":{"description":"The content of the data contract manifest file.\nThe filename should be provided in the `Content-Disposition` header.\n","type":"string","format":"binary"}}},"DataContractWithSingleManifestVersion":{"description":"Metadata attributes of a data contract including active version.","type":"object","allOf":[{"$ref":"#/components/schemas/DataContract"},{"type":"object","properties":{"manifestVersion":{"description":"The active version of the data contract.","allOf":[{"$ref":"#/components/schemas/DataContractManifestVersion"}]}},"required":["manifestVersion"]}]},"DataContract":{"description":"Metadata attributes of a data contract","type":"object","properties":{"name":{"description":"The name of the data contract asset.","type":"string"},"id":{"description":"UUID of the data contract asset.","type":"string","format":"uuid"},"manifestId":{"description":"The unique identifier of the data contract.","type":"string"},"domainName":{"description":"The name of the domain where the data contract asset is located.","type":"string"},"domainId":{"description":"The unique identifier (UUID) of the domain where the data contract asset is located.","type":"string","format":"uuid"},"activeVersion":{"description":"The version value of the currently active data contract manifest.","type":"string"}},"required":["name","id","manifestId","domainName","domainId","activeVersion"]},"DataContractManifestVersion":{"description":"Metadata attributes of a data contract version","type":"object","properties":{"version":{"description":"Version of the data contract Manifest.","type":"string"},"active":{"description":"The active version is the version exposed through the data contract asset.","type":"boolean"},"format":{"type":"string","description":"Format type of the data contract manifest.\n\nPossible values are:\n  * `ODCS`\n  * `DCS`\n  * `CUSTOM`\n"},"createdBy":{"description":"The unique identifier of the user who created the data contract Version.","type":"string","format":"uuid"},"createdOn":{"description":"The timestamp (in UTC time standard) when the data contract Version was created.","type":"integer","format":"int64"},"lastModifiedBy":{"description":"The unique identifier of the user who last modified the data contract Version.","type":"string","format":"uuid"},"lastModifiedOn":{"description":"The timestamp (in UTC time standard) when the data contract Version was last modified.","type":"integer","format":"int64"}},"required":["version","active","format","createdBy","createdOn","lastModifiedBy","lastModifiedOn"]},"StandardErrorResponse":{"description":"A standard error response object.","type":"object","properties":{"statusCode":{"description":"HTTP response code.","type":"integer"},"titleMessage":{"description":"The title of the error message.","type":"string"},"helpMessage":{"description":"A message containing actions you can take regarding the error.","type":"string"},"userMessage":{"description":"A user friendly error message.","type":"string"},"errorCode":{"description":"An error code identifier.","type":"string"}},"required":["statusCode","userMessage"]}},"responses":{"DataContractWithSingleManifestVersionResponse201":{"description":"Returns the metadata for the newly created data contract version.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataContractWithSingleManifestVersion"}}},"headers":{"Location":{"description":"The URL of the newly created version of the data contract manifest file.\n","schema":{"type":"string","format":"uri"}}}},"InvalidRequest400":{"description":"The request is not valid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest401":{"description":"The client is not authenticated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest403":{"description":"The user lacks permissions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest404":{"description":"Resource not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest409":{"description":"Conflicts found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest500":{"description":"There was an error processing the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}}}},"paths":{"/dataContracts":{"post":{"tags":["Data contract"],"summary":"Initialize a data contract","description":"This operation is the first step in creating a new data contract asset and linking it to its initial manifest.\nYou can provide an existing manifest to upload, or a template will be generated from the associated\nCollibra content if none is provided.\n","operationId":"initDataContract","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/DataContractInitRequest"},"encoding":{"file":{"contentType":"text/plain"}}}}},"responses":{"201":{"$ref":"#/components/responses/DataContractWithSingleManifestVersionResponse201"},"400":{"$ref":"#/components/responses/InvalidRequest400"},"401":{"$ref":"#/components/responses/InvalidRequest401"},"403":{"$ref":"#/components/responses/InvalidRequest403"},"404":{"$ref":"#/components/responses/InvalidRequest404"},"409":{"$ref":"#/components/responses/InvalidRequest409"},"500":{"$ref":"#/components/responses/InvalidRequest500"}}}}}}
```

## Retrieve data contract metadata

> Retrieves the metadata for a specific data contract.<br>

```json
{"openapi":"3.0.3","info":{"title":"Collibra data product public API","version":"1.1.0"},"tags":[{"name":"Data contract","description":"Manage data contracts."}],"servers":[{"url":"/rest/dataProduct/v1"}],"security":[{"basicAuth":[]},{"jwtAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"description":"Collibra REST API authentication using Basic Authentication.","type":"http","scheme":"basic"},"jwtAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Collibra REST API authentication using JSON Web Token."}},"responses":{"DataContractResponse":{"description":"Returns the requested data contract metadata.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataContract"}}}},"InvalidRequest400":{"description":"The request is not valid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest401":{"description":"The client is not authenticated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest403":{"description":"The user lacks permissions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest404":{"description":"Resource not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest500":{"description":"There was an error processing the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}}},"schemas":{"DataContract":{"description":"Metadata attributes of a data contract","type":"object","properties":{"name":{"description":"The name of the data contract asset.","type":"string"},"id":{"description":"UUID of the data contract asset.","type":"string","format":"uuid"},"manifestId":{"description":"The unique identifier of the data contract.","type":"string"},"domainName":{"description":"The name of the domain where the data contract asset is located.","type":"string"},"domainId":{"description":"The unique identifier (UUID) of the domain where the data contract asset is located.","type":"string","format":"uuid"},"activeVersion":{"description":"The version value of the currently active data contract manifest.","type":"string"}},"required":["name","id","manifestId","domainName","domainId","activeVersion"]},"StandardErrorResponse":{"description":"A standard error response object.","type":"object","properties":{"statusCode":{"description":"HTTP response code.","type":"integer"},"titleMessage":{"description":"The title of the error message.","type":"string"},"helpMessage":{"description":"A message containing actions you can take regarding the error.","type":"string"},"userMessage":{"description":"A user friendly error message.","type":"string"},"errorCode":{"description":"An error code identifier.","type":"string"}},"required":["statusCode","userMessage"]}}},"paths":{"/dataContracts/{id}":{"get":{"tags":["Data contract"],"summary":"Retrieve data contract metadata","description":"Retrieves the metadata for a specific data contract.\n","operationId":"getDataContract","parameters":[{"name":"id","in":"path","required":true,"description":"The unique identifier UUID of the data contract asset to retrieve.","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"$ref":"#/components/responses/DataContractResponse"},"400":{"$ref":"#/components/responses/InvalidRequest400"},"401":{"$ref":"#/components/responses/InvalidRequest401"},"403":{"$ref":"#/components/responses/InvalidRequest403"},"404":{"$ref":"#/components/responses/InvalidRequest404"},"500":{"$ref":"#/components/responses/InvalidRequest500"}}}}}}
```

## Delete all data contract versions

> Deletes all versions associated with a Data Contract Asset.\
> By default (deleteAsset=false), only the manifest versions are deleted, preserving the asset for future re-initialization.\
> Set 'deleteAsset=true' to perform a full deletion of the asset and all associated manifest versions.<br>

```json
{"openapi":"3.0.3","info":{"title":"Collibra data product public API","version":"1.1.0"},"tags":[{"name":"Data contract","description":"Manage data contracts."}],"servers":[{"url":"/rest/dataProduct/v1"}],"security":[{"basicAuth":[]},{"jwtAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"description":"Collibra REST API authentication using Basic Authentication.","type":"http","scheme":"basic"},"jwtAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Collibra REST API authentication using JSON Web Token."}},"responses":{"InvalidRequest400":{"description":"The request is not valid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest401":{"description":"The client is not authenticated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest403":{"description":"The user lacks permissions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest500":{"description":"There was an error processing the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}}},"schemas":{"StandardErrorResponse":{"description":"A standard error response object.","type":"object","properties":{"statusCode":{"description":"HTTP response code.","type":"integer"},"titleMessage":{"description":"The title of the error message.","type":"string"},"helpMessage":{"description":"A message containing actions you can take regarding the error.","type":"string"},"userMessage":{"description":"A user friendly error message.","type":"string"},"errorCode":{"description":"An error code identifier.","type":"string"}},"required":["statusCode","userMessage"]}}},"paths":{"/dataContracts/{id}":{"delete":{"tags":["Data contract"],"summary":"Delete all data contract versions","description":"Deletes all versions associated with a Data Contract Asset.\nBy default (deleteAsset=false), only the manifest versions are deleted, preserving the asset for future re-initialization.\nSet 'deleteAsset=true' to perform a full deletion of the asset and all associated manifest versions.\n","operationId":"deleteDataContract","parameters":[{"name":"id","in":"path","required":true,"description":"The unique identifier of the data contract asset.","schema":{"type":"string","format":"uuid"}},{"name":"deleteAsset","in":"query","required":false,"description":"Controls the deletion scope. Defaults to 'false'.\n","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"The data contract was successfully deleted."},"204":{"description":"The data contract does not exist or had been deleted already."},"400":{"$ref":"#/components/responses/InvalidRequest400"},"401":{"$ref":"#/components/responses/InvalidRequest401"},"403":{"$ref":"#/components/responses/InvalidRequest403"},"500":{"$ref":"#/components/responses/InvalidRequest500"}}}}}}
```

## Automatically upload new version

> Uploads a new version of a Data Contract manifest, with the manifestID and version being automatically\
> parsed from the manifest content. Use this to add to the version history of a Data Contract that has\
> already been initialized and exists within Collibra.<br>

```json
{"openapi":"3.0.3","info":{"title":"Collibra data product public API","version":"1.1.0"},"tags":[{"name":"Data contract","description":"Manage data contracts."}],"servers":[{"url":"/rest/dataProduct/v1"}],"security":[{"basicAuth":[]},{"jwtAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"description":"Collibra REST API authentication using Basic Authentication.","type":"http","scheme":"basic"},"jwtAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Collibra REST API authentication using JSON Web Token."}},"schemas":{"DataContractManifestVersionAutomaticCreateRequest":{"allOf":[{"$ref":"#/components/schemas/DataContractManifest"},{"type":"object","properties":{"manifestId":{"description":"The unique identifier of the data contract as specified in the manifest.\nIf omitted and a manifest that adheres to the Open Data Contract Standard is provided,\nthe manifestID will be parsed automatically.\nIf omitted and a manifest cannot be parsed, the call will end with an error.\nMaximum length: 200 characters.\n","type":"string","maxLength":200},"version":{"description":"The version of the data contract manifest being uploaded.\nIf omitted, the version will be parsed automatically from the manifest unless it does not\nadhere to the Open Data Contract Standard, in which case omitting this will result in an error.\nMaximum length: 100 characters.\n","type":"string","maxLength":100},"active":{"description":"Set to true to make this data contract manifest version the active version.\nThis will automatically deactivate the previous active version.\nThe active version is the one that's exposed through the data contract asset.\nDefaults to true.\n","type":"boolean","default":true},"force":{"description":"Set to true to force the overwrite of an existing manifest version if it has the same version value.\nWhen a new manifest overwrites the active version, the 'active' parameter in the request is ignored,\nand the version's active state remains unchanged.\nDefaults to false.\n","type":"boolean","default":false}}}],"required":["manifest"]},"DataContractManifest":{"description":"A data contract manifest file.","type":"object","properties":{"manifest":{"description":"The content of the data contract manifest file.\nThe filename should be provided in the `Content-Disposition` header.\n","type":"string","format":"binary"}}},"DataContractWithSingleManifestVersion":{"description":"Metadata attributes of a data contract including active version.","type":"object","allOf":[{"$ref":"#/components/schemas/DataContract"},{"type":"object","properties":{"manifestVersion":{"description":"The active version of the data contract.","allOf":[{"$ref":"#/components/schemas/DataContractManifestVersion"}]}},"required":["manifestVersion"]}]},"DataContract":{"description":"Metadata attributes of a data contract","type":"object","properties":{"name":{"description":"The name of the data contract asset.","type":"string"},"id":{"description":"UUID of the data contract asset.","type":"string","format":"uuid"},"manifestId":{"description":"The unique identifier of the data contract.","type":"string"},"domainName":{"description":"The name of the domain where the data contract asset is located.","type":"string"},"domainId":{"description":"The unique identifier (UUID) of the domain where the data contract asset is located.","type":"string","format":"uuid"},"activeVersion":{"description":"The version value of the currently active data contract manifest.","type":"string"}},"required":["name","id","manifestId","domainName","domainId","activeVersion"]},"DataContractManifestVersion":{"description":"Metadata attributes of a data contract version","type":"object","properties":{"version":{"description":"Version of the data contract Manifest.","type":"string"},"active":{"description":"The active version is the version exposed through the data contract asset.","type":"boolean"},"format":{"type":"string","description":"Format type of the data contract manifest.\n\nPossible values are:\n  * `ODCS`\n  * `DCS`\n  * `CUSTOM`\n"},"createdBy":{"description":"The unique identifier of the user who created the data contract Version.","type":"string","format":"uuid"},"createdOn":{"description":"The timestamp (in UTC time standard) when the data contract Version was created.","type":"integer","format":"int64"},"lastModifiedBy":{"description":"The unique identifier of the user who last modified the data contract Version.","type":"string","format":"uuid"},"lastModifiedOn":{"description":"The timestamp (in UTC time standard) when the data contract Version was last modified.","type":"integer","format":"int64"}},"required":["version","active","format","createdBy","createdOn","lastModifiedBy","lastModifiedOn"]},"StandardErrorResponse":{"description":"A standard error response object.","type":"object","properties":{"statusCode":{"description":"HTTP response code.","type":"integer"},"titleMessage":{"description":"The title of the error message.","type":"string"},"helpMessage":{"description":"A message containing actions you can take regarding the error.","type":"string"},"userMessage":{"description":"A user friendly error message.","type":"string"},"errorCode":{"description":"An error code identifier.","type":"string"}},"required":["statusCode","userMessage"]}},"responses":{"DataContractWithSingleManifestVersionResponse200":{"description":"Returns the metadata for the updated data contract version.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataContractWithSingleManifestVersion"}}},"headers":{"Location":{"description":"The URL of the updated version of the data contract manifest file.\n","schema":{"type":"string","format":"uri"}}}},"DataContractWithSingleManifestVersionResponse201":{"description":"Returns the metadata for the newly created data contract version.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataContractWithSingleManifestVersion"}}},"headers":{"Location":{"description":"The URL of the newly created version of the data contract manifest file.\n","schema":{"type":"string","format":"uri"}}}},"InvalidRequest400":{"description":"The request is not valid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest401":{"description":"The client is not authenticated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest403":{"description":"The user lacks permissions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest404":{"description":"Resource not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest409":{"description":"Conflicts found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest500":{"description":"There was an error processing the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}}}},"paths":{"/dataContracts/addFromManifest":{"post":{"tags":["Data contract"],"summary":"Automatically upload new version","description":"Uploads a new version of a Data Contract manifest, with the manifestID and version being automatically\nparsed from the manifest content. Use this to add to the version history of a Data Contract that has\nalready been initialized and exists within Collibra.\n","operationId":"addFromManifest","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/DataContractManifestVersionAutomaticCreateRequest"},"encoding":{"file":{"contentType":"text/plain"}}}}},"responses":{"200":{"$ref":"#/components/responses/DataContractWithSingleManifestVersionResponse200"},"201":{"$ref":"#/components/responses/DataContractWithSingleManifestVersionResponse201"},"400":{"$ref":"#/components/responses/InvalidRequest400"},"401":{"$ref":"#/components/responses/InvalidRequest401"},"403":{"$ref":"#/components/responses/InvalidRequest403"},"404":{"$ref":"#/components/responses/InvalidRequest404"},"409":{"$ref":"#/components/responses/InvalidRequest409"},"500":{"$ref":"#/components/responses/InvalidRequest500"}}}}}}
```

## Generate draft version

> Generates a draft manifest for an existing Data Contract by executing a synchronization and merge operation.\
> The core logic pulls the latest synchronized metadata from Collibra to update relevant content in the base manifest version (fromVersion), while preserving any content that is not synchronized by Collibra from the base manifest version.<br>

```json
{"openapi":"3.0.3","info":{"title":"Collibra data product public API","version":"1.1.0"},"tags":[{"name":"Data contract","description":"Manage data contracts."}],"servers":[{"url":"/rest/dataProduct/v1"}],"security":[{"basicAuth":[]},{"jwtAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"description":"Collibra REST API authentication using Basic Authentication.","type":"http","scheme":"basic"},"jwtAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Collibra REST API authentication using JSON Web Token."}},"responses":{"InvalidRequest400":{"description":"The request is not valid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest401":{"description":"The client is not authenticated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest403":{"description":"The user lacks permissions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest404":{"description":"Resource not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest500":{"description":"There was an error processing the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}}},"schemas":{"StandardErrorResponse":{"description":"A standard error response object.","type":"object","properties":{"statusCode":{"description":"HTTP response code.","type":"integer"},"titleMessage":{"description":"The title of the error message.","type":"string"},"helpMessage":{"description":"A message containing actions you can take regarding the error.","type":"string"},"userMessage":{"description":"A user friendly error message.","type":"string"},"errorCode":{"description":"An error code identifier.","type":"string"}},"required":["statusCode","userMessage"]}}},"paths":{"/dataContracts/{id}/draftVersion":{"get":{"tags":["Data contract"],"summary":"Generate draft version","description":"Generates a draft manifest for an existing Data Contract by executing a synchronization and merge operation.\nThe core logic pulls the latest synchronized metadata from Collibra to update relevant content in the base manifest version (fromVersion), while preserving any content that is not synchronized by Collibra from the base manifest version.\n","operationId":"generateDraftManifest","parameters":[{"name":"id","in":"path","required":true,"description":"The unique identifier of the existing data contract asset for which a new draft version is required.","schema":{"type":"string","format":"uuid"}},{"name":"fromVersion","in":"query","required":false,"description":"The specific version of the contract to base the new draft on. This is the source used to preserve the non-synchronized, custom metadata. \nThe default value is `active version`.\n","schema":{"type":"string","maxLength":100}},{"name":"version","in":"query","required":false,"description":"The manifest version to assign to the newly generated draft. \nThe default uses the same version as `fromVersion`.\n","schema":{"type":"string","maxLength":100}}],"responses":{"200":{"description":"A downloadable file containing the data contract manifest.","content":{"application/yaml":{"schema":{"type":"string","format":"binary"}},"*/*":{"schema":{"type":"string","format":"binary"}}},"headers":{"Content-Disposition":{"description":"Indicates that the response should be downloaded as a file.","schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/InvalidRequest400"},"401":{"$ref":"#/components/responses/InvalidRequest401"},"403":{"$ref":"#/components/responses/InvalidRequest403"},"404":{"$ref":"#/components/responses/InvalidRequest404"},"500":{"$ref":"#/components/responses/InvalidRequest500"}}}}}}
```

## Apply active manifest version to Collibra

> \*\*Unstable:\*\* This endpoint may change without notice.\
> \
> Apply the active Data Contract manifest version to the Collibra Knowledge Graph.\
> This operation enforces the manifest as the source of truth for all synchronized metadata.\
> The synchronization scope is controlled by the \`sections\` query parameter. Available sections are:\
> \- \`slas\`: synchronizes SLA properties (restricted to those that match existing Out-of-the-Box (OOTB) attributes on the Data Contract Asset).\
> \- \`relations\`: synchronizes relations (tables from the \`schema\` section of the manifest that match existing assets in Collibra).\
> By default, all sections are applied.\
> \
> It is typically executed after initializing a contract, uploading a new version, or setting a version as active.\
> This operation is only supported for manifest versions using the ODCS format.<br>

```json
{"openapi":"3.0.3","info":{"title":"Collibra data product public API","version":"1.1.0"},"tags":[{"name":"Data contract","description":"Manage data contracts."}],"servers":[{"url":"/rest/dataProduct/v1"}],"security":[{"basicAuth":[]},{"jwtAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"description":"Collibra REST API authentication using Basic Authentication.","type":"http","scheme":"basic"},"jwtAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Collibra REST API authentication using JSON Web Token."}},"schemas":{"ApplyDataContractResponse":{"description":"Response containing the results of applying the data contract manifest to Collibra Knowledge Graph.","type":"object","properties":{"dryRun":{"description":"Whether the apply operation was a dry run.","type":"boolean"},"data":{"$ref":"#/components/schemas/ApplyDataSections"}},"required":["dryRun","data"]},"ApplyDataSections":{"description":"Results per section of the apply operation.","type":"object","properties":{"slas":{"$ref":"#/components/schemas/ApplySlasSection"},"relations":{"$ref":"#/components/schemas/ApplyRelationsSection"}}},"ApplySlasSection":{"description":"Results for applying SLAs from the data contract manifest.","type":"object","properties":{"summary":{"$ref":"#/components/schemas/ApplySectionSummary"},"error":{"type":"string","description":"Present when the entire section failed."},"results":{"type":"array","items":{"$ref":"#/components/schemas/ApplySlaResult"}}},"required":["summary"]},"ApplySectionSummary":{"description":"Summary statistics for a section of the apply operation.","type":"object","properties":{"total":{"type":"integer"},"success":{"type":"integer"},"skipped":{"type":"integer"},"failed":{"type":"integer"}},"required":["total","success","skipped","failed"]},"ApplySlaResult":{"description":"Result of applying a single SLA entry from the data contract manifest.","type":"object","properties":{"status":{"type":"string","description":"Omitted when `dryRun` is true. Possible values are:\n  * `SUCCESS`\n  * `FAILURE`\n  * `SKIPPED`\n"},"action":{"type":"string","description":"Possible values are:\n  * `CREATE`\n  * `UPDATE`\n  * `DELETE`\n  * `KEEP`\n  * `SKIP`\n"},"id":{"type":"string","format":"uuid","description":"UUID of the attribute.","nullable":true},"attributeDiscriminator":{"type":"string"},"type":{"$ref":"#/components/schemas/ApplyAttributeTypeRef"},"asset":{"$ref":"#/components/schemas/ApplyAssetRef"},"previousValue":{"type":"string","nullable":true},"newValue":{"type":"string","nullable":true},"filePath":{"type":"string","nullable":true,"description":"Path within the manifest file that identifies the source of this SLA entry.\nFor ODCS manifests, this is the index in bracket notation\n(e.g. `slaProperties[0]`). Null for DELETE results.\n"},"details":{"type":"string","description":"Error message if status is FAILURE.","nullable":true}}},"ApplyAttributeTypeRef":{"description":"Reference to an attribute type involved in an apply operation.","type":"object","properties":{"id":{"type":"string","format":"uuid"},"resourceDiscriminator":{"type":"string"},"name":{"type":"string"}}},"ApplyAssetRef":{"description":"Reference to an asset involved in an apply operation.","type":"object","properties":{"id":{"type":"string","format":"uuid"},"resourceDiscriminator":{"type":"string"},"name":{"type":"string"}}},"ApplyRelationsSection":{"description":"Results for applying relations from the data contract manifest.","type":"object","properties":{"summary":{"$ref":"#/components/schemas/ApplySectionSummary"},"error":{"type":"string","description":"Present when the entire section failed."},"results":{"type":"array","items":{"$ref":"#/components/schemas/ApplyRelationResult"}}},"required":["summary"]},"ApplyRelationResult":{"description":"Result of applying a single relation entry from the data contract manifest.","type":"object","properties":{"status":{"type":"string","description":"Omitted when `dryRun` is true. Possible values are:\n  * `SUCCESS`\n  * `FAILURE`\n  * `SKIPPED`\n"},"action":{"type":"string","description":"Possible values are:\n  * `CREATE`\n  * `DELETE`\n  * `KEEP`\n  * `SKIP`\n"},"id":{"type":"string","format":"uuid","description":"UUID of the relation.","nullable":true},"source":{"$ref":"#/components/schemas/ApplyResourceRef"},"target":{"$ref":"#/components/schemas/ApplyResourceRef"},"relationType":{"$ref":"#/components/schemas/ApplyRelationTypeRef"},"filePath":{"type":"string","nullable":true,"description":"Path within the manifest file that identifies the source of this relation entry.\nFor ODCS manifests, this is the 0-based index in the schema array\n(e.g. `schema[0]`). Null for DELETE results.\n"},"details":{"type":"string","description":"Error message if status is FAILURE, or reason for SKIP.","nullable":true}}},"ApplyResourceRef":{"description":"Reference to a resource involved in an apply operation.","type":"object","properties":{"id":{"type":"string","format":"uuid"},"resourceDiscriminator":{"type":"string"},"name":{"type":"string"},"displayName":{"type":"string"}}},"ApplyRelationTypeRef":{"description":"Reference to a relation type involved in an apply operation.","type":"object","properties":{"id":{"type":"string","format":"uuid"},"publicId":{"type":"string"},"role":{"type":"string"},"coRole":{"type":"string"}}},"StandardErrorResponse":{"description":"A standard error response object.","type":"object","properties":{"statusCode":{"description":"HTTP response code.","type":"integer"},"titleMessage":{"description":"The title of the error message.","type":"string"},"helpMessage":{"description":"A message containing actions you can take regarding the error.","type":"string"},"userMessage":{"description":"A user friendly error message.","type":"string"},"errorCode":{"description":"An error code identifier.","type":"string"}},"required":["statusCode","userMessage"]}},"responses":{"InvalidRequest400":{"description":"The request is not valid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest401":{"description":"The client is not authenticated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest403":{"description":"The user lacks permissions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest404":{"description":"Resource not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest500":{"description":"There was an error processing the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}}}},"paths":{"/dataContracts/{id}/apply":{"post":{"tags":["Data contract"],"summary":"Apply active manifest version to Collibra","description":"**Unstable:** This endpoint may change without notice.\n\nApply the active Data Contract manifest version to the Collibra Knowledge Graph.\nThis operation enforces the manifest as the source of truth for all synchronized metadata.\nThe synchronization scope is controlled by the `sections` query parameter. Available sections are:\n- `slas`: synchronizes SLA properties (restricted to those that match existing Out-of-the-Box (OOTB) attributes on the Data Contract Asset).\n- `relations`: synchronizes relations (tables from the `schema` section of the manifest that match existing assets in Collibra).\nBy default, all sections are applied.\n\nIt is typically executed after initializing a contract, uploading a new version, or setting a version as active.\nThis operation is only supported for manifest versions using the ODCS format.\n","operationId":"applyDataContract","parameters":[{"name":"id","in":"path","required":true,"description":"The unique identifier (UUID) of the data contract asset.","schema":{"type":"string","format":"uuid"}},{"name":"dryRun","in":"query","required":false,"description":"Simulates changes without writing to Collibra. Returns planned actions with no side effects.","schema":{"type":"boolean","default":false}},{"name":"sections","in":"query","required":false,"description":"Which sections to apply. Each section is applied independently.\nPossible values are:\n  * `slas`\n  * `relations`\n","schema":{"type":"array","items":{"type":"string"},"maxItems":2,"default":["slas","relations"]}}],"responses":{"200":{"description":"The data contract version was applied to Collibra Knowledge Graph. The response contains detailed results for each resource that was processed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplyDataContractResponse"}}}},"400":{"$ref":"#/components/responses/InvalidRequest400"},"401":{"$ref":"#/components/responses/InvalidRequest401"},"403":{"$ref":"#/components/responses/InvalidRequest403"},"404":{"$ref":"#/components/responses/InvalidRequest404"},"500":{"$ref":"#/components/responses/InvalidRequest500"}}}}}}
```

## List versions

> Retrieves a paginated list of all versions' metadata for a specified data contract, ordered by\
> active=true first, then active=false, and finally sorted by the last modified date in descending order.\
> You can optionally filter results using a version string with configurable matching modes (partial or exact match).<br>

```json
{"openapi":"3.0.3","info":{"title":"Collibra data product public API","version":"1.1.0"},"tags":[{"name":"Data contract","description":"Manage data contracts."}],"servers":[{"url":"/rest/dataProduct/v1"}],"security":[{"basicAuth":[]},{"jwtAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"description":"Collibra REST API authentication using Basic Authentication.","type":"http","scheme":"basic"},"jwtAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Collibra REST API authentication using JSON Web Token."}},"schemas":{"MatchMode":{"type":"string","description":"The mode used to match the filter value against the target field. If the match mode is `EXACT` the search is case-sensitive, otherwise the search is case-insensitive.\n\nPossible values are:\n  * `START` - The version must start with the given string.\n  * `END` - The version must end with the given string.\n  * `ANYWHERE` - The version must contain the given string anywhere.\n  * `EXACT` - The version must exactly match the given string.\n","enum":["START","END","ANYWHERE","EXACT"]},"DataContractManifestVersionListPaginated":{"description":"A paginated list of data contract Version resources.","type":"object","properties":{"total":{"description":"Count of resources available in this collection (based on the parameters provided to the API)","type":"integer"},"nextCursor":{"type":"string","description":"The cursor pointing to the next page. If the cursor is missing, there are no additional pages of\nresources available after the current one.\n"},"limit":{"type":"integer","description":"Maximum number of items returned in this response."},"items":{"type":"array","description":"List of data contract items.","items":{"$ref":"#/components/schemas/DataContractManifestVersion"}}},"required":["nextCursor","limit","items"]},"DataContractManifestVersion":{"description":"Metadata attributes of a data contract version","type":"object","properties":{"version":{"description":"Version of the data contract Manifest.","type":"string"},"active":{"description":"The active version is the version exposed through the data contract asset.","type":"boolean"},"format":{"type":"string","description":"Format type of the data contract manifest.\n\nPossible values are:\n  * `ODCS`\n  * `DCS`\n  * `CUSTOM`\n"},"createdBy":{"description":"The unique identifier of the user who created the data contract Version.","type":"string","format":"uuid"},"createdOn":{"description":"The timestamp (in UTC time standard) when the data contract Version was created.","type":"integer","format":"int64"},"lastModifiedBy":{"description":"The unique identifier of the user who last modified the data contract Version.","type":"string","format":"uuid"},"lastModifiedOn":{"description":"The timestamp (in UTC time standard) when the data contract Version was last modified.","type":"integer","format":"int64"}},"required":["version","active","format","createdBy","createdOn","lastModifiedBy","lastModifiedOn"]},"StandardErrorResponse":{"description":"A standard error response object.","type":"object","properties":{"statusCode":{"description":"HTTP response code.","type":"integer"},"titleMessage":{"description":"The title of the error message.","type":"string"},"helpMessage":{"description":"A message containing actions you can take regarding the error.","type":"string"},"userMessage":{"description":"A user friendly error message.","type":"string"},"errorCode":{"description":"An error code identifier.","type":"string"}},"required":["statusCode","userMessage"]}},"responses":{"DataContractManifestVersionListPaginatedResponse":{"description":"Returns a paginated list of data contract version metadata.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataContractManifestVersionListPaginated"}}}},"InvalidRequest400":{"description":"The request is not valid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest401":{"description":"The client is not authenticated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest403":{"description":"The user lacks permissions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest404":{"description":"Resource not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest500":{"description":"There was an error processing the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}}}},"paths":{"/dataContracts/{id}/versions":{"get":{"tags":["Data contract"],"summary":"List versions","description":"Retrieves a paginated list of all versions' metadata for a specified data contract, ordered by\nactive=true first, then active=false, and finally sorted by the last modified date in descending order.\nYou can optionally filter results using a version string with configurable matching modes (partial or exact match).\n","operationId":"listDataContractVersions","parameters":[{"name":"id","in":"path","required":true,"description":"The unique identifier (UUID) of the data contract asset.","schema":{"type":"string","format":"uuid"}},{"name":"cursor","in":"query","required":false,"description":"The cursor pointing to the first resource to be included in the response.\nThis cursor cannot be created and must have been extracted from a response returned by a previous API call.\nIf this parameter is missing, the API will return the resources starting from the first resource available (index=0).\n","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"The maximum number of resources to retrieve.\nIf not set, the default limit  (limit = <code>100</code>) will be used.\nThe maximum value for this parameter is <code>500</code>.\n","schema":{"type":"integer","default":100,"maximum":500}},{"name":"includeTotal","in":"query","required":false,"description":"Should results include the total number of resources available in this collection.\n","schema":{"type":"boolean","default":false}},{"name":"version","in":"query","required":false,"description":"The version string to search for. The search behavior depends on the `versionMatchMode` parameter.\nWhen used with the default `EXACT` match mode, it filters versions that exactly match the provided string.\nWhen used with the `START` match mode, it filters versions that start with the provided string.\nFor example, searching for \"10.\" with `START` mode will return versions like \"10.0.0\", \"10.0.1\", \"10.1.0\", and so on.\n","schema":{"type":"string"}},{"name":"versionMatchMode","in":"query","required":false,"description":"The mode used to match the version string filter.\n\nThis parameter is only applicable when the `version` parameter is provided.\n","schema":{"allOf":[{"$ref":"#/components/schemas/MatchMode"}],"default":"EXACT"}}],"responses":{"200":{"$ref":"#/components/responses/DataContractManifestVersionListPaginatedResponse"},"400":{"$ref":"#/components/responses/InvalidRequest400"},"401":{"$ref":"#/components/responses/InvalidRequest401"},"403":{"$ref":"#/components/responses/InvalidRequest403"},"404":{"$ref":"#/components/responses/InvalidRequest404"},"500":{"$ref":"#/components/responses/InvalidRequest500"}}}}}}
```

## Upload new version

> Uploads a new version of a data contract manifest. Use this to add to the version history of a data contract\
> that has already been initialized and exists within Collibra.<br>

```json
{"openapi":"3.0.3","info":{"title":"Collibra data product public API","version":"1.1.0"},"tags":[{"name":"Data contract","description":"Manage data contracts."}],"servers":[{"url":"/rest/dataProduct/v1"}],"security":[{"basicAuth":[]},{"jwtAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"description":"Collibra REST API authentication using Basic Authentication.","type":"http","scheme":"basic"},"jwtAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Collibra REST API authentication using JSON Web Token."}},"schemas":{"DataContractManifestVersionCreateRequest":{"allOf":[{"$ref":"#/components/schemas/DataContractManifest"},{"type":"object","properties":{"version":{"description":"The version of the data contract manifest being uploaded. If omitted, the version will be parsed\nautomatically from the manifest unless it does not adhere to the Open Data Contract Standard,\nin which case omitting this field will result in an error.\nMaximum length: 100 characters.\n","type":"string","maxLength":100},"active":{"description":"Set to true to make this data contract manifest version the active version.\nThis will automatically deactivate the previous active version.\nThe active version is the one that's exposed through the data contract asset.\nWhen set to false, current active status of the uploaded contract manifest is kept as is.\nDefaults to true.\n","type":"boolean","default":true},"force":{"description":"Set to true to force the overwrite of an existing manifest version if it has the same version value.\nWhen a new manifest overwrites the active version, the 'active' parameter in the request is ignored,\nand the version's active state remains unchanged.\nDefaults to false.\n","type":"boolean","default":false}}}],"required":["manifest"]},"DataContractManifest":{"description":"A data contract manifest file.","type":"object","properties":{"manifest":{"description":"The content of the data contract manifest file.\nThe filename should be provided in the `Content-Disposition` header.\n","type":"string","format":"binary"}}},"DataContractWithSingleManifestVersion":{"description":"Metadata attributes of a data contract including active version.","type":"object","allOf":[{"$ref":"#/components/schemas/DataContract"},{"type":"object","properties":{"manifestVersion":{"description":"The active version of the data contract.","allOf":[{"$ref":"#/components/schemas/DataContractManifestVersion"}]}},"required":["manifestVersion"]}]},"DataContract":{"description":"Metadata attributes of a data contract","type":"object","properties":{"name":{"description":"The name of the data contract asset.","type":"string"},"id":{"description":"UUID of the data contract asset.","type":"string","format":"uuid"},"manifestId":{"description":"The unique identifier of the data contract.","type":"string"},"domainName":{"description":"The name of the domain where the data contract asset is located.","type":"string"},"domainId":{"description":"The unique identifier (UUID) of the domain where the data contract asset is located.","type":"string","format":"uuid"},"activeVersion":{"description":"The version value of the currently active data contract manifest.","type":"string"}},"required":["name","id","manifestId","domainName","domainId","activeVersion"]},"DataContractManifestVersion":{"description":"Metadata attributes of a data contract version","type":"object","properties":{"version":{"description":"Version of the data contract Manifest.","type":"string"},"active":{"description":"The active version is the version exposed through the data contract asset.","type":"boolean"},"format":{"type":"string","description":"Format type of the data contract manifest.\n\nPossible values are:\n  * `ODCS`\n  * `DCS`\n  * `CUSTOM`\n"},"createdBy":{"description":"The unique identifier of the user who created the data contract Version.","type":"string","format":"uuid"},"createdOn":{"description":"The timestamp (in UTC time standard) when the data contract Version was created.","type":"integer","format":"int64"},"lastModifiedBy":{"description":"The unique identifier of the user who last modified the data contract Version.","type":"string","format":"uuid"},"lastModifiedOn":{"description":"The timestamp (in UTC time standard) when the data contract Version was last modified.","type":"integer","format":"int64"}},"required":["version","active","format","createdBy","createdOn","lastModifiedBy","lastModifiedOn"]},"StandardErrorResponse":{"description":"A standard error response object.","type":"object","properties":{"statusCode":{"description":"HTTP response code.","type":"integer"},"titleMessage":{"description":"The title of the error message.","type":"string"},"helpMessage":{"description":"A message containing actions you can take regarding the error.","type":"string"},"userMessage":{"description":"A user friendly error message.","type":"string"},"errorCode":{"description":"An error code identifier.","type":"string"}},"required":["statusCode","userMessage"]}},"responses":{"DataContractWithSingleManifestVersionResponse200":{"description":"Returns the metadata for the updated data contract version.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataContractWithSingleManifestVersion"}}},"headers":{"Location":{"description":"The URL of the updated version of the data contract manifest file.\n","schema":{"type":"string","format":"uri"}}}},"DataContractWithSingleManifestVersionResponse201":{"description":"Returns the metadata for the newly created data contract version.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataContractWithSingleManifestVersion"}}},"headers":{"Location":{"description":"The URL of the newly created version of the data contract manifest file.\n","schema":{"type":"string","format":"uri"}}}},"InvalidRequest400":{"description":"The request is not valid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest401":{"description":"The client is not authenticated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest403":{"description":"The user lacks permissions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest404":{"description":"Resource not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest409":{"description":"Conflicts found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest500":{"description":"There was an error processing the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}}}},"paths":{"/dataContracts/{id}/versions":{"post":{"tags":["Data contract"],"summary":"Upload new version","description":"Uploads a new version of a data contract manifest. Use this to add to the version history of a data contract\nthat has already been initialized and exists within Collibra.\n","operationId":"uploadDataContractVersion","parameters":[{"name":"id","in":"path","required":true,"description":"The unique identifier (UUID) of the data contract asset in Collibra. This ID must correspond\nto a data contract asset that has already been initialized in Collibra.\n","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/DataContractManifestVersionCreateRequest"},"encoding":{"file":{"contentType":"text/plain"}}}}},"responses":{"200":{"$ref":"#/components/responses/DataContractWithSingleManifestVersionResponse200"},"201":{"$ref":"#/components/responses/DataContractWithSingleManifestVersionResponse201"},"400":{"$ref":"#/components/responses/InvalidRequest400"},"401":{"$ref":"#/components/responses/InvalidRequest401"},"403":{"$ref":"#/components/responses/InvalidRequest403"},"404":{"$ref":"#/components/responses/InvalidRequest404"},"409":{"$ref":"#/components/responses/InvalidRequest409"},"500":{"$ref":"#/components/responses/InvalidRequest500"}}}}}}
```

## Delete specific version

> Deletes a specific data contract manifest version.<br>

```json
{"openapi":"3.0.3","info":{"title":"Collibra data product public API","version":"1.1.0"},"tags":[{"name":"Data contract","description":"Manage data contracts."}],"servers":[{"url":"/rest/dataProduct/v1"}],"security":[{"basicAuth":[]},{"jwtAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"description":"Collibra REST API authentication using Basic Authentication.","type":"http","scheme":"basic"},"jwtAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Collibra REST API authentication using JSON Web Token."}},"responses":{"InvalidRequest400":{"description":"The request is not valid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest401":{"description":"The client is not authenticated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest403":{"description":"The user lacks permissions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest500":{"description":"There was an error processing the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}}},"schemas":{"StandardErrorResponse":{"description":"A standard error response object.","type":"object","properties":{"statusCode":{"description":"HTTP response code.","type":"integer"},"titleMessage":{"description":"The title of the error message.","type":"string"},"helpMessage":{"description":"A message containing actions you can take regarding the error.","type":"string"},"userMessage":{"description":"A user friendly error message.","type":"string"},"errorCode":{"description":"An error code identifier.","type":"string"}},"required":["statusCode","userMessage"]}}},"paths":{"/dataContracts/{id}/versions":{"delete":{"tags":["Data contract"],"summary":"Delete specific version","description":"Deletes a specific data contract manifest version.\n","operationId":"deleteDataContractVersion","parameters":[{"name":"id","in":"path","required":true,"description":"The unique identifier (UUID) of the data contract asset.","schema":{"type":"string","format":"uuid"}},{"name":"version","in":"query","required":true,"description":"The specific version of the data contract to delete.","schema":{"type":"string"}}],"responses":{"200":{"description":"The data contract version was successfully deleted."},"204":{"description":"The data contract version does not exist or had been deleted already."},"400":{"$ref":"#/components/responses/InvalidRequest400"},"401":{"$ref":"#/components/responses/InvalidRequest401"},"403":{"$ref":"#/components/responses/InvalidRequest403"},"500":{"$ref":"#/components/responses/InvalidRequest500"}}}}}}
```

## Download specific manifest file version.

> Downloads the manifest file for the specific data contract version identified in the path.<br>

```json
{"openapi":"3.0.3","info":{"title":"Collibra data product public API","version":"1.1.0"},"tags":[{"name":"Data contract","description":"Manage data contracts."}],"servers":[{"url":"/rest/dataProduct/v1"}],"security":[{"basicAuth":[]},{"jwtAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"description":"Collibra REST API authentication using Basic Authentication.","type":"http","scheme":"basic"},"jwtAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Collibra REST API authentication using JSON Web Token."}},"responses":{"InvalidRequest400":{"description":"The request is not valid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest401":{"description":"The client is not authenticated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest403":{"description":"The user lacks permissions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest404":{"description":"Resource not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest500":{"description":"There was an error processing the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}}},"schemas":{"StandardErrorResponse":{"description":"A standard error response object.","type":"object","properties":{"statusCode":{"description":"HTTP response code.","type":"integer"},"titleMessage":{"description":"The title of the error message.","type":"string"},"helpMessage":{"description":"A message containing actions you can take regarding the error.","type":"string"},"userMessage":{"description":"A user friendly error message.","type":"string"},"errorCode":{"description":"An error code identifier.","type":"string"}},"required":["statusCode","userMessage"]}}},"paths":{"/dataContracts/{id}/versions/manifest":{"get":{"tags":["Data contract"],"summary":"Download specific manifest file version.","description":"Downloads the manifest file for the specific data contract version identified in the path.\n","operationId":"downloadSpecificDataContractVersion","parameters":[{"name":"id","in":"path","required":true,"description":"The unique identifier of the data contract asset.","schema":{"type":"string","format":"uuid"}},{"name":"version","in":"query","required":true,"description":"The version of the data contract manifest to download.","schema":{"type":"string"}}],"responses":{"200":{"description":"A downloadable file containing the data contract manifest.","content":{"application/yaml":{"schema":{"type":"string","format":"binary"}},"*/*":{"schema":{"type":"string","format":"binary"}}},"headers":{"Content-Disposition":{"description":"Indicates that the response should be downloaded as a file.","schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/InvalidRequest400"},"401":{"$ref":"#/components/responses/InvalidRequest401"},"403":{"$ref":"#/components/responses/InvalidRequest403"},"404":{"$ref":"#/components/responses/InvalidRequest404"},"500":{"$ref":"#/components/responses/InvalidRequest500"}}}}}}
```

## Retrieve active version metadata

> Retrieves the metadata for the currently active version of a specific data contract. This is the version\
> that is exposed through the data contract asset.<br>

```json
{"openapi":"3.0.3","info":{"title":"Collibra data product public API","version":"1.1.0"},"tags":[{"name":"Data contract","description":"Manage data contracts."}],"servers":[{"url":"/rest/dataProduct/v1"}],"security":[{"basicAuth":[]},{"jwtAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"description":"Collibra REST API authentication using Basic Authentication.","type":"http","scheme":"basic"},"jwtAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Collibra REST API authentication using JSON Web Token."}},"responses":{"DataContractMetadataVersionResponse":{"description":"Returns the requested data contract manifest metadata.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataContractManifestVersion"}}}},"InvalidRequest400":{"description":"The request is not valid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest401":{"description":"The client is not authenticated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest403":{"description":"The user lacks permissions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest404":{"description":"Resource not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest500":{"description":"There was an error processing the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}}},"schemas":{"DataContractManifestVersion":{"description":"Metadata attributes of a data contract version","type":"object","properties":{"version":{"description":"Version of the data contract Manifest.","type":"string"},"active":{"description":"The active version is the version exposed through the data contract asset.","type":"boolean"},"format":{"type":"string","description":"Format type of the data contract manifest.\n\nPossible values are:\n  * `ODCS`\n  * `DCS`\n  * `CUSTOM`\n"},"createdBy":{"description":"The unique identifier of the user who created the data contract Version.","type":"string","format":"uuid"},"createdOn":{"description":"The timestamp (in UTC time standard) when the data contract Version was created.","type":"integer","format":"int64"},"lastModifiedBy":{"description":"The unique identifier of the user who last modified the data contract Version.","type":"string","format":"uuid"},"lastModifiedOn":{"description":"The timestamp (in UTC time standard) when the data contract Version was last modified.","type":"integer","format":"int64"}},"required":["version","active","format","createdBy","createdOn","lastModifiedBy","lastModifiedOn"]},"StandardErrorResponse":{"description":"A standard error response object.","type":"object","properties":{"statusCode":{"description":"HTTP response code.","type":"integer"},"titleMessage":{"description":"The title of the error message.","type":"string"},"helpMessage":{"description":"A message containing actions you can take regarding the error.","type":"string"},"userMessage":{"description":"A user friendly error message.","type":"string"},"errorCode":{"description":"An error code identifier.","type":"string"}},"required":["statusCode","userMessage"]}}},"paths":{"/dataContracts/{id}/activeVersion":{"get":{"tags":["Data contract"],"summary":"Retrieve active version metadata","description":"Retrieves the metadata for the currently active version of a specific data contract. This is the version\nthat is exposed through the data contract asset.\n","operationId":"getActiveDataContractVersion","parameters":[{"name":"id","in":"path","required":true,"description":"The unique identifier (UUID) of the data contract asset for which to retrieve the active version.","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"$ref":"#/components/responses/DataContractMetadataVersionResponse"},"400":{"$ref":"#/components/responses/InvalidRequest400"},"401":{"$ref":"#/components/responses/InvalidRequest401"},"403":{"$ref":"#/components/responses/InvalidRequest403"},"404":{"$ref":"#/components/responses/InvalidRequest404"},"500":{"$ref":"#/components/responses/InvalidRequest500"}}}}}}
```

## Set active version

> Sets a data contract version as active. This determines which version of a Data contract is exposed through\
> its associated data contract asset. This will automatically deactivate the previous active version.\
> If the specified version is already active, the operation will have no effect.<br>

```json
{"openapi":"3.0.3","info":{"title":"Collibra data product public API","version":"1.1.0"},"tags":[{"name":"Data contract","description":"Manage data contracts."}],"servers":[{"url":"/rest/dataProduct/v1"}],"security":[{"basicAuth":[]},{"jwtAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"description":"Collibra REST API authentication using Basic Authentication.","type":"http","scheme":"basic"},"jwtAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Collibra REST API authentication using JSON Web Token."}},"responses":{"DataContractMetadataVersionResponse":{"description":"Returns the requested data contract manifest metadata.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataContractManifestVersion"}}}},"InvalidRequest400":{"description":"The request is not valid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest401":{"description":"The client is not authenticated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest403":{"description":"The user lacks permissions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest404":{"description":"Resource not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest500":{"description":"There was an error processing the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}}},"schemas":{"DataContractManifestVersion":{"description":"Metadata attributes of a data contract version","type":"object","properties":{"version":{"description":"Version of the data contract Manifest.","type":"string"},"active":{"description":"The active version is the version exposed through the data contract asset.","type":"boolean"},"format":{"type":"string","description":"Format type of the data contract manifest.\n\nPossible values are:\n  * `ODCS`\n  * `DCS`\n  * `CUSTOM`\n"},"createdBy":{"description":"The unique identifier of the user who created the data contract Version.","type":"string","format":"uuid"},"createdOn":{"description":"The timestamp (in UTC time standard) when the data contract Version was created.","type":"integer","format":"int64"},"lastModifiedBy":{"description":"The unique identifier of the user who last modified the data contract Version.","type":"string","format":"uuid"},"lastModifiedOn":{"description":"The timestamp (in UTC time standard) when the data contract Version was last modified.","type":"integer","format":"int64"}},"required":["version","active","format","createdBy","createdOn","lastModifiedBy","lastModifiedOn"]},"StandardErrorResponse":{"description":"A standard error response object.","type":"object","properties":{"statusCode":{"description":"HTTP response code.","type":"integer"},"titleMessage":{"description":"The title of the error message.","type":"string"},"helpMessage":{"description":"A message containing actions you can take regarding the error.","type":"string"},"userMessage":{"description":"A user friendly error message.","type":"string"},"errorCode":{"description":"An error code identifier.","type":"string"}},"required":["statusCode","userMessage"]}}},"paths":{"/dataContracts/{id}/activeVersion":{"patch":{"tags":["Data contract"],"summary":"Set active version","description":"Sets a data contract version as active. This determines which version of a Data contract is exposed through\nits associated data contract asset. This will automatically deactivate the previous active version.\nIf the specified version is already active, the operation will have no effect.\n","operationId":"setActiveDataContractVersion","parameters":[{"name":"id","in":"path","required":true,"description":"The unique identifier (UUID) of the data contract asset.","schema":{"type":"string","format":"uuid"}},{"name":"version","in":"query","required":true,"description":"The specific version of the data contract to set as active.","schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/DataContractMetadataVersionResponse"},"400":{"$ref":"#/components/responses/InvalidRequest400"},"401":{"$ref":"#/components/responses/InvalidRequest401"},"403":{"$ref":"#/components/responses/InvalidRequest403"},"404":{"$ref":"#/components/responses/InvalidRequest404"},"500":{"$ref":"#/components/responses/InvalidRequest500"}}}}}}
```

## Download active version

> Downloads the manifest file for the currently active version of a specific data contract.\
> This is the version that is exposed through the data contract asset.<br>

```json
{"openapi":"3.0.3","info":{"title":"Collibra data product public API","version":"1.1.0"},"tags":[{"name":"Data contract","description":"Manage data contracts."}],"servers":[{"url":"/rest/dataProduct/v1"}],"security":[{"basicAuth":[]},{"jwtAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"description":"Collibra REST API authentication using Basic Authentication.","type":"http","scheme":"basic"},"jwtAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Collibra REST API authentication using JSON Web Token."}},"responses":{"InvalidRequest400":{"description":"The request is not valid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest401":{"description":"The client is not authenticated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest403":{"description":"The user lacks permissions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest404":{"description":"Resource not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest500":{"description":"There was an error processing the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}}},"schemas":{"StandardErrorResponse":{"description":"A standard error response object.","type":"object","properties":{"statusCode":{"description":"HTTP response code.","type":"integer"},"titleMessage":{"description":"The title of the error message.","type":"string"},"helpMessage":{"description":"A message containing actions you can take regarding the error.","type":"string"},"userMessage":{"description":"A user friendly error message.","type":"string"},"errorCode":{"description":"An error code identifier.","type":"string"}},"required":["statusCode","userMessage"]}}},"paths":{"/dataContracts/{id}/activeVersion/manifest":{"get":{"tags":["Data contract"],"summary":"Download active version","description":"Downloads the manifest file for the currently active version of a specific data contract.\nThis is the version that is exposed through the data contract asset.\n","operationId":"downloadActiveDataContractVersion","parameters":[{"name":"id","in":"path","required":true,"description":"The unique identifier (UUID) of the data contract asset for which to download the active manifest version.","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"A downloadable file containing the data contract manifest.","content":{"application/yaml":{"schema":{"type":"string","format":"binary"}},"*/*":{"schema":{"type":"string","format":"binary"}}},"headers":{"Content-Disposition":{"description":"Indicates that the response should be downloaded as a file.","schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/InvalidRequest400"},"401":{"$ref":"#/components/responses/InvalidRequest401"},"403":{"$ref":"#/components/responses/InvalidRequest403"},"404":{"$ref":"#/components/responses/InvalidRequest404"},"500":{"$ref":"#/components/responses/InvalidRequest500"}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developer.collibra.com/api/references/data-product/data-contract.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
