> 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/profiling.md).

# Profiling

Configuration and execution of database profiling.

## Profile a Database asset

> Triggers the \*profiling job\* for a specific Database asset.\
> \
> This API executes the profiling as an \*asynchronous job\* and returns the job id of the triggered job in the response.\
> To monitor the status of a job, use the Jobs resource of the REST Core API: GET /jobs/{jobId}.<br>

```json
{"openapi":"3.0.3","info":{"title":"Collibra Catalog Database Registration API","version":"1.6.0"},"tags":[{"name":"Profiling","description":"Configuration and execution of database profiling."}],"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":{"DatabaseIdInPath":{"name":"databaseId","in":"path","description":"The ID of the Database asset.","required":true,"schema":{"type":"string","format":"uuid"}}},"responses":{"DatabaseProfilingStartedResponse":{"description":"The profiling job has started.","headers":{"Location":{"description":"Reference to the Job API that 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"}}}},"InvalidRequest404":{"description":"Resource not found.","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":{"/databases/{databaseId}/profile":{"post":{"tags":["Profiling"],"summary":"Profile a Database asset","description":"Triggers the *profiling job* for a specific Database asset.\n\nThis API executes the profiling as an *asynchronous job* and returns the job id of the triggered job in the response.\nTo monitor the status of a job, use the Jobs resource of the REST Core API: GET /jobs/{jobId}.\n","operationId":"profileDatabase","parameters":[{"$ref":"#/components/parameters/DatabaseIdInPath"}],"responses":{"202":{"$ref":"#/components/responses/DatabaseProfilingStartedResponse"},"400":{"$ref":"#/components/responses/InvalidRequest400"},"401":{"$ref":"#/components/responses/InvalidRequest401"},"403":{"$ref":"#/components/responses/InvalidRequest403"},"404":{"$ref":"#/components/responses/InvalidRequest404"}}}}}}
```

## List profiling configurations

