> 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.8/api-integrations/data-quality-apis/implementations.md).

# Implementations

## List rule implementations

> Retrieves rule implementations filtered by rule business concept or active status.

```json
{"openapi":"3.0.0","info":{"title":"td-dq","version":"Truedat 8.8.2"},"paths":{"/api/rule_implementations":{"get":{"description":"Retrieves rule implementations filtered by rule business concept or active status.","operationId":"TdDqWeb.ImplementationController.index","parameters":[{"description":"Filter by rule business concept ID","in":"query","name":"rule_business_concept_id","required":false,"schema":{"type":"integer"}},{"description":"Filter by rule active status (true/false)","in":"query","name":"is_rule_active","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImplementationIndexResponse"}}},"description":"Implementations response"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqUnauthorizedResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqForbiddenResponse"}}},"description":"Forbidden"},"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":"List rule implementations","tags":["Implementations"]}}},"components":{"schemas":{"ImplementationIndexResponse":{"additionalProperties":false,"properties":{"_actions":{"additionalProperties":true,"description":"Available actions","nullable":true,"type":"object"},"data":{"description":"List of implementations","items":{"$ref":"#/components/schemas/Implementation"},"type":"array"}},"required":["data"],"title":"ImplementationIndexResponse","type":"object"},"Implementation":{"additionalProperties":false,"properties":{"_actions":{"additionalProperties":{"additionalProperties":false,"properties":{"href":{"description":"Endpoint URL for the action","nullable":true,"type":"string"},"id":{"description":"ID of the resource","nullable":true,"type":"integer"},"input":{"additionalProperties":true,"description":"Input parameters for the action","nullable":true,"type":"object"},"method":{"description":"HTTP method (POST, GET, PUT, DELETE)","type":"string"}},"type":"object"},"description":"Available actions for the implementation (e.g., edit, delete, execute, etc.)","nullable":true,"type":"object"},"data_structures":{"items":{"additionalProperties":false,"properties":{"data_structure":{"additionalProperties":true,"properties":{"current_version":{"additionalProperties":true,"type":"object"},"id":{"type":"integer"},"system":{"additionalProperties":true,"type":"object"}},"type":"object"},"data_structure_id":{"type":"integer"},"deleted_at":{"format":"date-time","nullable":true,"type":"string"},"id":{"type":"integer"},"implementation_id":{"type":"integer"},"type":{"type":"string"}},"type":"object"},"nullable":true,"type":"array"},"dataset":{"items":{"additionalProperties":false,"properties":{"alias":{"nullable":true,"type":"string"},"clauses":{"items":{"type":"object"},"nullable":true,"type":"array"},"join_type":{"nullable":true,"type":"string"},"structure":{"additionalProperties":true,"type":"object"}},"type":"object"},"nullable":true,"type":"array"},"deleted_at":{"format":"date-time","nullable":true,"type":"string"},"df_content":{"additionalProperties":true,"nullable":true,"type":"object"},"df_name":{"nullable":true,"type":"string"},"domain":{"additionalProperties":false,"nullable":true,"properties":{"external_id":{"nullable":true,"type":"string"},"id":{"type":"integer"},"name":{"type":"string"},"parent_id":{"nullable":true,"type":"integer"},"updated_at":{"format":"date-time","nullable":true,"type":"string"}},"type":"object"},"domain_id":{"description":"Domain ID","nullable":true,"type":"integer"},"dynamic_content":{"additionalProperties":true,"nullable":true,"type":"object"},"executable":{"description":"Whether the implementation is executable","type":"boolean"},"goal":{"description":"Goal value","nullable":true,"type":"number"},"id":{"description":"Implementation ID","type":"integer"},"implementation_key":{"description":"Unique implementation key","type":"string"},"implementation_ref":{"description":"Reference to parent implementation","nullable":true,"type":"integer"},"implementation_type":{"default":"default","description":"Type (default, raw, basic)","type":"string"},"inserted_at":{"format":"date-time","nullable":true,"type":"string"},"links":{"items":{"additionalProperties":true,"type":"object"},"nullable":true,"type":"array"},"minimum":{"description":"Minimum threshold","nullable":true,"type":"number"},"population":{"items":{"additionalProperties":false,"properties":{"operator":{"additionalProperties":true,"type":"object"},"structure":{"additionalProperties":true,"type":"object"},"value":{"items":{"type":"object"},"nullable":true,"type":"array"}},"type":"object"},"nullable":true,"type":"array"},"populations":{"items":{"items":{"additionalProperties":false,"properties":{"operator":{"additionalProperties":true,"type":"object"},"structure":{"additionalProperties":true,"type":"object"},"value":{"items":{"type":"object"},"nullable":true,"type":"array"}},"type":"object"},"type":"array"},"nullable":true,"type":"array"},"quality_event":{"additionalProperties":true,"nullable":true,"type":"object"},"raw_content":{"additionalProperties":false,"nullable":true,"properties":{"database":{"nullable":true,"type":"string"},"dataset":{"nullable":true,"type":"string"},"population":{"nullable":true,"type":"string"},"source":{"additionalProperties":true,"nullable":true,"type":"object"},"source_id":{"nullable":true,"type":"integer"},"validations":{"nullable":true,"type":"string"}},"type":"object"},"result_type":{"description":"Result type (percentage, number, etc.)","nullable":true,"type":"string"},"results":{"items":{"type":"object"},"nullable":true,"type":"array"},"rule":{"additionalProperties":false,"nullable":true,"properties":{"active":{"type":"boolean"},"df_content":{"additionalProperties":true,"nullable":true,"type":"object"},"df_name":{"nullable":true,"type":"string"},"id":{"type":"integer"},"name":{"type":"string"}},"type":"object"},"rule_id":{"description":"Rule ID","nullable":true,"type":"integer"},"segments":{"items":{"additionalProperties":false,"properties":{"structure":{"additionalProperties":true,"type":"object"}},"type":"object"},"nullable":true,"type":"array"},"status":{"description":"Implementation status","enum":["draft","pending_approval","published","rejected","versioned","deprecated"],"type":"string"},"updated_at":{"format":"date-time","nullable":true,"type":"string"},"validation":{"items":{"items":{"additionalProperties":false,"properties":{"operator":{"additionalProperties":true,"type":"object"},"structure":{"additionalProperties":true,"type":"object"},"value":{"items":{"type":"object"},"nullable":true,"type":"array"}},"type":"object"},"type":"array"},"nullable":true,"type":"array"},"validations":{"items":{"additionalProperties":false,"properties":{"operator":{"additionalProperties":true,"type":"object"},"structure":{"additionalProperties":true,"type":"object"},"value":{"items":{"type":"object"},"nullable":true,"type":"array"}},"type":"object"},"nullable":true,"type":"array"},"version":{"default":1,"description":"Version number","type":"integer"}},"required":["id","implementation_key","status","version"],"title":"Implementation","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"},"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"}}}}
```

