> 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/protect/data-sources.md).

# Data Sources

Manage data sources.

## List data sources

> Lists all data sources.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Protect API","version":"1.0.0"},"tags":[{"name":"Data Sources","description":"Manage data sources."}],"servers":[{"url":"/rest/protect/v1"}],"security":[{"basicAuth":[]},{"jwtAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic","description":"Collibra REST API authentication using Basic Authentication."},"jwtAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Collibra REST API authentication using JSON Web Token."}},"parameters":{"Limit":{"name":"limit","in":"query","description":"This is the maximum number of results that may be returned. Fewer may be returned than the value of <code>limit</code>.\n\nDo not depend on the number of results being fewer than the <code>limit</code> value\nto indicate that your query reached the end of the list of data, use the absence of <code>after</code> (see Cursors) instead.\nFor example, if you set <code>limit</code> to 10 and 9 results are returned, there may be more data available.\n\nIf not set, the default limit (limit = <code>25</code>) will be used. The maximum value for this parameter is <code>500</code>.\n","schema":{"type":"integer","default":25,"minimum":1,"maximum":500}},"After":{"name":"after","in":"query","description":"This is the cursor that points to the end of the page of data that has been returned.","schema":{"type":"string","nullable":true}}},"responses":{"ListDataSources200":{"description":"The list of data sources.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedDataSources"}}}},"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":"An unexpected error has occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}}},"schemas":{"PagedDataSources":{"description":"A page of data sources.","type":"object","properties":{"cursors":{"$ref":"#/components/schemas/Cursors"},"results":{"type":"array","items":{"$ref":"#/components/schemas/DataSource"}}},"required":["cursors","results"]},"Cursors":{"description":"A cursor refers to a random string of characters which marks a specific item in a list of data.\nThe cursor will always point to the item, however it will be invalidated if the item is deleted or removed.\nTherefore, your app shouldn't store cursors or assume that they will be valid in the future.\n","type":"object","properties":{"after":{"description":"This is the cursor that points to the end of the page of data that has been returned.","type":"string"}}},"DataSource":{"allOf":[{"$ref":"#/components/schemas/EditableDataSource"},{"type":"object","properties":{"id":{"description":"The ID of the data source.","type":"string","format":"uuid"},"isBuiltIn":{"description":"Indicates whether the data source is protect built-in or not.","type":"boolean","default":false},"createdBy":{"description":"ID of the Collibra user who created this data source.","type":"string","format":"uuid"},"createdOn":{"description":"The timestamp of when this data source was created","type":"integer","format":"int64"},"lastModifiedBy":{"description":"ID of the Collibra user who last updated this data source.","type":"string","format":"uuid"},"lastModifiedOn":{"description":"The timestamp of when this data source was last updated.","type":"integer","format":"int64"}},"required":["id","createdBy","createdOn","lastModifiedBy","lastModifiedOn"]}]},"EditableDataSource":{"type":"object","properties":{"name":{"description":"The name of the data source.","type":"string"},"dataSourceName":{"description":"The value of the \"Data Source Type\" attribute on the Database asset. It is also used in group mapping as the \"provider\" name","type":"string"},"dataSourceAliases":{"description":"A list of aliases for the data source name used in the \"Data Source Type\" attribute on the Database asset.","type":"array","items":{"$ref":"#/components/schemas/DataSourceAlias"}}},"required":["name","dataSourceName"]},"DataSourceAlias":{"description":"Alias name for a data source.","type":"string"},"StandardErrorResponse":{"type":"object","properties":{"statusCode":{"type":"integer","description":"HTTP response code"},"titleMessage":{"type":"string","description":"The title of the error message."},"helpMessage":{"type":"string","description":"A message containing actions you can take regarding the error."},"userMessage":{"type":"string","description":"A user friendly error message."},"errorCode":{"type":"string","description":"An error code identifier."}},"required":["statusCode","userMessage"]}}},"paths":{"/dataSources":{"get":{"tags":["Data Sources"],"summary":"List data sources","description":"Lists all data sources.","operationId":"listDataSources","parameters":[{"$ref":"#/components/parameters/Limit"},{"$ref":"#/components/parameters/After"}],"responses":{"200":{"$ref":"#/components/responses/ListDataSources200"},"401":{"$ref":"#/components/responses/InvalidRequest401"},"403":{"$ref":"#/components/responses/InvalidRequest403"},"500":{"$ref":"#/components/responses/InvalidRequest500"}}}}}}
```

## Add a new data source

> Adds a new data source.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Protect API","version":"1.0.0"},"tags":[{"name":"Data Sources","description":"Manage data sources."}],"servers":[{"url":"/rest/protect/v1"}],"security":[{"basicAuth":[]},{"jwtAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic","description":"Collibra REST API authentication using Basic Authentication."},"jwtAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Collibra REST API authentication using JSON Web Token."}},"schemas":{"AddDataSourceRequest":{"allOf":[{"$ref":"#/components/schemas/EditableDataSource"}]},"EditableDataSource":{"type":"object","properties":{"name":{"description":"The name of the data source.","type":"string"},"dataSourceName":{"description":"The value of the \"Data Source Type\" attribute on the Database asset. It is also used in group mapping as the \"provider\" name","type":"string"},"dataSourceAliases":{"description":"A list of aliases for the data source name used in the \"Data Source Type\" attribute on the Database asset.","type":"array","items":{"$ref":"#/components/schemas/DataSourceAlias"}}},"required":["name","dataSourceName"]},"DataSourceAlias":{"description":"Alias name for a data source.","type":"string"},"DataSource":{"allOf":[{"$ref":"#/components/schemas/EditableDataSource"},{"type":"object","properties":{"id":{"description":"The ID of the data source.","type":"string","format":"uuid"},"isBuiltIn":{"description":"Indicates whether the data source is protect built-in or not.","type":"boolean","default":false},"createdBy":{"description":"ID of the Collibra user who created this data source.","type":"string","format":"uuid"},"createdOn":{"description":"The timestamp of when this data source was created","type":"integer","format":"int64"},"lastModifiedBy":{"description":"ID of the Collibra user who last updated this data source.","type":"string","format":"uuid"},"lastModifiedOn":{"description":"The timestamp of when this data source was last updated.","type":"integer","format":"int64"}},"required":["id","createdBy","createdOn","lastModifiedBy","lastModifiedOn"]}]},"StandardErrorResponse":{"type":"object","properties":{"statusCode":{"type":"integer","description":"HTTP response code"},"titleMessage":{"type":"string","description":"The title of the error message."},"helpMessage":{"type":"string","description":"A message containing actions you can take regarding the error."},"userMessage":{"type":"string","description":"A user friendly error message."},"errorCode":{"type":"string","description":"An error code identifier."}},"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"}}}},"InvalidRequest409":{"description":"Conflicts found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest500":{"description":"An unexpected error has occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}}}},"paths":{"/dataSources":{"post":{"tags":["Data Sources"],"summary":"Add a new data source","description":"Adds a new data source.","operationId":"addDataSource","requestBody":{"description":"The new data source you want to add.","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddDataSourceRequest"}}}},"responses":{"201":{"description":"The data source has been added.","headers":{"Location":{"description":"The URL of the newly added data source.","schema":{"type":"string","format":"uri"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataSource"}}}},"400":{"$ref":"#/components/responses/InvalidRequest400"},"401":{"$ref":"#/components/responses/InvalidRequest401"},"403":{"$ref":"#/components/responses/InvalidRequest403"},"409":{"$ref":"#/components/responses/InvalidRequest409"},"500":{"$ref":"#/components/responses/InvalidRequest500"}}}}}}
```

