> 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/database-registration/database-connection.md).

# Database Connection

Management of database connections.

## List database connections

> Returns a list of available database connections, which you can use to register Database assets.\
> \
> This API only returns the connections that have already been synchronized with the catalog.\
> If a specific database connection is missing, the \*/databaseConnections/refresh\* API can be called to refresh\
> the database connections available in the catalog with the data source.<br>

```json
{"openapi":"3.0.3","info":{"title":"Collibra Catalog Database Registration API","version":"1.7.0"},"tags":[{"name":"Database Connection","description":"Management of database connections."}],"servers":[{"url":"/rest/catalogDatabase/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":{"EdgeConnectionId":{"name":"edgeConnectionId","in":"query","description":"The ID of the Edge connection.","required":false,"schema":{"type":"string","format":"uuid"}},"SchemaConnectionId":{"name":"schemaConnectionId","in":"query","description":"The ID of the schema connection.","required":false,"schema":{"type":"string","format":"uuid"}},"Offset":{"name":"offset","in":"query","description":"The index of the first result to retrieve.\n\nIf not set (offset = <code>0</code>), results will be retrieved starting from row <code>0</code>.\n","schema":{"type":"integer","format":"int32","default":0}},"Limit":{"name":"limit","in":"query","description":"The maximum number of results to retrieve.\n\nIf not set, the default limit  (limit = <code>0</code>) will be used. The maximum value for this parameter is\n<code>500<code>.\n","schema":{"type":"integer","format":"int32","default":0,"maximum":500}}},"schemas":{"DatabaseConnectionPagedResponse":{"type":"object","properties":{"results":{"type":"array","description":"The list of results.","items":{"$ref":"#/components/schemas/DatabaseConnection"}}}},"DatabaseConnection":{"type":"object","description":"The connection reference to the specific database.","required":["id","edgeConnectionId","name"],"properties":{"id":{"type":"string","format":"uuid","description":"The ID of the database connection."},"name":{"type":"string","description":"The exact name of a database (catalog) read from the source."},"edgeConnectionId":{"type":"string","format":"uuid","description":"The ID of the Edge connection."},"databaseId":{"type":"string","format":"uuid","description":"The ID of the Database asset linked with this database connection."}}},"StandardErrorResponse":{"type":"object","properties":{"statusCode":{"type":"integer","description":"HTTP response code"},"titleMessage":{"type":"string"},"helpMessage":{"type":"string"},"userMessage":{"type":"string"},"errorCode":{"type":"string"}}}},"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"}}}}}},"paths":{"/databaseConnections":{"get":{"parameters":[{"$ref":"#/components/parameters/EdgeConnectionId"},{"$ref":"#/components/parameters/SchemaConnectionId"},{"$ref":"#/components/parameters/Offset"},{"$ref":"#/components/parameters/Limit"}],"summary":"List database connections","description":"Returns a list of available database connections, which you can use to register Database assets.\n\nThis API only returns the connections that have already been synchronized with the catalog.\nIf a specific database connection is missing, the */databaseConnections/refresh* API can be called to refresh\nthe database connections available in the catalog with the data source.\n","operationId":"findDatabaseConnections","tags":["Database Connection"],"responses":{"200":{"description":"Database connections successfully retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatabaseConnectionPagedResponse"}}}},"400":{"$ref":"#/components/responses/InvalidRequest400"},"401":{"$ref":"#/components/responses/InvalidRequest401"},"403":{"$ref":"#/components/responses/InvalidRequest403"}}}}}}
```

## Retrieve a database connection