## Create rule implementation

> Creates a new rule implementation, either cloned or based on the provided rule data.

```json
{"openapi":"3.0.0","info":{"title":"td-dq","version":"Truedat 8.8.2"},"paths":{"/api/rule_implementations":{"post":{"description":"Creates a new rule implementation, either cloned or based on the provided rule data.","operationId":"TdDqWeb.ImplementationController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImplementationCreateRequest"}}},"description":"Implementation creation request","required":false},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImplementationCreateResponse"}}},"description":"Implementation response"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqUnauthorizedResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqForbiddenResponse"}}},"description":"Forbidden"},"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 rule implementation","tags":["Implementations"]}}},"components":{"schemas":{"ImplementationCreateRequest":{"additionalProperties":false,"properties":{"rule_implementation":{"additionalProperties":false,"properties":{"dataset":{"items":{"type":"object"},"nullable":true,"type":"array"},"df_content":{"additionalProperties":true,"description":"Dynamic content","nullable":true,"type":"object"},"df_name":{"description":"Template name","nullable":true,"type":"string"},"domain_id":{"description":"Domain ID","nullable":true,"type":"integer"},"goal":{"description":"Goal value","nullable":true,"type":"number"},"implementation_key":{"description":"Unique implementation key","type":"string"},"implementation_ref":{"description":"Reference for clone","nullable":true,"type":"string"},"implementation_type":{"default":"default","description":"Type (default, raw, basic)","type":"string"},"minimum":{"description":"Minimum threshold","nullable":true,"type":"number"},"operation":{"description":"Operation (e.g., 'clone')","nullable":true,"type":"string"},"populations":{"items":{"type":"array"},"nullable":true,"type":"array"},"raw_content":{"additionalProperties":false,"nullable":true,"properties":{"database":{"nullable":true,"type":"string"},"dataset":{"nullable":true,"type":"string"},"population":{"nullable":true,"type":"string"},"source_id":{"nullable":true,"type":"integer"},"validations":{"nullable":true,"type":"string"}},"type":"object"},"result_type":{"description":"Result type","nullable":true,"type":"string"},"rule_id":{"description":"Rule ID (required for rule-bound)","nullable":true,"type":"integer"},"segments":{"items":{"type":"object"},"nullable":true,"type":"array"},"status":{"description":"Initial status","enum":["draft","published"],"nullable":true,"type":"string"},"validation":{"items":{"type":"array"},"nullable":true,"type":"array"}},"type":"object"}},"required":["rule_implementation"],"title":"ImplementationCreateRequest","type":"object"},"ImplementationCreateResponse":{"additionalProperties":true,"title":"ImplementationCreateResponse","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"},"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"}}}}
```

## Link data structure to implementation

> Links a data structure to the specified implementation.