## Retrieve a data source

> Returns information about the data source with the specified ID.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Protect API","version":"1.0.0"},"tags":[{"name":"Data Sources","description":"Manage data sources."}],"servers":[{"url":"/rest/protect/v1"}],"security":[{"basicAuth":[]},{"jwtAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic","description":"Collibra REST API authentication using Basic Authentication."},"jwtAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Collibra REST API authentication using JSON Web Token."}},"schemas":{"DataSource":{"allOf":[{"$ref":"#/components/schemas/EditableDataSource"},{"type":"object","properties":{"id":{"description":"The ID of the data source.","type":"string","format":"uuid"},"isBuiltIn":{"description":"Indicates whether the data source is protect built-in or not.","type":"boolean","default":false},"createdBy":{"description":"ID of the Collibra user who created this data source.","type":"string","format":"uuid"},"createdOn":{"description":"The timestamp of when this data source was created","type":"integer","format":"int64"},"lastModifiedBy":{"description":"ID of the Collibra user who last updated this data source.","type":"string","format":"uuid"},"lastModifiedOn":{"description":"The timestamp of when this data source was last updated.","type":"integer","format":"int64"}},"required":["id","createdBy","createdOn","lastModifiedBy","lastModifiedOn"]}]},"EditableDataSource":{"type":"object","properties":{"name":{"description":"The name of the data source.","type":"string"},"dataSourceName":{"description":"The value of the \"Data Source Type\" attribute on the Database asset. It is also used in group mapping as the \"provider\" name","type":"string"},"dataSourceAliases":{"description":"A list of aliases for the data source name used in the \"Data Source Type\" attribute on the Database asset.","type":"array","items":{"$ref":"#/components/schemas/DataSourceAlias"}}},"required":["name","dataSourceName"]},"DataSourceAlias":{"description":"Alias name for a data source.","type":"string"},"StandardErrorResponse":{"type":"object","properties":{"statusCode":{"type":"integer","description":"HTTP response code"},"titleMessage":{"type":"string","description":"The title of the error message."},"helpMessage":{"type":"string","description":"A message containing actions you can take regarding the error."},"userMessage":{"type":"string","description":"A user friendly error message."},"errorCode":{"type":"string","description":"An error code identifier."}},"required":["statusCode","userMessage"]}},"responses":{"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":"An unexpected error has occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}}}},"paths":{"/dataSources/{id}":{"get":{"tags":["Data Sources"],"summary":"Retrieve a data source","description":"Returns information about the data source with the specified ID.","operationId":"getDataSource","parameters":[{"in":"path","description":"The universally unique identifier (UUID) of the data source.","name":"id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"The data source with the specified ID.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataSource"}}}},"401":{"$ref":"#/components/responses/InvalidRequest401"},"403":{"$ref":"#/components/responses/InvalidRequest403"},"404":{"$ref":"#/components/responses/InvalidRequest404"},"500":{"$ref":"#/components/responses/InvalidRequest500"}}}}}}
```

## Delete a data source

> Deletes the data source with the specified ID.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Protect API","version":"1.0.0"},"tags":[{"name":"Data Sources","description":"Manage data sources."}],"servers":[{"url":"/rest/protect/v1"}],"security":[{"basicAuth":[]},{"jwtAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic","description":"Collibra REST API authentication using Basic Authentication."},"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":"An unexpected error has occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}}},"schemas":{"StandardErrorResponse":{"type":"object","properties":{"statusCode":{"type":"integer","description":"HTTP response code"},"titleMessage":{"type":"string","description":"The title of the error message."},"helpMessage":{"type":"string","description":"A message containing actions you can take regarding the error."},"userMessage":{"type":"string","description":"A user friendly error message."},"errorCode":{"type":"string","description":"An error code identifier."}},"required":["statusCode","userMessage"]}}},"paths":{"/dataSources/{id}":{"delete":{"tags":["Data Sources"],"summary":"Delete a data source","description":"Deletes the data source with the specified ID.","operationId":"deleteDataSource","parameters":[{"in":"path","description":"The universally unique identifier (UUID) of the data source.","name":"id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"The data source has been deleted."},"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"}}}}}}
```

