> 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"}}}}}}
```


---

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