```json
{"openapi":"3.0.0","info":{"title":"td-dq","version":"Truedat 8.8.2"},"paths":{"/api/rule_implementations/{implementation_id}/data_structures":{"post":{"description":"Links a data structure to the specified implementation.","operationId":"TdDqWeb.ImplementationStructureController.create","parameters":[{"description":"Implementation ID","in":"path","name":"implementation_id","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImplementationStructureCreateRequest"}}},"description":"Structure link request","required":false},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImplementationStructureCreateResponse"}}},"description":"Structure link 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":"Link data structure to implementation","tags":["Implementations"]}}},"components":{"schemas":{"ImplementationStructureCreateRequest":{"additionalProperties":false,"properties":{"data_structure_id":{"description":"ID of the data structure to link","type":"integer"},"type":{"description":"Link type (e.g., 'dataset', 'population')","type":"string"}},"required":["data_structure_id","type"],"title":"ImplementationStructureCreateRequest","type":"object"},"ImplementationStructureCreateResponse":{"additionalProperties":false,"properties":{"data":{"properties":{"data_structure_id":{"type":"integer"},"deleted_at":{"format":"date-time","nullable":true,"type":"string"},"id":{"type":"integer"},"implementation_id":{"type":"integer"},"type":{"type":"string"}},"required":["id","implementation_id","data_structure_id","type"],"type":"object"}},"required":["data"],"title":"ImplementationStructureCreateResponse","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"}}}}
```

## Upload implementations from CSV

> Uploads implementations data from a CSV file.

```json
{"openapi":"3.0.0","info":{"title":"td-dq","version":"Truedat 8.8.2"},"paths":{"/api/rule_implementations/upload":{"post":{"description":"Uploads implementations data from a CSV file.","operationId":"TdDqWeb.ImplementationUploadController.create","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/ImplementationUploadCreateRequest"}}},"description":"CSV upload request","required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImplementationUploadCreateResponse"}}},"description":"Upload response"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqUnauthorizedResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqForbiddenResponse"}}},"description":"Forbidden"},"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":"Upload implementations from CSV","tags":["Implementations"]}}},"components":{"schemas":{"ImplementationUploadCreateRequest":{"additionalProperties":false,"properties":{"auto_publish":{"description":"Auto-publish flag (true/false)","nullable":true,"type":"string"},"implementations":{"description":"CSV file with implementations","format":"binary","type":"string"},"lang":{"description":"Language code (e.g., 'en', 'es')","nullable":true,"type":"string"}},"required":["implementations"],"title":"ImplementationUploadCreateRequest","type":"object"},"ImplementationUploadCreateResponse":{"additionalProperties":false,"properties":{"data":{"additionalProperties":false,"properties":{"errors":{"items":{"additionalProperties":true,"type":"object"},"type":"array"},"ids":{"items":{"type":"integer"},"type":"array"}},"required":["ids","errors"],"type":"object"}},"required":["data"],"title":"ImplementationUploadCreateResponse","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"},"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"}}}}
```

## Get implementation filters

> Retrieves available implementation filter values based on the provided search criteria.

```json
{"openapi":"3.0.0","info":{"title":"td-dq","version":"Truedat 8.8.2"},"paths":{"/api/rule_implementation_filters/search":{"post":{"description":"Retrieves available implementation filter values based on the provided search criteria.","operationId":"TdDqWeb.ImplementationFilterController.search","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImplementationFilterSearchRequest"}}},"description":"Filter search request","required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImplementationFilterSearchResponse"}}},"description":"Filter response"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqUnauthorizedResponse"}}},"description":"Unauthorized"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqInternalServerErrorResponse"}}},"description":"Internal Server Error"}},"summary":"Get implementation filters","tags":["Implementations"]}}},"components":{"schemas":{"ImplementationFilterSearchRequest":{"additionalProperties":true,"title":"ImplementationFilterSearchRequest","type":"object"},"ImplementationFilterSearchResponse":{"properties":{"filters":{"additionalProperties":true,"type":"object"}},"title":"ImplementationFilterSearchResponse","type":"object"},"TdDqUnauthorizedResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"title":"TdDqUnauthorizedResponse","type":"object"},"TdDqInternalServerErrorResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"title":"TdDqInternalServerErrorResponse","type":"object"}}}}
```

## Search rule implementations

> Searches rule implementations based on filter criteria and pagination.

