> 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/data-quality/settings.md).

# Settings

Global DQ settings

## Get global DQ settings

> Returns the current value of all global DQ settings exposed on the public API.\
> \
> \*\*Permissions\*\*\
> \- \*\*Required:\*\* \`DATA\_QUALITY\`\
> \- \*\*Global bypass:\*\*\
> &#x20; \- \`DATA\_QUALITY\` and \`VIEW\_PERMISSIONS\_VIEW\_ALL\`\
> &#x20; \- \`DATA\_QUALITY\` and \`GLOBAL\_MANAGE\_ALL\_RESOURCES\`

```json
{"openapi":"3.0.3","info":{"title":"Data Quality Collibra API","version":"1.3.0"},"tags":[{"name":"Settings","description":"Global DQ settings"}],"servers":[{"description":"Data Quality API","url":"/rest/dq/1.0"}],"security":[{"basicAuth":[]},{"jwtAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"description":"Collibra REST API authentication using Basic Authentication.","type":"http","scheme":"basic"},"jwtAuth":{"description":"Collibra REST API authentication using JSON Web Token.","type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"Settings":{"type":"object","additionalProperties":false,"description":"Current values of all global DQ settings exposed on the public API.","required":["passingThreshold","failingThreshold","lookbackLimit","observationLimit","previewLimit","breakRecordsLimit","ruleRunTimeLimit","jobLogRetentionHours","platformLogRetentionHours","mapToPrimaryColumn","mandatoryPrimaryRuleColumn","mandatoryRuleDimension","showDetailedException"],"properties":{"passingThreshold":{"type":"integer","minimum":1,"maximum":100,"description":"Global passing score threshold. Scores at or above this value are considered passing (green). Must be greater than failingThreshold.\n"},"failingThreshold":{"type":"integer","minimum":1,"maximum":100,"description":"Global failing score threshold. Scores below this value are considered failing (red). Must be less than passingThreshold.\n"},"lookbackLimit":{"type":"integer","minimum":1,"maximum":30,"description":"Maximum number of historical rule runs used when computing DQ scores.\n"},"observationLimit":{"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of rows processed per rule execution."},"previewLimit":{"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of results shown in the dataset overview and rule workbench. UI-only — does not affect what is stored. Recommended values are 25, 50, 100, 250, or 500. If a different value is provided, it is rounded to the closest recommended value.\n"},"breakRecordsLimit":{"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of records returned when fetching break records for a rule. UI-only — does not affect what is stored. Recommended values are 25, 50, 100, 250, or 500. If a different value is provided, it is rounded to the closest recommended value.\n"},"ruleRunTimeLimit":{"type":"integer","minimum":1,"maximum":90,"description":"Maximum time in minutes a rule is allowed to run before it is automatically timed out.\n"},"jobLogRetentionHours":{"type":"integer","minimum":24,"maximum":720,"multipleOf":24,"description":"Job log retention period in hours. Must be a multiple of 24 (minimum 1 day, maximum 30 days).\n"},"platformLogRetentionHours":{"type":"integer","minimum":24,"maximum":720,"multipleOf":24,"description":"Platform log retention period in hours. Must be a multiple of 24 (minimum 1 day, maximum 30 days).\n"},"mapToPrimaryColumn":{"type":"boolean","description":"When enabled, rules are automatically mapped to the primary column of the dataset.\n"},"mandatoryPrimaryRuleColumn":{"type":"boolean","description":"When enabled, a primary column must be set on every rule before it can be saved.\n"},"mandatoryRuleDimension":{"type":"boolean","description":"When enabled, a dimension must be assigned to every rule before it can be saved.\n"},"showDetailedException":{"type":"boolean","description":"When enabled, detailed exception stack traces are included in error responses. Recommended for non-production environments only.\n"}}},"StandardErrorResponse":{"type":"object","description":"Error response returned by the Data Quality API.","required":["statusCode","errorCode","titleMessage","userMessage"],"properties":{"statusCode":{"type":"integer","description":"HTTP status code corresponding to the error."},"errorCode":{"type":"string","description":"Internal error code representing the specific error type."},"titleMessage":{"type":"string","description":"A brief title summarizing the error."},"userMessage":{"type":"string","description":"Detailed, user-friendly message explaining the error and possible remediation steps."}}}},"responses":{"Unauthorized":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"Forbidden":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InternalServerError":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}}}},"paths":{"/settings":{"get":{"tags":["Settings"],"operationId":"getSettings","summary":"Get global DQ settings","description":"Returns the current value of all global DQ settings exposed on the public API.\n\n**Permissions**\n- **Required:** `DATA_QUALITY`\n- **Global bypass:**\n  - `DATA_QUALITY` and `VIEW_PERMISSIONS_VIEW_ALL`\n  - `DATA_QUALITY` and `GLOBAL_MANAGE_ALL_RESOURCES`","responses":{"200":{"description":"Settings retrieved successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Settings"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```

## Update global DQ settings

> Partially update one or more global DQ settings. Only fields present in the\
> request body are updated. Validation runs over all present fields before\
> any update is persisted; if any field is invalid, the entire request is\
> rejected with HTTP 400 and no settings are changed.\
> \
> \`passingThreshold\` must be greater than \`failingThreshold\`. If both are\
> sent in the same request and this constraint is violated, the request is\
> rejected.\
> \
> An empty request body (\`{}\`) is accepted and treated as a no-op: the\
> current settings are returned unchanged.\
> \
> \*\*Permissions\*\*\
> \- \*\*Required:\*\* \`DATA\_QUALITY\` and \`DATA\_QUALITY\_MANAGE\_SETTINGS\`\
> \- \*\*Global bypass:\*\*\
> &#x20; \- \`DATA\_QUALITY\` and \`GLOBAL\_MANAGE\_ALL\_RESOURCES\`

```json
{"openapi":"3.0.3","info":{"title":"Data Quality Collibra API","version":"1.3.0"},"tags":[{"name":"Settings","description":"Global DQ settings"}],"servers":[{"description":"Data Quality API","url":"/rest/dq/1.0"}],"security":[{"basicAuth":[]},{"jwtAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"description":"Collibra REST API authentication using Basic Authentication.","type":"http","scheme":"basic"},"jwtAuth":{"description":"Collibra REST API authentication using JSON Web Token.","type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"SettingsPatch":{"type":"object","additionalProperties":false,"description":"Partial update for global DQ settings. Only fields present in the request\nbody are updated; absent fields are left unchanged.\n","properties":{"passingThreshold":{"type":"integer","minimum":1,"maximum":100,"description":"New value for the passingThreshold setting. Must be greater than failingThreshold."},"failingThreshold":{"type":"integer","minimum":1,"maximum":100,"description":"New value for the failingThreshold setting. Must be less than passingThreshold."},"lookbackLimit":{"type":"integer","minimum":1,"maximum":30,"description":"New value for the lookbackLimit setting."},"observationLimit":{"type":"integer","minimum":1,"maximum":500,"description":"New value for the observationLimit setting."},"previewLimit":{"type":"integer","minimum":1,"maximum":500,"description":"New value for the previewLimit setting. Recommended values are 25, 50, 100, 250, or 500. Other values are rounded to the closest recommended value.\n"},"breakRecordsLimit":{"type":"integer","minimum":1,"maximum":500,"description":"New value for the breakRecordsLimit setting. Recommended values are 25, 50, 100, 250, or 500. Other values are rounded to the closest recommended value.\n"},"ruleRunTimeLimit":{"type":"integer","minimum":1,"maximum":90,"description":"New value for the ruleRunTimeLimit setting."},"jobLogRetentionHours":{"type":"integer","minimum":24,"maximum":720,"multipleOf":24,"description":"New value for the jobLogRetentionHours setting."},"platformLogRetentionHours":{"type":"integer","minimum":24,"maximum":720,"multipleOf":24,"description":"New value for the platformLogRetentionHours setting."},"mapToPrimaryColumn":{"type":"boolean","description":"New value for the mapToPrimaryColumn setting."},"mandatoryPrimaryRuleColumn":{"type":"boolean","description":"New value for the mandatoryPrimaryRuleColumn setting."},"mandatoryRuleDimension":{"type":"boolean","description":"New value for the mandatoryRuleDimension setting."},"showDetailedException":{"type":"boolean","description":"New value for the showDetailedException setting."}}},"Settings":{"type":"object","additionalProperties":false,"description":"Current values of all global DQ settings exposed on the public API.","required":["passingThreshold","failingThreshold","lookbackLimit","observationLimit","previewLimit","breakRecordsLimit","ruleRunTimeLimit","jobLogRetentionHours","platformLogRetentionHours","mapToPrimaryColumn","mandatoryPrimaryRuleColumn","mandatoryRuleDimension","showDetailedException"],"properties":{"passingThreshold":{"type":"integer","minimum":1,"maximum":100,"description":"Global passing score threshold. Scores at or above this value are considered passing (green). Must be greater than failingThreshold.\n"},"failingThreshold":{"type":"integer","minimum":1,"maximum":100,"description":"Global failing score threshold. Scores below this value are considered failing (red). Must be less than passingThreshold.\n"},"lookbackLimit":{"type":"integer","minimum":1,"maximum":30,"description":"Maximum number of historical rule runs used when computing DQ scores.\n"},"observationLimit":{"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of rows processed per rule execution."},"previewLimit":{"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of results shown in the dataset overview and rule workbench. UI-only — does not affect what is stored. Recommended values are 25, 50, 100, 250, or 500. If a different value is provided, it is rounded to the closest recommended value.\n"},"breakRecordsLimit":{"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of records returned when fetching break records for a rule. UI-only — does not affect what is stored. Recommended values are 25, 50, 100, 250, or 500. If a different value is provided, it is rounded to the closest recommended value.\n"},"ruleRunTimeLimit":{"type":"integer","minimum":1,"maximum":90,"description":"Maximum time in minutes a rule is allowed to run before it is automatically timed out.\n"},"jobLogRetentionHours":{"type":"integer","minimum":24,"maximum":720,"multipleOf":24,"description":"Job log retention period in hours. Must be a multiple of 24 (minimum 1 day, maximum 30 days).\n"},"platformLogRetentionHours":{"type":"integer","minimum":24,"maximum":720,"multipleOf":24,"description":"Platform log retention period in hours. Must be a multiple of 24 (minimum 1 day, maximum 30 days).\n"},"mapToPrimaryColumn":{"type":"boolean","description":"When enabled, rules are automatically mapped to the primary column of the dataset.\n"},"mandatoryPrimaryRuleColumn":{"type":"boolean","description":"When enabled, a primary column must be set on every rule before it can be saved.\n"},"mandatoryRuleDimension":{"type":"boolean","description":"When enabled, a dimension must be assigned to every rule before it can be saved.\n"},"showDetailedException":{"type":"boolean","description":"When enabled, detailed exception stack traces are included in error responses. Recommended for non-production environments only.\n"}}},"StandardErrorResponse":{"type":"object","description":"Error response returned by the Data Quality API.","required":["statusCode","errorCode","titleMessage","userMessage"],"properties":{"statusCode":{"type":"integer","description":"HTTP status code corresponding to the error."},"errorCode":{"type":"string","description":"Internal error code representing the specific error type."},"titleMessage":{"type":"string","description":"A brief title summarizing the error."},"userMessage":{"type":"string","description":"Detailed, user-friendly message explaining the error and possible remediation steps."}}}},"responses":{"BadRequest":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"Unauthorized":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"Forbidden":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InternalServerError":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}}}},"paths":{"/settings":{"patch":{"tags":["Settings"],"operationId":"changeSettings","summary":"Update global DQ settings","description":"Partially update one or more global DQ settings. Only fields present in the\nrequest body are updated. Validation runs over all present fields before\nany update is persisted; if any field is invalid, the entire request is\nrejected with HTTP 400 and no settings are changed.\n\n`passingThreshold` must be greater than `failingThreshold`. If both are\nsent in the same request and this constraint is violated, the request is\nrejected.\n\nAn empty request body (`{}`) is accepted and treated as a no-op: the\ncurrent settings are returned unchanged.\n\n**Permissions**\n- **Required:** `DATA_QUALITY` and `DATA_QUALITY_MANAGE_SETTINGS`\n- **Global bypass:**\n  - `DATA_QUALITY` and `GLOBAL_MANAGE_ALL_RESOURCES`","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettingsPatch"}}}},"responses":{"200":{"description":"Settings updated successfully. Returns the full current settings.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Settings"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://developer.collibra.com/api/references/data-quality/settings.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