> Returns a specific database schema connection.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Catalog Database Registration API","version":"1.7.0"},"tags":[{"name":"Database Connection","description":"Management of database connections."}],"servers":[{"url":"/rest/catalogDatabase/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":{"DatabaseConnectionIdInPath":{"name":"databaseConnectionId","in":"path","description":"The ID of the database connection.","required":true,"schema":{"type":"string","format":"uuid"}}},"responses":{"DatabaseConnectionResponse":{"description":"Represents a database connection.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatabaseConnection"}}}},"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"}}}}},"schemas":{"DatabaseConnection":{"type":"object","description":"The connection reference to the specific database.","required":["id","edgeConnectionId","name"],"properties":{"id":{"type":"string","format":"uuid","description":"The ID of the database connection."},"name":{"type":"string","description":"The exact name of a database (catalog) read from the source."},"edgeConnectionId":{"type":"string","format":"uuid","description":"The ID of the Edge connection."},"databaseId":{"type":"string","format":"uuid","description":"The ID of the Database asset linked with this database connection."}}},"StandardErrorResponse":{"type":"object","properties":{"statusCode":{"type":"integer","description":"HTTP response code"},"titleMessage":{"type":"string"},"helpMessage":{"type":"string"},"userMessage":{"type":"string"},"errorCode":{"type":"string"}}}}},"paths":{"/databaseConnections/{databaseConnectionId}":{"get":{"summary":"Retrieve a database connection","description":"Returns a specific database schema connection.","operationId":"getDatabaseConnection","parameters":[{"$ref":"#/components/parameters/DatabaseConnectionIdInPath"}],"tags":["Database Connection"],"responses":{"200":{"$ref":"#/components/responses/DatabaseConnectionResponse"},"400":{"$ref":"#/components/responses/InvalidRequest400"},"401":{"$ref":"#/components/responses/InvalidRequest401"},"403":{"$ref":"#/components/responses/InvalidRequest403"},"404":{"$ref":"#/components/responses/InvalidRequest404"}}}}}}
```

## Refresh database connections from the data source

> Retrieve the database connections linked to a specific Edge connection and create the new database connections in Catalog.\
> \
> This is an \*asynchronous API\* since it needs to reach out to the data source via Edge to retrieve the list of\
> available database connections, which can take some time.<br>

```json
{"openapi":"3.0.3","info":{"title":"Collibra Catalog Database Registration API","version":"1.7.0"},"tags":[{"name":"Database Connection","description":"Management of database connections."}],"servers":[{"url":"/rest/catalogDatabase/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":{"EdgeConnectionIdMandatory":{"name":"edgeConnectionId","in":"query","description":"The ID of the Edge connection.","required":true,"schema":{"type":"string","format":"uuid"}}},"responses":{"DatabaseConnectionsSynchronizationStartedResponse":{"description":"The database connections synchronization job has started. The response includes the location of the GET API that\nyou can use to monitor the job as a *Location* header.\n","headers":{"Location":{"description":"Reference to the Job Details GET API that can you can use to track the progress of the job.","schema":{"type":"string","format":"url"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}},"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"}}}}},"schemas":{"Job":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of this resource, i.e. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance].\n","enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"name":{"type":"string","description":"The name of the resource."},"type":{"type":"string","description":"The type of the job."},"userId":{"type":"string","description":"The ID of the user that initiated this job.","format":"uuid"},"progressPercentage":{"type":"number","description":"The progress percentage of the job.","format":"double"},"startDate":{"type":"integer","description":"The start date of the job.","format":"int64"},"endDate":{"type":"integer","description":"The end date of the job.","format":"int64"},"state":{"type":"string","description":"The state of the job.","enum":["WAITING","RUNNING","CANCELING","COMPLETED","CANCELED","ERROR"]},"message":{"type":"string","description":"The message of the job."}},"description":"Represents a job. Job is a single atomic task that is to be performed asynchronously."},"StandardErrorResponse":{"type":"object","properties":{"statusCode":{"type":"integer","description":"HTTP response code"},"titleMessage":{"type":"string"},"helpMessage":{"type":"string"},"userMessage":{"type":"string"},"errorCode":{"type":"string"}}}}},"paths":{"/databaseConnections/refresh":{"post":{"parameters":[{"$ref":"#/components/parameters/EdgeConnectionIdMandatory"}],"summary":"Refresh database connections from the data source","description":"Retrieve the database connections linked to a specific Edge connection and create the new database connections in Catalog.\n\nThis is an *asynchronous API* since it needs to reach out to the data source via Edge to retrieve the list of\navailable database connections, which can take some time.\n","operationId":"refreshDatabaseConnections","tags":["Database Connection"],"responses":{"202":{"$ref":"#/components/responses/DatabaseConnectionsSynchronizationStartedResponse"},"400":{"$ref":"#/components/responses/InvalidRequest400"},"401":{"$ref":"#/components/responses/InvalidRequest401"},"403":{"$ref":"#/components/responses/InvalidRequest403"}}}}}}
```