```json
{"openapi":"3.0.0","info":{"title":"td-dq","version":"Truedat 8.8.2"},"paths":{"/api/rule_implementations/search":{"post":{"description":"Searches rule implementations based on filter criteria and pagination.","operationId":"TdDqWeb.ImplementationSearchController.create","parameters":[{"description":"Page number","in":"query","name":"page","required":false,"schema":{"type":"integer"}},{"description":"Page size","in":"query","name":"size","required":false,"schema":{"type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImplementationSearchRequest"}}},"description":"Implementation search request","required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImplementationSearchResponse"}}},"description":"Implementation search response"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqUnauthorizedResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqForbiddenResponse"}}},"description":"Forbidden"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqInternalServerErrorResponse"}}},"description":"Internal Server Error"}},"summary":"Search rule implementations","tags":["Implementations"]}}},"components":{"schemas":{"ImplementationSearchRequest":{"additionalProperties":true,"properties":{"filters":{"additionalProperties":true,"description":"Filter criteria","properties":{"business_concept_id":{"description":"Filter by business concept ID(s)","items":{"type":"integer"},"type":"array"},"domain_id":{"description":"Filter by domain ID(s)","items":{"type":"integer"},"type":"array"},"implementation_status":{"description":"Filter by implementation status (e.g., 'draft', 'published')","items":{"type":"string"},"type":"array"},"rule_id":{"description":"Filter by rule ID(s)","items":{"type":"integer"},"type":"array"}},"type":"object"},"must":{"additionalProperties":true,"description":"Must conditions (e.g., rule_id)","type":"object"},"must_not":{"additionalProperties":true,"description":"Must not conditions","type":"object"},"page":{"default":0,"description":"Page number","minimum":0,"type":"integer"},"size":{"default":20,"description":"Page size","minimum":1,"type":"integer"},"status":{"description":"Filter by status (e.g., 'deleted')","nullable":true,"type":"string"}},"title":"ImplementationSearchRequest","type":"object"},"ImplementationSearchResponse":{"properties":{"filters":{"additionalProperties":true,"description":"Available filters with counts","properties":{"implementation_status":{"items":{"properties":{"count":{"type":"integer"},"key":{"type":"string"}},"type":"object"},"type":"array"}},"type":"object"},"implementations":{"items":{"additionalProperties":true,"properties":{"id":{"description":"Implementation ID","type":"integer"},"implementation_key":{"description":"Implementation key","type":"string"},"implementation_status":{"description":"Implementation status","type":"string"},"last_execution":{"description":"Last execution timestamp","format":"date-time","nullable":true,"type":"string"},"last_result":{"description":"Last result","nullable":true,"type":"string"},"name":{"description":"Implementation name","type":"string"},"rule_id":{"description":"Rule ID","type":"integer"}},"type":"object"},"type":"array"},"scroll_id":{"description":"Scroll ID for pagination","nullable":true,"type":"string"}},"title":"ImplementationSearchResponse","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"},"TdDqInternalServerErrorResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"title":"TdDqInternalServerErrorResponse","type":"object"}}}}
```

## Search rule implementations by rule

> Searches implementations by rule ID using the provided search criteria.

```json
{"openapi":"3.0.0","info":{"title":"td-dq","version":"Truedat 8.8.2"},"paths":{"/api/rules/rule_implementations":{"post":{"description":"Searches implementations by rule ID using the provided search criteria.","operationId":"TdDqWeb.ImplementationController.search_rule_implementations","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImplementationSearchRequest"}}},"description":"Implementation search request","required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImplementationSearchResponse"}}},"description":"Implementation search response"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqUnauthorizedResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqForbiddenResponse"}}},"description":"Forbidden"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqInternalServerErrorResponse"}}},"description":"Internal Server Error"}},"summary":"Search rule implementations by rule","tags":["Implementations"]}}},"components":{"schemas":{"ImplementationSearchRequest":{"additionalProperties":true,"properties":{"filters":{"additionalProperties":true,"description":"Filter criteria","properties":{"business_concept_id":{"description":"Filter by business concept ID(s)","items":{"type":"integer"},"type":"array"},"domain_id":{"description":"Filter by domain ID(s)","items":{"type":"integer"},"type":"array"},"implementation_status":{"description":"Filter by implementation status (e.g., 'draft', 'published')","items":{"type":"string"},"type":"array"},"rule_id":{"description":"Filter by rule ID(s)","items":{"type":"integer"},"type":"array"}},"type":"object"},"must":{"additionalProperties":true,"description":"Must conditions (e.g., rule_id)","type":"object"},"must_not":{"additionalProperties":true,"description":"Must not conditions","type":"object"},"page":{"default":0,"description":"Page number","minimum":0,"type":"integer"},"size":{"default":20,"description":"Page size","minimum":1,"type":"integer"},"status":{"description":"Filter by status (e.g., 'deleted')","nullable":true,"type":"string"}},"title":"ImplementationSearchRequest","type":"object"},"ImplementationSearchResponse":{"properties":{"filters":{"additionalProperties":true,"description":"Available filters with counts","properties":{"implementation_status":{"items":{"properties":{"count":{"type":"integer"},"key":{"type":"string"}},"type":"object"},"type":"array"}},"type":"object"},"implementations":{"items":{"additionalProperties":true,"properties":{"id":{"description":"Implementation ID","type":"integer"},"implementation_key":{"description":"Implementation key","type":"string"},"implementation_status":{"description":"Implementation status","type":"string"},"last_execution":{"description":"Last execution timestamp","format":"date-time","nullable":true,"type":"string"},"last_result":{"description":"Last result","nullable":true,"type":"string"},"name":{"description":"Implementation name","type":"string"},"rule_id":{"description":"Rule ID","type":"integer"}},"type":"object"},"type":"array"},"scroll_id":{"description":"Scroll ID for pagination","nullable":true,"type":"string"}},"title":"ImplementationSearchResponse","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"},"TdDqInternalServerErrorResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"title":"TdDqInternalServerErrorResponse","type":"object"}}}}
```