> Returns the profiling configurations defined for the given criteria.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Catalog Database Registration API","version":"1.6.0"},"tags":[{"name":"Profiling","description":"Configuration and execution of database profiling."}],"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":{"DatabaseId":{"name":"databaseId","in":"query","description":"The ID of the Database asset.","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":{"ProfilingConfigurationPagedResponse":{"type":"object","properties":{"results":{"type":"array","description":"The list of results.","items":{"$ref":"#/components/schemas/ProfilingConfiguration"}}}},"ProfilingConfiguration":{"allOf":[{"$ref":"#/components/schemas/AddProfilingConfigurationRequest"},{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"The ID of the profiling configuration.","format":"uuid","readOnly":true}}}]},"AddProfilingConfigurationRequest":{"type":"object","required":["databaseId"],"properties":{"databaseId":{"type":"string","format":"uuid","description":"The ID of the Database asset."},"profilingType":{"type":"string","enum":["full","sample","none"],"default":"sample","description":"- **full**: Select to profile based on all synchronized metadata.\n- **sample**: Select to profile based on a sample of the synchronized metadata.\n  When you select Partial scan, you can define the maximum number of rows that you want to use for profiling (as *sampleSize*).\nBy default, the maximum number of rows is 20000.\n"},"sampleSize":{"$ref":"#/components/schemas/SampleSize"},"runAfterMetadataSynchronization":{"type":"boolean","default":false,"description":"If set to *true*, it will automatically create a data profile every time\nthe metadata synchronization process of one or more schemas finishes.\n\nThis may take a long time. You can also add a schedule to profile at regular intervals.\n"},"excludeTypes":{"$ref":"#/components/schemas/ExcludeTypes"}}},"SampleSize":{"type":"integer","default":20000,"maximum":1000000,"description":"If *profilingType* is defined as *sample*, this attribute defines how many rows are used for profiling. The minimum value is 100."},"ExcludeTypes":{"type":"string","description":"A comma-separated list of table types to be excluded during profiling.\n","default":""},"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":{"/profilingConfigurations":{"get":{"tags":["Profiling"],"summary":"List profiling configurations","description":"Returns the profiling configurations defined for the given criteria.","operationId":"findProfilingConfigurations","parameters":[{"$ref":"#/components/parameters/DatabaseId"},{"$ref":"#/components/parameters/Offset"},{"$ref":"#/components/parameters/Limit"}],"responses":{"200":{"description":"The profiling configurations defined for the given criteria.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfilingConfigurationPagedResponse"}}}},"400":{"$ref":"#/components/responses/InvalidRequest400"},"401":{"$ref":"#/components/responses/InvalidRequest401"},"403":{"$ref":"#/components/responses/InvalidRequest403"}}}}}}
```

## Add profiling configuration

> Creates a profiling configuration for a specific Database asset.\
> This profiling configuration provides a \*default\* configuration that applies to all schemas in the Database asset.\
> You can define only a single \*default\* profiling configuration for a specific Database asset.\
> \
> &#x20;To define schema-specific profiling configurations, use the \*/schemaProfilingConfigurations\* endpoints.<br>

```json
{"openapi":"3.0.3","info":{"title":"Collibra Catalog Database Registration API","version":"1.6.0"},"tags":[{"name":"Profiling","description":"Configuration and execution of database profiling."}],"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."}},"schemas":{"AddProfilingConfigurationRequest":{"type":"object","required":["databaseId"],"properties":{"databaseId":{"type":"string","format":"uuid","description":"The ID of the Database asset."},"profilingType":{"type":"string","enum":["full","sample","none"],"default":"sample","description":"- **full**: Select to profile based on all synchronized metadata.\n- **sample**: Select to profile based on a sample of the synchronized metadata.\n  When you select Partial scan, you can define the maximum number of rows that you want to use for profiling (as *sampleSize*).\nBy default, the maximum number of rows is 20000.\n"},"sampleSize":{"$ref":"#/components/schemas/SampleSize"},"runAfterMetadataSynchronization":{"type":"boolean","default":false,"description":"If set to *true*, it will automatically create a data profile every time\nthe metadata synchronization process of one or more schemas finishes.\n\nThis may take a long time. You can also add a schedule to profile at regular intervals.\n"},"excludeTypes":{"$ref":"#/components/schemas/ExcludeTypes"}}},"SampleSize":{"type":"integer","default":20000,"maximum":1000000,"description":"If *profilingType* is defined as *sample*, this attribute defines how many rows are used for profiling. The minimum value is 100."},"ExcludeTypes":{"type":"string","description":"A comma-separated list of table types to be excluded during profiling.\n","default":""},"ProfilingConfiguration":{"allOf":[{"$ref":"#/components/schemas/AddProfilingConfigurationRequest"},{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"The ID of the profiling configuration.","format":"uuid","readOnly":true}}}]},"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"}}}},"InvalidRequest404":{"description":"Resource not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}}}},"paths":{"/profilingConfigurations":{"post":{"tags":["Profiling"],"summary":"Add profiling configuration","description":"Creates a profiling configuration for a specific Database asset.\nThis profiling configuration provides a *default* configuration that applies to all schemas in the Database asset.\nYou can define only a single *default* profiling configuration for a specific Database asset.\n\n To define schema-specific profiling configurations, use the */schemaProfilingConfigurations* endpoints.\n","operationId":"addProfilingConfiguration","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddProfilingConfigurationRequest"}}}},"responses":{"201":{"description":"The profiling configuration has been created.","headers":{"Location":{"description":"Reference to the profiling configuration GET API","schema":{"type":"string","format":"url"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfilingConfiguration"}}}},"400":{"$ref":"#/components/responses/InvalidRequest400"},"401":{"$ref":"#/components/responses/InvalidRequest401"},"403":{"$ref":"#/components/responses/InvalidRequest403"},"404":{"$ref":"#/components/responses/InvalidRequest404"}}}}}}
```

## Retrieve a profiling configuration

> Returns a profiling configuration.<br>

```json
{"openapi":"3.0.3","info":{"title":"Collibra Catalog Database Registration API","version":"1.6.0"},"tags":[{"name":"Profiling","description":"Configuration and execution of database profiling."}],"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."}},"schemas":{"ProfilingConfiguration":{"allOf":[{"$ref":"#/components/schemas/AddProfilingConfigurationRequest"},{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"The ID of the profiling configuration.","format":"uuid","readOnly":true}}}]},"AddProfilingConfigurationRequest":{"type":"object","required":["databaseId"],"properties":{"databaseId":{"type":"string","format":"uuid","description":"The ID of the Database asset."},"profilingType":{"type":"string","enum":["full","sample","none"],"default":"sample","description":"- **full**: Select to profile based on all synchronized metadata.\n- **sample**: Select to profile based on a sample of the synchronized metadata.\n  When you select Partial scan, you can define the maximum number of rows that you want to use for profiling (as *sampleSize*).\nBy default, the maximum number of rows is 20000.\n"},"sampleSize":{"$ref":"#/components/schemas/SampleSize"},"runAfterMetadataSynchronization":{"type":"boolean","default":false,"description":"If set to *true*, it will automatically create a data profile every time\nthe metadata synchronization process of one or more schemas finishes.\n\nThis may take a long time. You can also add a schedule to profile at regular intervals.\n"},"excludeTypes":{"$ref":"#/components/schemas/ExcludeTypes"}}},"SampleSize":{"type":"integer","default":20000,"maximum":1000000,"description":"If *profilingType* is defined as *sample*, this attribute defines how many rows are used for profiling. The minimum value is 100."},"ExcludeTypes":{"type":"string","description":"A comma-separated list of table types to be excluded during profiling.\n","default":""},"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"}}}},"InvalidRequest404":{"description":"Resource not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}}}},"paths":{"/profilingConfigurations/{profilingConfigurationId}":{"get":{"tags":["Profiling"],"summary":"Retrieve a profiling configuration","description":"Returns a profiling configuration.\n","operationId":"getProfilingConfiguration","responses":{"200":{"description":"The profiling configuration.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfilingConfiguration"}}}},"400":{"$ref":"#/components/responses/InvalidRequest400"},"401":{"$ref":"#/components/responses/InvalidRequest401"},"403":{"$ref":"#/components/responses/InvalidRequest403"},"404":{"$ref":"#/components/responses/InvalidRequest404"}}}}}}
```

## Delete profiling configuration

> Deletes a profiling configuration.<br>

```json
{"openapi":"3.0.3","info":{"title":"Collibra Catalog Database Registration API","version":"1.6.0"},"tags":[{"name":"Profiling","description":"Configuration and execution of database profiling."}],"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."}},"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"}}}}},"schemas":{"StandardErrorResponse":{"type":"object","properties":{"statusCode":{"type":"integer","description":"HTTP response code"},"titleMessage":{"type":"string"},"helpMessage":{"type":"string"},"userMessage":{"type":"string"},"errorCode":{"type":"string"}}}}},"paths":{"/profilingConfigurations/{profilingConfigurationId}":{"delete":{"tags":["Profiling"],"summary":"Delete profiling configuration","description":"Deletes a profiling configuration.\n","operationId":"deleteProfilingConfiguration","responses":{"204":{"description":"The profiling configuration has been deleted."},"400":{"$ref":"#/components/responses/InvalidRequest400"},"401":{"$ref":"#/components/responses/InvalidRequest401"},"403":{"$ref":"#/components/responses/InvalidRequest403"},"404":{"$ref":"#/components/responses/InvalidRequest404"}}}}}}
```

## Update profiling configuration

> Updates a profiling configuration.<br>

```json
{"openapi":"3.0.3","info":{"title":"Collibra Catalog Database Registration API","version":"1.6.0"},"tags":[{"name":"Profiling","description":"Configuration and execution of database profiling."}],"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."}},"schemas":{"ChangeProfilingConfigurationRequest":{"type":"object","properties":{"profilingType":{"type":"string","enum":["full","sample","none"],"description":"- **full**: Select to profile based on all synchronized metadata.\n- **sample**: Select to profile based on a sample of the synchronized metadata.\n  When you select Partial scan, you can define the maximum number of rows that you want to use for profiling (as *sampleSize*).\nBy default, the maximum number of rows is 20000.\n"},"sampleSize":{"type":"integer","maximum":1000000,"description":"If *profilingType* is defined as *sample*, this attribute defines how many rows are used for profiling. The minimum value is 100."},"runAfterMetadataSynchronization":{"type":"boolean","description":"If set to *true*, it will automatically create a data profile every time\nthe metadata synchronization process of one or more schemas finishes.\n\nThis may take a long time. You can also add a schedule to profile at regular intervals.\n"},"excludeTypes":{"$ref":"#/components/schemas/ExcludeTypes"}}},"ExcludeTypes":{"type":"string","description":"A comma-separated list of table types to be excluded during profiling.\n","default":""},"ProfilingConfiguration":{"allOf":[{"$ref":"#/components/schemas/AddProfilingConfigurationRequest"},{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"The ID of the profiling configuration.","format":"uuid","readOnly":true}}}]},"AddProfilingConfigurationRequest":{"type":"object","required":["databaseId"],"properties":{"databaseId":{"type":"string","format":"uuid","description":"The ID of the Database asset."},"profilingType":{"type":"string","enum":["full","sample","none"],"default":"sample","description":"- **full**: Select to profile based on all synchronized metadata.\n- **sample**: Select to profile based on a sample of the synchronized metadata.\n  When you select Partial scan, you can define the maximum number of rows that you want to use for profiling (as *sampleSize*).\nBy default, the maximum number of rows is 20000.\n"},"sampleSize":{"$ref":"#/components/schemas/SampleSize"},"runAfterMetadataSynchronization":{"type":"boolean","default":false,"description":"If set to *true*, it will automatically create a data profile every time\nthe metadata synchronization process of one or more schemas finishes.\n\nThis may take a long time. You can also add a schedule to profile at regular intervals.\n"},"excludeTypes":{"$ref":"#/components/schemas/ExcludeTypes"}}},"SampleSize":{"type":"integer","default":20000,"maximum":1000000,"description":"If *profilingType* is defined as *sample*, this attribute defines how many rows are used for profiling. The minimum value is 100."},"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"}}}},"InvalidRequest404":{"description":"Resource not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}}}},"paths":{"/profilingConfigurations/{profilingConfigurationId}":{"patch":{"tags":["Profiling"],"summary":"Update profiling configuration","description":"Updates a profiling configuration.\n","operationId":"updateProfilingConfiguration","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangeProfilingConfigurationRequest"}}}},"responses":{"200":{"description":"The profiling configuration has been updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfilingConfiguration"}}}},"400":{"$ref":"#/components/responses/InvalidRequest400"},"401":{"$ref":"#/components/responses/InvalidRequest401"},"403":{"$ref":"#/components/responses/InvalidRequest403"},"404":{"$ref":"#/components/responses/InvalidRequest404"}}}}}}
```

## List schema profiling configurations

> Returns the schema-specific profiling configurations defined for the given criteria.\
> You can apply a \*filter\* on the schema connection or database to return only the configurations defined for a given schema or database.<br>

```json
{"openapi":"3.0.3","info":{"title":"Collibra Catalog Database Registration API","version":"1.6.0"},"tags":[{"name":"Profiling","description":"Configuration and execution of database profiling."}],"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":{"SchemaConnectionId":{"name":"schemaConnectionId","in":"query","description":"The ID of the schema connection.","required":false,"schema":{"type":"string","format":"uuid"}},"DatabaseId":{"name":"databaseId","in":"query","description":"The ID of the Database asset.","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":{"SchemaProfilingConfigurationPagedResponse":{"type":"object","properties":{"results":{"type":"array","description":"The list of results.","items":{"$ref":"#/components/schemas/SchemaProfilingConfiguration"}}}},"SchemaProfilingConfiguration":{"allOf":[{"$ref":"#/components/schemas/AddSchemaProfilingConfigurationRequest"},{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"The ID of schema profiling configuration.","readOnly":true}}}]},"AddSchemaProfilingConfigurationRequest":{"type":"object","required":["schemaConnectionId","profilingRules"],"properties":{"schemaConnectionId":{"type":"string","format":"uuid","description":"The ID of the schema connection."},"profilingRules":{"$ref":"#/components/schemas/SchemaProfilingRules"}}},"SchemaProfilingRules":{"type":"array","maxItems":1,"items":{"$ref":"#/components/schemas/SchemaProfilingRule"}},"SchemaProfilingRule":{"type":"object","required":["profilingType"],"properties":{"profilingType":{"type":"string","enum":["full","sample","none"],"default":"sample","description":"- **full**: Select to profile based on all synchronized metadata.\n- **sample**: Select to profile based on a sample of the synchronized metadata.\n  When you select Partial scan, you can define the maximum number of rows that you want to use for profiling (as *sampleSize*).\nBy default, the maximum number of rows is 20000.\n"},"sampleSize":{"$ref":"#/components/schemas/SampleSize"},"include":{"type":"string","description":"A comma-separated list of the table names you want to profile. You can use `*` as a wildcard.\nIf not defined, all the tables are included by default.\n","default":"*"},"exclude":{"type":"string","description":"A comma-separated list of table names to be excluded during profiling. You can use `*` as a wildcard.\nIf not defined, no table will be excluded and all tables defined in `include` will be profiled. \nYou can use this table rule to:\n\t1. Profile all tables in a schema except the ones defined in the `exclude` field.\n\t2. Profile only tables as defined in the `include` field, with the exception of tables that are listed\n\t\t in the `exclude` field.\n","default":""},"excludeTypes":{"$ref":"#/components/schemas/ExcludeTypes"}}},"SampleSize":{"type":"integer","default":20000,"maximum":1000000,"description":"If *profilingType* is defined as *sample*, this attribute defines how many rows are used for profiling. The minimum value is 100."},"ExcludeTypes":{"type":"string","description":"A comma-separated list of table types to be excluded during profiling.\n","default":""},"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"}}}},"InvalidRequest404":{"description":"Resource not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}}}},"paths":{"/schemaProfilingConfigurations":{"get":{"tags":["Profiling"],"summary":"List schema profiling configurations","description":"Returns the schema-specific profiling configurations defined for the given criteria.\nYou can apply a *filter* on the schema connection or database to return only the configurations defined for a given schema or database.\n","operationId":"findSchemaProfilingConfigurations","parameters":[{"$ref":"#/components/parameters/SchemaConnectionId"},{"$ref":"#/components/parameters/DatabaseId"},{"$ref":"#/components/parameters/Offset"},{"$ref":"#/components/parameters/Limit"}],"responses":{"200":{"description":"The schema profiling configurations defined for the given database and (optionally) schema.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SchemaProfilingConfigurationPagedResponse"}}}},"400":{"$ref":"#/components/responses/InvalidRequest400"},"401":{"$ref":"#/components/responses/InvalidRequest401"},"403":{"$ref":"#/components/responses/InvalidRequest403"},"404":{"$ref":"#/components/responses/InvalidRequest404"}}}}}}
```

## Add schema profiling configuration

> Creates a profiling configuration for a specific schema.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Catalog Database Registration API","version":"1.6.0"},"tags":[{"name":"Profiling","description":"Configuration and execution of database profiling."}],"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."}},"schemas":{"AddSchemaProfilingConfigurationRequest":{"type":"object","required":["schemaConnectionId","profilingRules"],"properties":{"schemaConnectionId":{"type":"string","format":"uuid","description":"The ID of the schema connection."},"profilingRules":{"$ref":"#/components/schemas/SchemaProfilingRules"}}},"SchemaProfilingRules":{"type":"array","maxItems":1,"items":{"$ref":"#/components/schemas/SchemaProfilingRule"}},"SchemaProfilingRule":{"type":"object","required":["profilingType"],"properties":{"profilingType":{"type":"string","enum":["full","sample","none"],"default":"sample","description":"- **full**: Select to profile based on all synchronized metadata.\n- **sample**: Select to profile based on a sample of the synchronized metadata.\n  When you select Partial scan, you can define the maximum number of rows that you want to use for profiling (as *sampleSize*).\nBy default, the maximum number of rows is 20000.\n"},"sampleSize":{"$ref":"#/components/schemas/SampleSize"},"include":{"type":"string","description":"A comma-separated list of the table names you want to profile. You can use `*` as a wildcard.\nIf not defined, all the tables are included by default.\n","default":"*"},"exclude":{"type":"string","description":"A comma-separated list of table names to be excluded during profiling. You can use `*` as a wildcard.\nIf not defined, no table will be excluded and all tables defined in `include` will be profiled. \nYou can use this table rule to:\n\t1. Profile all tables in a schema except the ones defined in the `exclude` field.\n\t2. Profile only tables as defined in the `include` field, with the exception of tables that are listed\n\t\t in the `exclude` field.\n","default":""},"excludeTypes":{"$ref":"#/components/schemas/ExcludeTypes"}}},"SampleSize":{"type":"integer","default":20000,"maximum":1000000,"description":"If *profilingType* is defined as *sample*, this attribute defines how many rows are used for profiling. The minimum value is 100."},"ExcludeTypes":{"type":"string","description":"A comma-separated list of table types to be excluded during profiling.\n","default":""},"SchemaProfilingConfiguration":{"allOf":[{"$ref":"#/components/schemas/AddSchemaProfilingConfigurationRequest"},{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"The ID of schema profiling configuration.","readOnly":true}}}]},"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"}}}},"InvalidRequest404":{"description":"Resource not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}}}},"paths":{"/schemaProfilingConfigurations":{"post":{"tags":["Profiling"],"summary":"Add schema profiling configuration","description":"Creates a profiling configuration for a specific schema.","operationId":"addSchemaProfilingConfiguration","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddSchemaProfilingConfigurationRequest"}}}},"responses":{"201":{"description":"The schema profiling configuration has been created.","headers":{"Location":{"description":"Reference to the schema profiling configuration GET API","schema":{"type":"string","format":"url"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SchemaProfilingConfiguration"}}}},"400":{"$ref":"#/components/responses/InvalidRequest400"},"401":{"$ref":"#/components/responses/InvalidRequest401"},"403":{"$ref":"#/components/responses/InvalidRequest403"},"404":{"$ref":"#/components/responses/InvalidRequest404"}}}}}}
```

## Add multiple schema profiling configurations

> Add multiple schema profiling configurations.\
> \
> This operation is executed in a single transaction, that creates all the configurations. In case the operation fails, none of the configurations are created.<br>

```json
{"openapi":"3.0.3","info":{"title":"Collibra Catalog Database Registration API","version":"1.6.0"},"tags":[{"name":"Profiling","description":"Configuration and execution of database profiling."}],"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."}},"schemas":{"AddSchemaProfilingConfigurationBatchRequest":{"type":"array","minItems":1,"items":{"$ref":"#/components/schemas/AddSchemaProfilingConfigurationRequest"}},"AddSchemaProfilingConfigurationRequest":{"type":"object","required":["schemaConnectionId","profilingRules"],"properties":{"schemaConnectionId":{"type":"string","format":"uuid","description":"The ID of the schema connection."},"profilingRules":{"$ref":"#/components/schemas/SchemaProfilingRules"}}},"SchemaProfilingRules":{"type":"array","maxItems":1,"items":{"$ref":"#/components/schemas/SchemaProfilingRule"}},"SchemaProfilingRule":{"type":"object","required":["profilingType"],"properties":{"profilingType":{"type":"string","enum":["full","sample","none"],"default":"sample","description":"- **full**: Select to profile based on all synchronized metadata.\n- **sample**: Select to profile based on a sample of the synchronized metadata.\n  When you select Partial scan, you can define the maximum number of rows that you want to use for profiling (as *sampleSize*).\nBy default, the maximum number of rows is 20000.\n"},"sampleSize":{"$ref":"#/components/schemas/SampleSize"},"include":{"type":"string","description":"A comma-separated list of the table names you want to profile. You can use `*` as a wildcard.\nIf not defined, all the tables are included by default.\n","default":"*"},"exclude":{"type":"string","description":"A comma-separated list of table names to be excluded during profiling. You can use `*` as a wildcard.\nIf not defined, no table will be excluded and all tables defined in `include` will be profiled. \nYou can use this table rule to:\n\t1. Profile all tables in a schema except the ones defined in the `exclude` field.\n\t2. Profile only tables as defined in the `include` field, with the exception of tables that are listed\n\t\t in the `exclude` field.\n","default":""},"excludeTypes":{"$ref":"#/components/schemas/ExcludeTypes"}}},"SampleSize":{"type":"integer","default":20000,"maximum":1000000,"description":"If *profilingType* is defined as *sample*, this attribute defines how many rows are used for profiling. The minimum value is 100."},"ExcludeTypes":{"type":"string","description":"A comma-separated list of table types to be excluded during profiling.\n","default":""},"SchemaProfilingConfigurations":{"type":"array","items":{"$ref":"#/components/schemas/SchemaProfilingConfiguration"}},"SchemaProfilingConfiguration":{"allOf":[{"$ref":"#/components/schemas/AddSchemaProfilingConfigurationRequest"},{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"The ID of schema profiling configuration.","readOnly":true}}}]},"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"}}}},"InvalidRequest404":{"description":"Resource not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}}}},"paths":{"/schemaProfilingConfigurations/batch":{"post":{"tags":["Profiling"],"summary":"Add multiple schema profiling configurations","description":"Add multiple schema profiling configurations.\n\nThis operation is executed in a single transaction, that creates all the configurations. In case the operation fails, none of the configurations are created.\n","operationId":"addMultipleSchemaProfilingConfigurations","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddSchemaProfilingConfigurationBatchRequest"}}}},"responses":{"201":{"description":"The schema profiling configurations have been created succesfully. The created profiling\nconfigurations are included in the response.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SchemaProfilingConfigurations"}}}},"400":{"$ref":"#/components/responses/InvalidRequest400"},"401":{"$ref":"#/components/responses/InvalidRequest401"},"403":{"$ref":"#/components/responses/InvalidRequest403"},"404":{"$ref":"#/components/responses/InvalidRequest404"}}}}}}
```

## Retrieve schema profiling configuration

> Returns a specific schema profiling configuration.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Catalog Database Registration API","version":"1.6.0"},"tags":[{"name":"Profiling","description":"Configuration and execution of database profiling."}],"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."}},"schemas":{"SchemaProfilingConfiguration":{"allOf":[{"$ref":"#/components/schemas/AddSchemaProfilingConfigurationRequest"},{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"The ID of schema profiling configuration.","readOnly":true}}}]},"AddSchemaProfilingConfigurationRequest":{"type":"object","required":["schemaConnectionId","profilingRules"],"properties":{"schemaConnectionId":{"type":"string","format":"uuid","description":"The ID of the schema connection."},"profilingRules":{"$ref":"#/components/schemas/SchemaProfilingRules"}}},"SchemaProfilingRules":{"type":"array","maxItems":1,"items":{"$ref":"#/components/schemas/SchemaProfilingRule"}},"SchemaProfilingRule":{"type":"object","required":["profilingType"],"properties":{"profilingType":{"type":"string","enum":["full","sample","none"],"default":"sample","description":"- **full**: Select to profile based on all synchronized metadata.\n- **sample**: Select to profile based on a sample of the synchronized metadata.\n  When you select Partial scan, you can define the maximum number of rows that you want to use for profiling (as *sampleSize*).\nBy default, the maximum number of rows is 20000.\n"},"sampleSize":{"$ref":"#/components/schemas/SampleSize"},"include":{"type":"string","description":"A comma-separated list of the table names you want to profile. You can use `*` as a wildcard.\nIf not defined, all the tables are included by default.\n","default":"*"},"exclude":{"type":"string","description":"A comma-separated list of table names to be excluded during profiling. You can use `*` as a wildcard.\nIf not defined, no table will be excluded and all tables defined in `include` will be profiled. \nYou can use this table rule to:\n\t1. Profile all tables in a schema except the ones defined in the `exclude` field.\n\t2. Profile only tables as defined in the `include` field, with the exception of tables that are listed\n\t\t in the `exclude` field.\n","default":""},"excludeTypes":{"$ref":"#/components/schemas/ExcludeTypes"}}},"SampleSize":{"type":"integer","default":20000,"maximum":1000000,"description":"If *profilingType* is defined as *sample*, this attribute defines how many rows are used for profiling. The minimum value is 100."},"ExcludeTypes":{"type":"string","description":"A comma-separated list of table types to be excluded during profiling.\n","default":""},"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"}}}},"InvalidRequest404":{"description":"Resource not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}}}},"paths":{"/schemaProfilingConfigurations/{schemaProfilingConfigurationId}":{"get":{"tags":["Profiling"],"summary":"Retrieve schema profiling configuration","description":"Returns a specific schema profiling configuration.","operationId":"getSchemaProfilingConfiguration","responses":{"200":{"description":"The schema profiling configuration identified by the given identifier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SchemaProfilingConfiguration"}}}},"400":{"$ref":"#/components/responses/InvalidRequest400"},"401":{"$ref":"#/components/responses/InvalidRequest401"},"403":{"$ref":"#/components/responses/InvalidRequest403"},"404":{"$ref":"#/components/responses/InvalidRequest404"}}}}}}
```

## Delete schema profiling configuration

> Deletes a schema profiling configuration.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Catalog Database Registration API","version":"1.6.0"},"tags":[{"name":"Profiling","description":"Configuration and execution of database profiling."}],"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."}},"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"}}}}},"schemas":{"StandardErrorResponse":{"type":"object","properties":{"statusCode":{"type":"integer","description":"HTTP response code"},"titleMessage":{"type":"string"},"helpMessage":{"type":"string"},"userMessage":{"type":"string"},"errorCode":{"type":"string"}}}}},"paths":{"/schemaProfilingConfigurations/{schemaProfilingConfigurationId}":{"delete":{"tags":["Profiling"],"summary":"Delete schema profiling configuration","description":"Deletes a schema profiling configuration.","operationId":"deleteSchemaProfilingConfiguration","responses":{"204":{"description":"The schema profiling configuration has been deleted successfully."},"400":{"$ref":"#/components/responses/InvalidRequest400"},"401":{"$ref":"#/components/responses/InvalidRequest401"},"403":{"$ref":"#/components/responses/InvalidRequest403"},"404":{"$ref":"#/components/responses/InvalidRequest404"}}}}}}
```

## Update schema profiling configuration

> Updates a specific profiling configuration.\
> \
> You can only update some attributes of the schema profiling configuration via this API. The attributes\
> that are not provided in the request are not modified.<br>

```json
{"openapi":"3.0.3","info":{"title":"Collibra Catalog Database Registration API","version":"1.6.0"},"tags":[{"name":"Profiling","description":"Configuration and execution of database profiling."}],"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."}},"schemas":{"ChangeSchemaProfilingConfigurationRequest":{"allOf":[{"$ref":"#/components/schemas/AddSchemaProfilingConfigurationRequest"}]},"AddSchemaProfilingConfigurationRequest":{"type":"object","required":["schemaConnectionId","profilingRules"],"properties":{"schemaConnectionId":{"type":"string","format":"uuid","description":"The ID of the schema connection."},"profilingRules":{"$ref":"#/components/schemas/SchemaProfilingRules"}}},"SchemaProfilingRules":{"type":"array","maxItems":1,"items":{"$ref":"#/components/schemas/SchemaProfilingRule"}},"SchemaProfilingRule":{"type":"object","required":["profilingType"],"properties":{"profilingType":{"type":"string","enum":["full","sample","none"],"default":"sample","description":"- **full**: Select to profile based on all synchronized metadata.\n- **sample**: Select to profile based on a sample of the synchronized metadata.\n  When you select Partial scan, you can define the maximum number of rows that you want to use for profiling (as *sampleSize*).\nBy default, the maximum number of rows is 20000.\n"},"sampleSize":{"$ref":"#/components/schemas/SampleSize"},"include":{"type":"string","description":"A comma-separated list of the table names you want to profile. You can use `*` as a wildcard.\nIf not defined, all the tables are included by default.\n","default":"*"},"exclude":{"type":"string","description":"A comma-separated list of table names to be excluded during profiling. You can use `*` as a wildcard.\nIf not defined, no table will be excluded and all tables defined in `include` will be profiled. \nYou can use this table rule to:\n\t1. Profile all tables in a schema except the ones defined in the `exclude` field.\n\t2. Profile only tables as defined in the `include` field, with the exception of tables that are listed\n\t\t in the `exclude` field.\n","default":""},"excludeTypes":{"$ref":"#/components/schemas/ExcludeTypes"}}},"SampleSize":{"type":"integer","default":20000,"maximum":1000000,"description":"If *profilingType* is defined as *sample*, this attribute defines how many rows are used for profiling. The minimum value is 100."},"ExcludeTypes":{"type":"string","description":"A comma-separated list of table types to be excluded during profiling.\n","default":""},"SchemaProfilingConfiguration":{"allOf":[{"$ref":"#/components/schemas/AddSchemaProfilingConfigurationRequest"},{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"The ID of schema profiling configuration.","readOnly":true}}}]},"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"}}}},"InvalidRequest404":{"description":"Resource not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}}}},"paths":{"/schemaProfilingConfigurations/{schemaProfilingConfigurationId}":{"patch":{"tags":["Profiling"],"summary":"Update schema profiling configuration","description":"Updates a specific profiling configuration.\n\nYou can only update some attributes of the schema profiling configuration via this API. The attributes\nthat are not provided in the request are not modified.\n","operationId":"changeSchemaProfilingConfiguration","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangeSchemaProfilingConfigurationRequest"}}}},"responses":{"200":{"description":"The profiling configuration has been updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SchemaProfilingConfiguration"}}}},"400":{"$ref":"#/components/responses/InvalidRequest400"},"401":{"$ref":"#/components/responses/InvalidRequest401"},"403":{"$ref":"#/components/responses/InvalidRequest403"},"404":{"$ref":"#/components/responses/InvalidRequest404"}}}}}}
```


---

# 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/database-registration/profiling.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.