## Update a data source

> Updates the data source with the specified ID.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Protect API","version":"1.0.0"},"tags":[{"name":"Data Sources","description":"Manage data sources."}],"servers":[{"url":"/rest/protect/v1"}],"security":[{"basicAuth":[]},{"jwtAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic","description":"Collibra REST API authentication using Basic Authentication."},"jwtAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Collibra REST API authentication using JSON Web Token."}},"schemas":{"ChangeDataSourceRequest":{"type":"object","properties":{"name":{"description":"The name of the data source.","type":"string"},"dataSourceName":{"description":"The value of the \"Data Source Type\" attribute on the Database asset. It is also used in group mapping as the \"provider\" name","type":"string"},"dataSourceAliases":{"description":"A list of aliases for the data source name used in the \"Data Source Type\" attribute on the Database asset.","type":"array","items":{"$ref":"#/components/schemas/DataSourceAlias"}}}},"DataSourceAlias":{"description":"Alias name for a data source.","type":"string"},"DataSource":{"allOf":[{"$ref":"#/components/schemas/EditableDataSource"},{"type":"object","properties":{"id":{"description":"The ID of the data source.","type":"string","format":"uuid"},"isBuiltIn":{"description":"Indicates whether the data source is protect built-in or not.","type":"boolean","default":false},"createdBy":{"description":"ID of the Collibra user who created this data source.","type":"string","format":"uuid"},"createdOn":{"description":"The timestamp of when this data source was created","type":"integer","format":"int64"},"lastModifiedBy":{"description":"ID of the Collibra user who last updated this data source.","type":"string","format":"uuid"},"lastModifiedOn":{"description":"The timestamp of when this data source was last updated.","type":"integer","format":"int64"}},"required":["id","createdBy","createdOn","lastModifiedBy","lastModifiedOn"]}]},"EditableDataSource":{"type":"object","properties":{"name":{"description":"The name of the data source.","type":"string"},"dataSourceName":{"description":"The value of the \"Data Source Type\" attribute on the Database asset. It is also used in group mapping as the \"provider\" name","type":"string"},"dataSourceAliases":{"description":"A list of aliases for the data source name used in the \"Data Source Type\" attribute on the Database asset.","type":"array","items":{"$ref":"#/components/schemas/DataSourceAlias"}}},"required":["name","dataSourceName"]},"StandardErrorResponse":{"type":"object","properties":{"statusCode":{"type":"integer","description":"HTTP response code"},"titleMessage":{"type":"string","description":"The title of the error message."},"helpMessage":{"type":"string","description":"A message containing actions you can take regarding the error."},"userMessage":{"type":"string","description":"A user friendly error message."},"errorCode":{"type":"string","description":"An error code identifier."}},"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"}}}},"InvalidRequest409":{"description":"Conflicts found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest500":{"description":"An unexpected error has occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}}}},"paths":{"/dataSources/{id}":{"patch":{"tags":["Data Sources"],"summary":"Update a data source","description":"Updates the data source with the specified ID.","operationId":"patchDataSource","parameters":[{"in":"path","description":"The universally unique identifier (UUID) of the data source.","name":"id","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"description":"The changes that need to be applied to the data source.","required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangeDataSourceRequest"}}}},"responses":{"200":{"description":"The data source has been updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataSource"}}}},"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"}}}}}}
```
