> For the complete documentation index, see [llms.txt](https://docs.truedat.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.truedat.io/v8.12/api-integrations/data-quality-apis/remediations.md).

# Remediations

## Get remediation for a rule result

> Returns the remediation associated with the specified rule result.\
> \
> The remediation is returned regardless of the caller's remediation permissions; the \`\_actions\` object is only included when the caller holds the \*\*'Manage remediation plans'\*\* permission on the domain of the rule result's implementation. Administrators and service accounts always receive the \`\_actions\` object.\
> \
> If the rule result has no remediation, the endpoint returns \`200 OK\` with \`data = null\`. The \`\_actions\` object, when present, contains the URLs for the \`create\`, \`update\`, \`delete\`, and \`show\` operations on the remediation.\
> \
> Because the remediation content is always returned, clients should use the presence of \`\_actions\` to determine whether the caller can modify the remediation.<br>

```json
{"openapi":"3.0.0","info":{"title":"td-dq","version":"Truedat 8.11.0"},"paths":{"/api/rule_results/{rule_result_id}/remediation":{"get":{"description":"Returns the remediation associated with the specified rule result.\n\nThe remediation is returned regardless of the caller's remediation permissions; the `_actions` object is only included when the caller holds the **'Manage remediation plans'** permission on the domain of the rule result's implementation. Administrators and service accounts always receive the `_actions` object.\n\nIf the rule result has no remediation, the endpoint returns `200 OK` with `data = null`. The `_actions` object, when present, contains the URLs for the `create`, `update`, `delete`, and `show` operations on the remediation.\n\nBecause the remediation content is always returned, clients should use the presence of `_actions` to determine whether the caller can modify the remediation.\n","operationId":"TdDqWeb.RemediationController.show","parameters":[{"description":"Rule result ID","in":"path","name":"rule_result_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemediationResponse"}}},"description":"Remediation response"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqUnauthorizedResponse"}}},"description":"Unauthorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqNotFoundResponse"}}},"description":"Not found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqInternalServerErrorResponse"}}},"description":"Internal Server Error"}},"summary":"Get remediation for a rule result","tags":["Remediations"]}}},"components":{"schemas":{"RemediationResponse":{"additionalProperties":false,"properties":{"_actions":{"additionalProperties":false,"nullable":true,"properties":{"create":{"additionalProperties":false,"properties":{"href":{"type":"string"},"method":{"enum":["POST"],"type":"string"}},"required":["href","method"],"type":"object"},"delete":{"additionalProperties":false,"properties":{"href":{"type":"string"},"method":{"enum":["DELETE"],"type":"string"}},"required":["href","method"],"type":"object"},"show":{"additionalProperties":false,"properties":{"href":{"type":"string"},"method":{"enum":["GET"],"type":"string"}},"required":["href","method"],"type":"object"},"update":{"additionalProperties":false,"properties":{"href":{"type":"string"},"method":{"enum":["PATCH"],"type":"string"}},"required":["href","method"],"type":"object"}},"type":"object"},"data":{"additionalProperties":false,"nullable":true,"properties":{"df_content":{"additionalProperties":true,"nullable":true,"type":"object"},"df_name":{"nullable":true,"type":"string"},"dynamic_content":{"additionalProperties":true,"nullable":true,"type":"object"},"id":{"type":"integer"},"inserted_at":{"nullable":true,"type":"string"},"updated_at":{"nullable":true,"type":"string"}},"required":["id"],"type":"object"}},"required":["data"],"title":"RemediationResponse","type":"object"},"TdDqUnauthorizedResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"title":"TdDqUnauthorizedResponse","type":"object"},"TdDqNotFoundResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"title":"TdDqNotFoundResponse","type":"object"},"TdDqInternalServerErrorResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"title":"TdDqInternalServerErrorResponse","type":"object"}}}}
```

## Create remediation for a rule result

> Creates a remediation for the specified rule result.\
> \
> Requires the \*\*'Manage remediation plans'\*\* permission on the domain of the rule result's implementation. Administrators and service accounts bypass the domain check.\
> \
> \*\*Request body:\*\*\
> \- \`remediation\` (required) – Object containing:\
> &#x20; \- \`df\_name\` (required, string) – Template name used to render the remediation form.\
> &#x20; \- \`df\_content\` (optional, object) – Dynamic content for the template.\
> \
> The remediation is created and a \`Location\` header points to the created resource. The response includes \`\_actions\` for follow‑up operations.<br>

```json
{"openapi":"3.0.0","info":{"title":"td-dq","version":"Truedat 8.11.0"},"paths":{"/api/rule_results/{rule_result_id}/remediation":{"post":{"description":"Creates a remediation for the specified rule result.\n\nRequires the **'Manage remediation plans'** permission on the domain of the rule result's implementation. Administrators and service accounts bypass the domain check.\n\n**Request body:**\n- `remediation` (required) – Object containing:\n  - `df_name` (required, string) – Template name used to render the remediation form.\n  - `df_content` (optional, object) – Dynamic content for the template.\n\nThe remediation is created and a `Location` header points to the created resource. The response includes `_actions` for follow‑up operations.\n","operationId":"TdDqWeb.RemediationController.create","parameters":[{"description":"Rule result ID","in":"path","name":"rule_result_id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemediationRequest"}}},"description":"Remediation request","required":false},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemediationResponse"}}},"description":"Remediation response"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqUnauthorizedResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqForbiddenResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqNotFoundResponse"}}},"description":"Not found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqUnprocessableEntityResponse"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqInternalServerErrorResponse"}}},"description":"Internal Server Error"}},"summary":"Create remediation for a rule result","tags":["Remediations"]}}},"components":{"schemas":{"RemediationRequest":{"additionalProperties":false,"properties":{"remediation":{"additionalProperties":false,"properties":{"df_content":{"additionalProperties":true,"description":"Dynamic content","nullable":true,"type":"object"},"df_name":{"description":"Template name","type":"string"}},"required":["df_name"],"type":"object"},"rule_result_id":{"description":"Rule result ID (also provided in path)","type":"integer"}},"required":["remediation"],"title":"RemediationRequest","type":"object"},"RemediationResponse":{"additionalProperties":false,"properties":{"_actions":{"additionalProperties":false,"nullable":true,"properties":{"create":{"additionalProperties":false,"properties":{"href":{"type":"string"},"method":{"enum":["POST"],"type":"string"}},"required":["href","method"],"type":"object"},"delete":{"additionalProperties":false,"properties":{"href":{"type":"string"},"method":{"enum":["DELETE"],"type":"string"}},"required":["href","method"],"type":"object"},"show":{"additionalProperties":false,"properties":{"href":{"type":"string"},"method":{"enum":["GET"],"type":"string"}},"required":["href","method"],"type":"object"},"update":{"additionalProperties":false,"properties":{"href":{"type":"string"},"method":{"enum":["PATCH"],"type":"string"}},"required":["href","method"],"type":"object"}},"type":"object"},"data":{"additionalProperties":false,"nullable":true,"properties":{"df_content":{"additionalProperties":true,"nullable":true,"type":"object"},"df_name":{"nullable":true,"type":"string"},"dynamic_content":{"additionalProperties":true,"nullable":true,"type":"object"},"id":{"type":"integer"},"inserted_at":{"nullable":true,"type":"string"},"updated_at":{"nullable":true,"type":"string"}},"required":["id"],"type":"object"}},"required":["data"],"title":"RemediationResponse","type":"object"},"TdDqUnauthorizedResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"title":"TdDqUnauthorizedResponse","type":"object"},"TdDqForbiddenResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"title":"TdDqForbiddenResponse","type":"object"},"TdDqNotFoundResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"title":"TdDqNotFoundResponse","type":"object"},"TdDqUnprocessableEntityResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"title":"TdDqUnprocessableEntityResponse","type":"object"},"TdDqInternalServerErrorResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"title":"TdDqInternalServerErrorResponse","type":"object"}}}}
```

## Update remediation for a rule result

> Updates the remediation associated with the specified rule result.\
> \
> Requires the \*\*'Manage remediation plans'\*\* permission on the domain of the rule result's implementation. Administrators and service accounts bypass the domain check.\
> \
> \*\*Request body:\*\*\
> \- \`remediation\` (required) – Object containing:\
> &#x20; \- \`df\_name\` (required, string) – Template name.\
> &#x20; \- \`df\_content\` (optional, object) – Dynamic content.\
> \
> Only the remediation associated with the given rule result is updated. The response includes \`\_actions\` for follow‑up operations.<br>

```json
{"openapi":"3.0.0","info":{"title":"td-dq","version":"Truedat 8.11.0"},"paths":{"/api/rule_results/{rule_result_id}/remediation":{"put":{"description":"Updates the remediation associated with the specified rule result.\n\nRequires the **'Manage remediation plans'** permission on the domain of the rule result's implementation. Administrators and service accounts bypass the domain check.\n\n**Request body:**\n- `remediation` (required) – Object containing:\n  - `df_name` (required, string) – Template name.\n  - `df_content` (optional, object) – Dynamic content.\n\nOnly the remediation associated with the given rule result is updated. The response includes `_actions` for follow‑up operations.\n","operationId":"TdDqWeb.RemediationController.update","parameters":[{"description":"Rule result ID","in":"path","name":"rule_result_id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemediationRequest"}}},"description":"Remediation request","required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemediationResponse"}}},"description":"Remediation response"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqUnauthorizedResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqForbiddenResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqNotFoundResponse"}}},"description":"Not found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqUnprocessableEntityResponse"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqInternalServerErrorResponse"}}},"description":"Internal Server Error"}},"summary":"Update remediation for a rule result","tags":["Remediations"]}}},"components":{"schemas":{"RemediationRequest":{"additionalProperties":false,"properties":{"remediation":{"additionalProperties":false,"properties":{"df_content":{"additionalProperties":true,"description":"Dynamic content","nullable":true,"type":"object"},"df_name":{"description":"Template name","type":"string"}},"required":["df_name"],"type":"object"},"rule_result_id":{"description":"Rule result ID (also provided in path)","type":"integer"}},"required":["remediation"],"title":"RemediationRequest","type":"object"},"RemediationResponse":{"additionalProperties":false,"properties":{"_actions":{"additionalProperties":false,"nullable":true,"properties":{"create":{"additionalProperties":false,"properties":{"href":{"type":"string"},"method":{"enum":["POST"],"type":"string"}},"required":["href","method"],"type":"object"},"delete":{"additionalProperties":false,"properties":{"href":{"type":"string"},"method":{"enum":["DELETE"],"type":"string"}},"required":["href","method"],"type":"object"},"show":{"additionalProperties":false,"properties":{"href":{"type":"string"},"method":{"enum":["GET"],"type":"string"}},"required":["href","method"],"type":"object"},"update":{"additionalProperties":false,"properties":{"href":{"type":"string"},"method":{"enum":["PATCH"],"type":"string"}},"required":["href","method"],"type":"object"}},"type":"object"},"data":{"additionalProperties":false,"nullable":true,"properties":{"df_content":{"additionalProperties":true,"nullable":true,"type":"object"},"df_name":{"nullable":true,"type":"string"},"dynamic_content":{"additionalProperties":true,"nullable":true,"type":"object"},"id":{"type":"integer"},"inserted_at":{"nullable":true,"type":"string"},"updated_at":{"nullable":true,"type":"string"}},"required":["id"],"type":"object"}},"required":["data"],"title":"RemediationResponse","type":"object"},"TdDqUnauthorizedResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"title":"TdDqUnauthorizedResponse","type":"object"},"TdDqForbiddenResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"title":"TdDqForbiddenResponse","type":"object"},"TdDqNotFoundResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"title":"TdDqNotFoundResponse","type":"object"},"TdDqUnprocessableEntityResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"title":"TdDqUnprocessableEntityResponse","type":"object"},"TdDqInternalServerErrorResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"title":"TdDqInternalServerErrorResponse","type":"object"}}}}
```

## Delete remediation for a rule result

> Deletes the remediation associated with the specified rule result.\
> \
> Requires the \*\*'Manage remediation plans'\*\* permission on the domain of the rule result's implementation. Administrators and service accounts bypass the domain check.<br>

```json
{"openapi":"3.0.0","info":{"title":"td-dq","version":"Truedat 8.11.0"},"paths":{"/api/rule_results/{rule_result_id}/remediation":{"delete":{"description":"Deletes the remediation associated with the specified rule result.\n\nRequires the **'Manage remediation plans'** permission on the domain of the rule result's implementation. Administrators and service accounts bypass the domain check.\n","operationId":"TdDqWeb.RemediationController.delete","parameters":[{"description":"Rule result ID","in":"path","name":"rule_result_id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Remediation deleted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqUnauthorizedResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqForbiddenResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqNotFoundResponse"}}},"description":"Not found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqInternalServerErrorResponse"}}},"description":"Internal Server Error"}},"summary":"Delete remediation for a rule result","tags":["Remediations"]}}},"components":{"schemas":{"TdDqUnauthorizedResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"title":"TdDqUnauthorizedResponse","type":"object"},"TdDqForbiddenResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"title":"TdDqForbiddenResponse","type":"object"},"TdDqNotFoundResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"title":"TdDqNotFoundResponse","type":"object"},"TdDqInternalServerErrorResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"title":"TdDqInternalServerErrorResponse","type":"object"}}}}
```

## Update remediation for a rule result

> Updates the remediation associated with the specified rule result.\
> \
> Requires the \*\*'Manage remediation plans'\*\* permission on the domain of the rule result's implementation. Administrators and service accounts bypass the domain check.\
> \
> \*\*Request body:\*\*\
> \- \`remediation\` (required) – Object containing:\
> &#x20; \- \`df\_name\` (required, string) – Template name.\
> &#x20; \- \`df\_content\` (optional, object) – Dynamic content.\
> \
> Only the remediation associated with the given rule result is updated. The response includes \`\_actions\` for follow‑up operations.<br>

```json
{"openapi":"3.0.0","info":{"title":"td-dq","version":"Truedat 8.11.0"},"paths":{"/api/rule_results/{rule_result_id}/remediation":{"patch":{"description":"Updates the remediation associated with the specified rule result.\n\nRequires the **'Manage remediation plans'** permission on the domain of the rule result's implementation. Administrators and service accounts bypass the domain check.\n\n**Request body:**\n- `remediation` (required) – Object containing:\n  - `df_name` (required, string) – Template name.\n  - `df_content` (optional, object) – Dynamic content.\n\nOnly the remediation associated with the given rule result is updated. The response includes `_actions` for follow‑up operations.\n","operationId":"TdDqWeb.RemediationController.update (2)","parameters":[{"description":"Rule result ID","in":"path","name":"rule_result_id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemediationRequest"}}},"description":"Remediation request","required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemediationResponse"}}},"description":"Remediation response"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqUnauthorizedResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqForbiddenResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqNotFoundResponse"}}},"description":"Not found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqUnprocessableEntityResponse"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqInternalServerErrorResponse"}}},"description":"Internal Server Error"}},"summary":"Update remediation for a rule result","tags":["Remediations"]}}},"components":{"schemas":{"RemediationRequest":{"additionalProperties":false,"properties":{"remediation":{"additionalProperties":false,"properties":{"df_content":{"additionalProperties":true,"description":"Dynamic content","nullable":true,"type":"object"},"df_name":{"description":"Template name","type":"string"}},"required":["df_name"],"type":"object"},"rule_result_id":{"description":"Rule result ID (also provided in path)","type":"integer"}},"required":["remediation"],"title":"RemediationRequest","type":"object"},"RemediationResponse":{"additionalProperties":false,"properties":{"_actions":{"additionalProperties":false,"nullable":true,"properties":{"create":{"additionalProperties":false,"properties":{"href":{"type":"string"},"method":{"enum":["POST"],"type":"string"}},"required":["href","method"],"type":"object"},"delete":{"additionalProperties":false,"properties":{"href":{"type":"string"},"method":{"enum":["DELETE"],"type":"string"}},"required":["href","method"],"type":"object"},"show":{"additionalProperties":false,"properties":{"href":{"type":"string"},"method":{"enum":["GET"],"type":"string"}},"required":["href","method"],"type":"object"},"update":{"additionalProperties":false,"properties":{"href":{"type":"string"},"method":{"enum":["PATCH"],"type":"string"}},"required":["href","method"],"type":"object"}},"type":"object"},"data":{"additionalProperties":false,"nullable":true,"properties":{"df_content":{"additionalProperties":true,"nullable":true,"type":"object"},"df_name":{"nullable":true,"type":"string"},"dynamic_content":{"additionalProperties":true,"nullable":true,"type":"object"},"id":{"type":"integer"},"inserted_at":{"nullable":true,"type":"string"},"updated_at":{"nullable":true,"type":"string"}},"required":["id"],"type":"object"}},"required":["data"],"title":"RemediationResponse","type":"object"},"TdDqUnauthorizedResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"title":"TdDqUnauthorizedResponse","type":"object"},"TdDqForbiddenResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"title":"TdDqForbiddenResponse","type":"object"},"TdDqNotFoundResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"title":"TdDqNotFoundResponse","type":"object"},"TdDqUnprocessableEntityResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"title":"TdDqUnprocessableEntityResponse","type":"object"},"TdDqInternalServerErrorResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"title":"TdDqInternalServerErrorResponse","type":"object"}}}}
```