## Get rule implementation

> Retrieves details for the specified rule implementation.

```json
{"openapi":"3.0.0","info":{"title":"td-dq","version":"Truedat 8.8.2"},"paths":{"/api/rule_implementations/{id}":{"get":{"description":"Retrieves details for the specified rule implementation.","operationId":"TdDqWeb.ImplementationController.show","parameters":[{"description":"Implementation ID","in":"path","name":"id","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImplementationShowResponse"}}},"description":"Implementation response"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqUnauthorizedResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqForbiddenResponse"}}},"description":"Forbidden"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqInternalServerErrorResponse"}}},"description":"Internal Server Error"}},"summary":"Get rule implementation","tags":["Implementations"]}}},"components":{"schemas":{"ImplementationShowResponse":{"additionalProperties":false,"properties":{"_actions":{"additionalProperties":{"additionalProperties":false,"properties":{"href":{"description":"Endpoint URL for the action","nullable":true,"type":"string"},"id":{"description":"ID of the resource","nullable":true,"type":"integer"},"input":{"additionalProperties":true,"description":"Input parameters for the action","nullable":true,"type":"object"},"method":{"description":"HTTP method (POST, GET, PUT, DELETE)","type":"string"}},"type":"object"},"description":"Available actions for the implementation (e.g., edit, delete, execute, etc.)","nullable":true,"type":"object"},"data":{"$ref":"#/components/schemas/Implementation"}},"required":["data"],"title":"ImplementationShowResponse","type":"object"},"Implementation":{"additionalProperties":false,"properties":{"_actions":{"additionalProperties":{"additionalProperties":false,"properties":{"href":{"description":"Endpoint URL for the action","nullable":true,"type":"string"},"id":{"description":"ID of the resource","nullable":true,"type":"integer"},"input":{"additionalProperties":true,"description":"Input parameters for the action","nullable":true,"type":"object"},"method":{"description":"HTTP method (POST, GET, PUT, DELETE)","type":"string"}},"type":"object"},"description":"Available actions for the implementation (e.g., edit, delete, execute, etc.)","nullable":true,"type":"object"},"data_structures":{"items":{"additionalProperties":false,"properties":{"data_structure":{"additionalProperties":true,"properties":{"current_version":{"additionalProperties":true,"type":"object"},"id":{"type":"integer"},"system":{"additionalProperties":true,"type":"object"}},"type":"object"},"data_structure_id":{"type":"integer"},"deleted_at":{"format":"date-time","nullable":true,"type":"string"},"id":{"type":"integer"},"implementation_id":{"type":"integer"},"type":{"type":"string"}},"type":"object"},"nullable":true,"type":"array"},"dataset":{"items":{"additionalProperties":false,"properties":{"alias":{"nullable":true,"type":"string"},"clauses":{"items":{"type":"object"},"nullable":true,"type":"array"},"join_type":{"nullable":true,"type":"string"},"structure":{"additionalProperties":true,"type":"object"}},"type":"object"},"nullable":true,"type":"array"},"deleted_at":{"format":"date-time","nullable":true,"type":"string"},"df_content":{"additionalProperties":true,"nullable":true,"type":"object"},"df_name":{"nullable":true,"type":"string"},"domain":{"additionalProperties":false,"nullable":true,"properties":{"external_id":{"nullable":true,"type":"string"},"id":{"type":"integer"},"name":{"type":"string"},"parent_id":{"nullable":true,"type":"integer"},"updated_at":{"format":"date-time","nullable":true,"type":"string"}},"type":"object"},"domain_id":{"description":"Domain ID","nullable":true,"type":"integer"},"dynamic_content":{"additionalProperties":true,"nullable":true,"type":"object"},"executable":{"description":"Whether the implementation is executable","type":"boolean"},"goal":{"description":"Goal value","nullable":true,"type":"number"},"id":{"description":"Implementation ID","type":"integer"},"implementation_key":{"description":"Unique implementation key","type":"string"},"implementation_ref":{"description":"Reference to parent implementation","nullable":true,"type":"integer"},"implementation_type":{"default":"default","description":"Type (default, raw, basic)","type":"string"},"inserted_at":{"format":"date-time","nullable":true,"type":"string"},"links":{"items":{"additionalProperties":true,"type":"object"},"nullable":true,"type":"array"},"minimum":{"description":"Minimum threshold","nullable":true,"type":"number"},"population":{"items":{"additionalProperties":false,"properties":{"operator":{"additionalProperties":true,"type":"object"},"structure":{"additionalProperties":true,"type":"object"},"value":{"items":{"type":"object"},"nullable":true,"type":"array"}},"type":"object"},"nullable":true,"type":"array"},"populations":{"items":{"items":{"additionalProperties":false,"properties":{"operator":{"additionalProperties":true,"type":"object"},"structure":{"additionalProperties":true,"type":"object"},"value":{"items":{"type":"object"},"nullable":true,"type":"array"}},"type":"object"},"type":"array"},"nullable":true,"type":"array"},"quality_event":{"additionalProperties":true,"nullable":true,"type":"object"},"raw_content":{"additionalProperties":false,"nullable":true,"properties":{"database":{"nullable":true,"type":"string"},"dataset":{"nullable":true,"type":"string"},"population":{"nullable":true,"type":"string"},"source":{"additionalProperties":true,"nullable":true,"type":"object"},"source_id":{"nullable":true,"type":"integer"},"validations":{"nullable":true,"type":"string"}},"type":"object"},"result_type":{"description":"Result type (percentage, number, etc.)","nullable":true,"type":"string"},"results":{"items":{"type":"object"},"nullable":true,"type":"array"},"rule":{"additionalProperties":false,"nullable":true,"properties":{"active":{"type":"boolean"},"df_content":{"additionalProperties":true,"nullable":true,"type":"object"},"df_name":{"nullable":true,"type":"string"},"id":{"type":"integer"},"name":{"type":"string"}},"type":"object"},"rule_id":{"description":"Rule ID","nullable":true,"type":"integer"},"segments":{"items":{"additionalProperties":false,"properties":{"structure":{"additionalProperties":true,"type":"object"}},"type":"object"},"nullable":true,"type":"array"},"status":{"description":"Implementation status","enum":["draft","pending_approval","published","rejected","versioned","deprecated"],"type":"string"},"updated_at":{"format":"date-time","nullable":true,"type":"string"},"validation":{"items":{"items":{"additionalProperties":false,"properties":{"operator":{"additionalProperties":true,"type":"object"},"structure":{"additionalProperties":true,"type":"object"},"value":{"items":{"type":"object"},"nullable":true,"type":"array"}},"type":"object"},"type":"array"},"nullable":true,"type":"array"},"validations":{"items":{"additionalProperties":false,"properties":{"operator":{"additionalProperties":true,"type":"object"},"structure":{"additionalProperties":true,"type":"object"},"value":{"items":{"type":"object"},"nullable":true,"type":"array"}},"type":"object"},"nullable":true,"type":"array"},"version":{"default":1,"description":"Version number","type":"integer"}},"required":["id","implementation_key","status","version"],"title":"Implementation","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"},"TdDqInternalServerErrorResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"title":"TdDqInternalServerErrorResponse","type":"object"}}}}
```

