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