## Update rule implementation

> Updates the specified rule implementation with the provided payload.

```json
{"openapi":"3.0.0","info":{"title":"td-dq","version":"Truedat 8.8.2"},"paths":{"/api/rule_implementations/{id}":{"put":{"description":"Updates the specified rule implementation with the provided payload.","operationId":"TdDqWeb.ImplementationController.update","parameters":[{"description":"Implementation ID","in":"path","name":"id","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImplementationUpdateRequest"}}},"description":"Implementation update request","required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImplementationUpdateResponse"}}},"description":"Implementation 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 rule implementation","tags":["Implementations"]}}},"components":{"schemas":{"ImplementationUpdateRequest":{"additionalProperties":false,"properties":{"rule_implementation":{"additionalProperties":false,"properties":{"dataset":{"items":{"type":"object"},"nullable":true,"type":"array"},"df_content":{"additionalProperties":true,"nullable":true,"type":"object"},"domain_id":{"nullable":true,"type":"integer"},"goal":{"nullable":true,"type":"number"},"implementation_key":{"description":"Implementation key","nullable":true,"type":"string"},"minimum":{"nullable":true,"type":"number"},"populations":{"items":{"type":"array"},"nullable":true,"type":"array"},"raw_content":{"additionalProperties":true,"nullable":true,"type":"object"},"result_type":{"nullable":true,"type":"string"},"rule_id":{"description":"Move implementation to another rule","nullable":true,"type":"integer"},"segments":{"items":{"type":"object"},"nullable":true,"type":"array"},"status":{"enum":["draft","published","pending_approval","rejected","deprecated"],"nullable":true,"type":"string"},"validation":{"items":{"type":"array"},"nullable":true,"type":"array"}},"type":"object"}},"required":["rule_implementation"],"title":"ImplementationUpdateRequest","type":"object"},"ImplementationUpdateResponse":{"additionalProperties":true,"title":"ImplementationUpdateResponse","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 rule implementation

> Deletes the specified rule implementation.

```json
{"openapi":"3.0.0","info":{"title":"td-dq","version":"Truedat 8.8.2"},"paths":{"/api/rule_implementations/{id}":{"delete":{"description":"Deletes the specified rule implementation.","operationId":"TdDqWeb.ImplementationController.delete","parameters":[{"description":"Implementation ID","in":"path","name":"id","required":true,"schema":{"type":"integer"}}],"responses":{"204":{"description":"No content"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqUnauthorizedResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqForbiddenResponse"}}},"description":"Forbidden"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqInternalServerErrorResponse"}}},"description":"Internal Server Error"}},"summary":"Delete rule implementation","tags":["Implementations"]}}},"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"},"TdDqInternalServerErrorResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"title":"TdDqInternalServerErrorResponse","type":"object"}}}}
```

## Update rule implementation

> Updates the specified rule implementation with the provided payload.

```json
{"openapi":"3.0.0","info":{"title":"td-dq","version":"Truedat 8.8.2"},"paths":{"/api/rule_implementations/{id}":{"patch":{"description":"Updates the specified rule implementation with the provided payload.","operationId":"TdDqWeb.ImplementationController.update (2)","parameters":[{"description":"Implementation ID","in":"path","name":"id","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImplementationUpdateRequest"}}},"description":"Implementation update request","required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImplementationUpdateResponse"}}},"description":"Implementation 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 rule implementation","tags":["Implementations"]}}},"components":{"schemas":{"ImplementationUpdateRequest":{"additionalProperties":false,"properties":{"rule_implementation":{"additionalProperties":false,"properties":{"dataset":{"items":{"type":"object"},"nullable":true,"type":"array"},"df_content":{"additionalProperties":true,"nullable":true,"type":"object"},"domain_id":{"nullable":true,"type":"integer"},"goal":{"nullable":true,"type":"number"},"implementation_key":{"description":"Implementation key","nullable":true,"type":"string"},"minimum":{"nullable":true,"type":"number"},"populations":{"items":{"type":"array"},"nullable":true,"type":"array"},"raw_content":{"additionalProperties":true,"nullable":true,"type":"object"},"result_type":{"nullable":true,"type":"string"},"rule_id":{"description":"Move implementation to another rule","nullable":true,"type":"integer"},"segments":{"items":{"type":"object"},"nullable":true,"type":"array"},"status":{"enum":["draft","published","pending_approval","rejected","deprecated"],"nullable":true,"type":"string"},"validation":{"items":{"type":"array"},"nullable":true,"type":"array"}},"type":"object"}},"required":["rule_implementation"],"title":"ImplementationUpdateRequest","type":"object"},"ImplementationUpdateResponse":{"additionalProperties":true,"title":"ImplementationUpdateResponse","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"}}}}
```

## Download implementations as XLSX

> Downloads implementations matching the provided filters as an XLSX file.

```json
{"openapi":"3.0.0","info":{"title":"td-dq","version":"Truedat 8.8.2"},"paths":{"/api/rule_implementations/xlsx/download":{"post":{"description":"Downloads implementations matching the provided filters as an XLSX file.","operationId":"TdDqWeb.Implementation.XLSXController.download","parameters":[{"description":"Page number","in":"query","name":"page","required":false,"schema":{"type":"integer"}},{"description":"Page size","in":"query","name":"size","required":false,"schema":{"type":"integer"}},{"description":"Implementation status filter","in":"query","name":"impl_status","required":false,"schema":{"type":"string"}},{"description":"Header labels","in":"query","name":"header_labels","required":false,"schema":{"type":"string"}},{"description":"Content labels","in":"query","name":"content_labels","required":false,"schema":{"type":"string"}},{"description":"Language","in":"query","name":"lang","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{"schema":{"$ref":"#/components/schemas/ImplementationXlsxDownloadResponse"}}},"description":"XLSX file"},"204":{"description":"No content - no implementations found"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqUnauthorizedResponse"}}},"description":"Unauthorized"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqInternalServerErrorResponse"}}},"description":"Internal Server Error"}},"summary":"Download implementations as XLSX","tags":["Implementations"]}}},"components":{"schemas":{"ImplementationXlsxDownloadResponse":{"format":"binary","title":"ImplementationXlsxDownloadResponse","type":"string"},"TdDqUnauthorizedResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"title":"TdDqUnauthorizedResponse","type":"object"},"TdDqInternalServerErrorResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"title":"TdDqInternalServerErrorResponse","type":"object"}}}}
```

## Reindex implementations

> Triggers a full reindex of implementations.

```json
{"openapi":"3.0.0","info":{"title":"td-dq","version":"Truedat 8.8.2"},"paths":{"/api/rule_implementations/search/reindex_all":{"get":{"description":"Triggers a full reindex of implementations.","operationId":"TdDqWeb.ImplementationSearchController.reindex","parameters":[],"responses":{"202":{"description":"Accepted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqUnauthorizedResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqForbiddenResponse"}}},"description":"Forbidden"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqInternalServerErrorResponse"}}},"description":"Internal Server Error"}},"summary":"Reindex implementations","tags":["Implementations"]}}},"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"},"TdDqInternalServerErrorResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"title":"TdDqInternalServerErrorResponse","type":"object"}}}}
```

## Unlink data structure from implementation

> Removes the link between the specified implementation and data structure.

```json
{"openapi":"3.0.0","info":{"title":"td-dq","version":"Truedat 8.8.2"},"paths":{"/api/rule_implementations/data_structures/{id}":{"delete":{"description":"Removes the link between the specified implementation and data structure.","operationId":"TdDqWeb.ImplementationStructureController.delete","parameters":[{"description":"Implementation structure ID","in":"path","name":"id","required":true,"schema":{"type":"integer"}}],"responses":{"204":{"description":"No content"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqUnauthorizedResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqForbiddenResponse"}}},"description":"Forbidden"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqInternalServerErrorResponse"}}},"description":"Internal Server Error"}},"summary":"Unlink data structure from implementation","tags":["Implementations"]}}},"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"},"TdDqInternalServerErrorResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"title":"TdDqInternalServerErrorResponse","type":"object"}}}}
```

## Upload implementations from XLSX

> Uploads implementations from an XLSX file and enqueues processing.

```json
{"openapi":"3.0.0","info":{"title":"td-dq","version":"Truedat 8.8.2"},"paths":{"/api/rule_implementations/xlsx/upload":{"post":{"description":"Uploads implementations from an XLSX file and enqueues processing.","operationId":"TdDqWeb.Implementation.XLSXController.upload","parameters":[{"description":"Language","in":"query","name":"lang","required":false,"schema":{"type":"string"}},{"description":"Auto publish implementations","in":"query","name":"auto_publish","required":false,"schema":{"type":"boolean"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/ImplementationXlsxUploadRequest"}}},"description":"XLSX upload request","required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImplementationXlsxUploadResponse"}}},"description":"Upload response"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqUnauthorizedResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqForbiddenResponse"}}},"description":"Forbidden"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDqInternalServerErrorResponse"}}},"description":"Internal Server Error"}},"summary":"Upload implementations from XLSX","tags":["Implementations"]}}},"components":{"schemas":{"ImplementationXlsxUploadRequest":{"additionalProperties":false,"properties":{"auto_publish":{"description":"Auto-publish flag (true/false)","nullable":true,"type":"string"},"implementations":{"description":"XLSX file with implementations","format":"binary","type":"string"},"lang":{"description":"Language code (e.g., 'en', 'es')","nullable":true,"type":"string"}},"required":["implementations"],"title":"ImplementationXlsxUploadRequest","type":"object"},"ImplementationXlsxUploadResponse":{"additionalProperties":false,"properties":{"job_id":{"description":"Job ID for tracking upload progress","type":"integer"}},"required":["job_id"],"title":"ImplementationXlsxUploadResponse","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"},"TdDqInternalServerErrorResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"title":"TdDqInternalServerErrorResponse","type":"object"}}}}
```

## Create implementation result

> Creates a result for the specified implementation.

```json
{"openapi":"3.0.0","info":{"title":"td-dq","version":"Truedat 8.8.2"},"paths":{"/api/rule_implementations/{implementation_id}/results":{"post":{"description":"Creates a result for the specified implementation.","operationId":"TdDqWeb.ImplementationResultController.create","parameters":[{"description":"Implementation key","in":"path","name":"implementation_id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImplementationResultCreateRequest"}}},"description":"Result creation request","required":false},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImplementationResultCreateResponse"}}},"description":"Result 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 implementation result","tags":["Implementations"]}}},"components":{"schemas":{"ImplementationResultCreateRequest":{"additionalProperties":false,"properties":{"rule_result":{"additionalProperties":false,"properties":{"date":{"description":"Execution date (accepted but ignored)","format":"date-time","nullable":true,"type":"string"},"errors":{"description":"Number of errors","nullable":true,"type":"integer"},"implementation_key":{"description":"Implementation key (ignored, taken from URL)","nullable":true,"type":"string"},"params":{"additionalProperties":true,"nullable":true,"type":"object"},"records":{"description":"Total records processed","type":"integer"},"segments":{"items":{"additionalProperties":false,"properties":{"errors":{"nullable":true,"type":"integer"},"name":{"nullable":true,"type":"string"},"params":{"additionalProperties":true,"nullable":true,"type":"object"},"records":{"type":"integer"}},"type":"object"},"nullable":true,"type":"array"}},"required":["records"],"type":"object"}},"required":["rule_result"],"title":"ImplementationResultCreateRequest","type":"object"},"ImplementationResultCreateResponse":{"additionalProperties":false,"properties":{"data":{"properties":{"id":{"type":"integer"},"params":{"additionalProperties":true,"nullable":true,"type":"object"},"result":{"description":"Result as percentage or number","type":"string"},"segments_inserted":{"nullable":true,"type":"integer"}},"required":["id","result"],"type":"object"}},"required":["data"],"title":"ImplementationResultCreateResponse","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"}}}}
```
