> For the complete documentation index, see [llms.txt](https://documentation.ocsinventory-ng.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://documentation.ocsinventory-ng.org/open-api-reference/compliance.md).

# Compliance

## GET /compliance/eol-extended-support/

> This class will define the general view behavior for the framework\
> \
> Args:\
> &#x20;   viewsets (\[ModelViewSet])

```json
{"openapi":"3.0.3","info":{"title":"OCS Inventory Backend API References","version":"3.0.0"},"security":[{"knoxApiToken":[]}],"components":{"securitySchemes":{"knoxApiToken":{"type":"apiKey","in":"header","name":"Authorization","description":"Token-based authentication with required prefix \"Token\""}},"schemas":{"PaginatedCustomEOLExtendedSupportList":{"type":"object","required":["count","results"],"properties":{"count":{"type":"integer"},"next":{"type":"string","nullable":true,"format":"uri"},"previous":{"type":"string","nullable":true,"format":"uri"},"results":{"type":"array","items":{"$ref":"#/components/schemas/CustomEOLExtendedSupport"}}}},"CustomEOLExtendedSupport":{"type":"object","properties":{"id":{"type":"integer","readOnly":true},"product":{"type":"string","description":"endoflife.date product slug (e.g. ubuntu)","maxLength":100},"cycle":{"type":"string","description":"Version cycle (e.g. 22.04)","maxLength":50},"is_extended":{"type":"boolean","description":"Whether purchased extended support is active for this product/cycle"}},"required":["cycle","id","product"]}}},"paths":{"/compliance/eol-extended-support/":{"get":{"operationId":"compliance_eol_extended_support_list","description":"This class will define the general view behavior for the framework\n\nArgs:\n    viewsets ([ModelViewSet])","parameters":[{"in":"query","name":"cycle","schema":{"type":"string"}},{"in":"query","name":"format","schema":{"type":"string","enum":["json","xml"]}},{"name":"limit","required":false,"in":"query","description":"Number of results to return per page.","schema":{"type":"integer"}},{"name":"offset","required":false,"in":"query","description":"The initial index from which to return the results.","schema":{"type":"integer"}},{"name":"ordering","required":false,"in":"query","description":"Which field to use when ordering the results.","schema":{"type":"string"}},{"in":"query","name":"product","schema":{"type":"string"}},{"name":"search","required":false,"in":"query","description":"A search term.","schema":{"type":"string"}}],"tags":["compliance"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedCustomEOLExtendedSupportList"}},"application/xml":{"schema":{"$ref":"#/components/schemas/PaginatedCustomEOLExtendedSupportList"}}},"description":""}}}}}}
```

## POST /compliance/eol-extended-support/

> Handle post request, suitable for single and multi creation\
> \
> Args:\
> &#x20;   request (\[dict]): can be dict or list of dicts\
> \
> Returns:\
> &#x20;   \[type]: \[description]

```json
{"openapi":"3.0.3","info":{"title":"OCS Inventory Backend API References","version":"3.0.0"},"security":[{"knoxApiToken":[]}],"components":{"securitySchemes":{"knoxApiToken":{"type":"apiKey","in":"header","name":"Authorization","description":"Token-based authentication with required prefix \"Token\""}},"schemas":{"CustomEOLExtendedSupport":{"type":"object","properties":{"id":{"type":"integer","readOnly":true},"product":{"type":"string","description":"endoflife.date product slug (e.g. ubuntu)","maxLength":100},"cycle":{"type":"string","description":"Version cycle (e.g. 22.04)","maxLength":50},"is_extended":{"type":"boolean","description":"Whether purchased extended support is active for this product/cycle"}},"required":["cycle","id","product"]}}},"paths":{"/compliance/eol-extended-support/":{"post":{"operationId":"compliance_eol_extended_support_create","description":"Handle post request, suitable for single and multi creation\n\nArgs:\n    request ([dict]): can be dict or list of dicts\n\nReturns:\n    [type]: [description]","parameters":[{"in":"query","name":"format","schema":{"type":"string","enum":["json","xml"]}}],"tags":["compliance"],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/CustomEOLExtendedSupport"}},"multipart/form-data":{"schema":{"$ref":"#/components/schemas/CustomEOLExtendedSupport"}},"application/json":{"schema":{"$ref":"#/components/schemas/CustomEOLExtendedSupport"}},"application/xml":{"schema":{"$ref":"#/components/schemas/CustomEOLExtendedSupport"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomEOLExtendedSupport"}},"application/xml":{"schema":{"$ref":"#/components/schemas/CustomEOLExtendedSupport"}}},"description":""}}}}}}
```

## GET /compliance/eol-extended-support/{id}/

> This class will define the general view behavior for the framework\
> \
> Args:\
> &#x20;   viewsets (\[ModelViewSet])

```json
{"openapi":"3.0.3","info":{"title":"OCS Inventory Backend API References","version":"3.0.0"},"security":[{"knoxApiToken":[]}],"components":{"securitySchemes":{"knoxApiToken":{"type":"apiKey","in":"header","name":"Authorization","description":"Token-based authentication with required prefix \"Token\""}},"schemas":{"CustomEOLExtendedSupport":{"type":"object","properties":{"id":{"type":"integer","readOnly":true},"product":{"type":"string","description":"endoflife.date product slug (e.g. ubuntu)","maxLength":100},"cycle":{"type":"string","description":"Version cycle (e.g. 22.04)","maxLength":50},"is_extended":{"type":"boolean","description":"Whether purchased extended support is active for this product/cycle"}},"required":["cycle","id","product"]}}},"paths":{"/compliance/eol-extended-support/{id}/":{"get":{"operationId":"compliance_eol_extended_support_retrieve","description":"This class will define the general view behavior for the framework\n\nArgs:\n    viewsets ([ModelViewSet])","parameters":[{"in":"query","name":"format","schema":{"type":"string","enum":["json","xml"]}},{"in":"path","name":"id","schema":{"type":"integer"},"description":"A unique integer value identifying this custom eol extended support.","required":true}],"tags":["compliance"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomEOLExtendedSupport"}},"application/xml":{"schema":{"$ref":"#/components/schemas/CustomEOLExtendedSupport"}}},"description":""}}}}}}
```

## PUT /compliance/eol-extended-support/{id}/

> This class will define the general view behavior for the framework\
> \
> Args:\
> &#x20;   viewsets (\[ModelViewSet])

```json
{"openapi":"3.0.3","info":{"title":"OCS Inventory Backend API References","version":"3.0.0"},"security":[{"knoxApiToken":[]}],"components":{"securitySchemes":{"knoxApiToken":{"type":"apiKey","in":"header","name":"Authorization","description":"Token-based authentication with required prefix \"Token\""}},"schemas":{"CustomEOLExtendedSupport":{"type":"object","properties":{"id":{"type":"integer","readOnly":true},"product":{"type":"string","description":"endoflife.date product slug (e.g. ubuntu)","maxLength":100},"cycle":{"type":"string","description":"Version cycle (e.g. 22.04)","maxLength":50},"is_extended":{"type":"boolean","description":"Whether purchased extended support is active for this product/cycle"}},"required":["cycle","id","product"]}}},"paths":{"/compliance/eol-extended-support/{id}/":{"put":{"operationId":"compliance_eol_extended_support_update","description":"This class will define the general view behavior for the framework\n\nArgs:\n    viewsets ([ModelViewSet])","parameters":[{"in":"query","name":"format","schema":{"type":"string","enum":["json","xml"]}},{"in":"path","name":"id","schema":{"type":"integer"},"description":"A unique integer value identifying this custom eol extended support.","required":true}],"tags":["compliance"],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/CustomEOLExtendedSupport"}},"multipart/form-data":{"schema":{"$ref":"#/components/schemas/CustomEOLExtendedSupport"}},"application/json":{"schema":{"$ref":"#/components/schemas/CustomEOLExtendedSupport"}},"application/xml":{"schema":{"$ref":"#/components/schemas/CustomEOLExtendedSupport"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomEOLExtendedSupport"}},"application/xml":{"schema":{"$ref":"#/components/schemas/CustomEOLExtendedSupport"}}},"description":""}}}}}}
```

## DELETE /compliance/eol-extended-support/{id}/

> This class will define the general view behavior for the framework\
> \
> Args:\
> &#x20;   viewsets (\[ModelViewSet])

```json
{"openapi":"3.0.3","info":{"title":"OCS Inventory Backend API References","version":"3.0.0"},"security":[{"knoxApiToken":[]}],"components":{"securitySchemes":{"knoxApiToken":{"type":"apiKey","in":"header","name":"Authorization","description":"Token-based authentication with required prefix \"Token\""}}},"paths":{"/compliance/eol-extended-support/{id}/":{"delete":{"operationId":"compliance_eol_extended_support_destroy","description":"This class will define the general view behavior for the framework\n\nArgs:\n    viewsets ([ModelViewSet])","parameters":[{"in":"query","name":"format","schema":{"type":"string","enum":["json","xml"]}},{"in":"path","name":"id","schema":{"type":"integer"},"description":"A unique integer value identifying this custom eol extended support.","required":true}],"tags":["compliance"],"responses":{"204":{"description":"No response body"}}}}}}
```

## PATCH /compliance/eol-extended-support/{id}/

> This class will define the general view behavior for the framework\
> \
> Args:\
> &#x20;   viewsets (\[ModelViewSet])

```json
{"openapi":"3.0.3","info":{"title":"OCS Inventory Backend API References","version":"3.0.0"},"security":[{"knoxApiToken":[]}],"components":{"securitySchemes":{"knoxApiToken":{"type":"apiKey","in":"header","name":"Authorization","description":"Token-based authentication with required prefix \"Token\""}},"schemas":{"PatchedCustomEOLExtendedSupport":{"type":"object","properties":{"id":{"type":"integer","readOnly":true},"product":{"type":"string","description":"endoflife.date product slug (e.g. ubuntu)","maxLength":100},"cycle":{"type":"string","description":"Version cycle (e.g. 22.04)","maxLength":50},"is_extended":{"type":"boolean","description":"Whether purchased extended support is active for this product/cycle"}}},"CustomEOLExtendedSupport":{"type":"object","properties":{"id":{"type":"integer","readOnly":true},"product":{"type":"string","description":"endoflife.date product slug (e.g. ubuntu)","maxLength":100},"cycle":{"type":"string","description":"Version cycle (e.g. 22.04)","maxLength":50},"is_extended":{"type":"boolean","description":"Whether purchased extended support is active for this product/cycle"}},"required":["cycle","id","product"]}}},"paths":{"/compliance/eol-extended-support/{id}/":{"patch":{"operationId":"compliance_eol_extended_support_partial_update","description":"This class will define the general view behavior for the framework\n\nArgs:\n    viewsets ([ModelViewSet])","parameters":[{"in":"query","name":"format","schema":{"type":"string","enum":["json","xml"]}},{"in":"path","name":"id","schema":{"type":"integer"},"description":"A unique integer value identifying this custom eol extended support.","required":true}],"tags":["compliance"],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/PatchedCustomEOLExtendedSupport"}},"multipart/form-data":{"schema":{"$ref":"#/components/schemas/PatchedCustomEOLExtendedSupport"}},"application/json":{"schema":{"$ref":"#/components/schemas/PatchedCustomEOLExtendedSupport"}},"application/xml":{"schema":{"$ref":"#/components/schemas/PatchedCustomEOLExtendedSupport"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomEOLExtendedSupport"}},"application/xml":{"schema":{"$ref":"#/components/schemas/CustomEOLExtendedSupport"}}},"description":""}}}}}}
```

## GET /compliance/eol-status/

> Read-only viewset exposing per-asset EOL status.\
> \
> GET /compliance/eol-status/

```json
{"openapi":"3.0.3","info":{"title":"OCS Inventory Backend API References","version":"3.0.0"},"security":[{"knoxApiToken":[]}],"components":{"securitySchemes":{"knoxApiToken":{"type":"apiKey","in":"header","name":"Authorization","description":"Token-based authentication with required prefix \"Token\""}},"schemas":{"PaginatedAssetEOLStatusList":{"type":"object","required":["count","results"],"properties":{"count":{"type":"integer"},"next":{"type":"string","nullable":true,"format":"uri"},"previous":{"type":"string","nullable":true,"format":"uri"},"results":{"type":"array","items":{"$ref":"#/components/schemas/AssetEOLStatus"}}}},"AssetEOLStatus":{"type":"object","properties":{"id":{"type":"integer","readOnly":true},"asset":{"type":"integer","readOnly":true},"asset_name":{"type":"string","readOnly":true},"product":{"type":"string","readOnly":true,"nullable":true},"cycle":{"type":"string","readOnly":true,"nullable":true},"eol":{"type":"string","readOnly":true,"nullable":true},"is_eol":{"type":"boolean","readOnly":true},"support":{"type":"boolean","readOnly":true},"support_date":{"type":"string","readOnly":true,"nullable":true},"latest":{"type":"string","readOnly":true,"nullable":true},"fetched_at":{"type":"string","format":"date-time","readOnly":true}},"required":["asset","asset_name","cycle","eol","fetched_at","id","is_eol","latest","product","support","support_date"]}}},"paths":{"/compliance/eol-status/":{"get":{"operationId":"compliance_eol_status_list","description":"Read-only viewset exposing per-asset EOL status.\n\nGET /compliance/eol-status/","parameters":[{"in":"query","name":"asset","schema":{"type":"integer"}},{"in":"query","name":"format","schema":{"type":"string","enum":["json","xml"]}},{"in":"query","name":"is_eol","schema":{"type":"boolean"}},{"name":"limit","required":false,"in":"query","description":"Number of results to return per page.","schema":{"type":"integer"}},{"name":"offset","required":false,"in":"query","description":"The initial index from which to return the results.","schema":{"type":"integer"}},{"name":"ordering","required":false,"in":"query","description":"Which field to use when ordering the results.","schema":{"type":"string"}},{"in":"query","name":"product","schema":{"type":"string"}},{"in":"query","name":"product__isnull","schema":{"type":"boolean"}},{"name":"search","required":false,"in":"query","description":"A search term.","schema":{"type":"string"}},{"in":"query","name":"support","schema":{"type":"boolean"}}],"tags":["compliance"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedAssetEOLStatusList"}},"application/xml":{"schema":{"$ref":"#/components/schemas/PaginatedAssetEOLStatusList"}}},"description":""}}}}}}
```

## GET /compliance/eol-status/{id}/

> Read-only viewset exposing per-asset EOL status.\
> \
> GET /compliance/eol-status/

```json
{"openapi":"3.0.3","info":{"title":"OCS Inventory Backend API References","version":"3.0.0"},"security":[{"knoxApiToken":[]}],"components":{"securitySchemes":{"knoxApiToken":{"type":"apiKey","in":"header","name":"Authorization","description":"Token-based authentication with required prefix \"Token\""}},"schemas":{"AssetEOLStatus":{"type":"object","properties":{"id":{"type":"integer","readOnly":true},"asset":{"type":"integer","readOnly":true},"asset_name":{"type":"string","readOnly":true},"product":{"type":"string","readOnly":true,"nullable":true},"cycle":{"type":"string","readOnly":true,"nullable":true},"eol":{"type":"string","readOnly":true,"nullable":true},"is_eol":{"type":"boolean","readOnly":true},"support":{"type":"boolean","readOnly":true},"support_date":{"type":"string","readOnly":true,"nullable":true},"latest":{"type":"string","readOnly":true,"nullable":true},"fetched_at":{"type":"string","format":"date-time","readOnly":true}},"required":["asset","asset_name","cycle","eol","fetched_at","id","is_eol","latest","product","support","support_date"]}}},"paths":{"/compliance/eol-status/{id}/":{"get":{"operationId":"compliance_eol_status_retrieve","description":"Read-only viewset exposing per-asset EOL status.\n\nGET /compliance/eol-status/","parameters":[{"in":"query","name":"format","schema":{"type":"string","enum":["json","xml"]}},{"in":"path","name":"id","schema":{"type":"integer"},"description":"A unique integer value identifying this asset eol status.","required":true}],"tags":["compliance"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetEOLStatus"}},"application/xml":{"schema":{"$ref":"#/components/schemas/AssetEOLStatus"}}},"description":""}}}}}}
```

## GET /compliance/eol-status/eol-summary/

> Return EOL status for a set of assets.\
> \
> GET /compliance/eol-status/eol-summary/?asset\_\_in=1,2,3

```json
{"openapi":"3.0.3","info":{"title":"OCS Inventory Backend API References","version":"3.0.0"},"security":[{"knoxApiToken":[]}],"components":{"securitySchemes":{"knoxApiToken":{"type":"apiKey","in":"header","name":"Authorization","description":"Token-based authentication with required prefix \"Token\""}},"schemas":{"AssetEOLStatus":{"type":"object","properties":{"id":{"type":"integer","readOnly":true},"asset":{"type":"integer","readOnly":true},"asset_name":{"type":"string","readOnly":true},"product":{"type":"string","readOnly":true,"nullable":true},"cycle":{"type":"string","readOnly":true,"nullable":true},"eol":{"type":"string","readOnly":true,"nullable":true},"is_eol":{"type":"boolean","readOnly":true},"support":{"type":"boolean","readOnly":true},"support_date":{"type":"string","readOnly":true,"nullable":true},"latest":{"type":"string","readOnly":true,"nullable":true},"fetched_at":{"type":"string","format":"date-time","readOnly":true}},"required":["asset","asset_name","cycle","eol","fetched_at","id","is_eol","latest","product","support","support_date"]}}},"paths":{"/compliance/eol-status/eol-summary/":{"get":{"operationId":"compliance_eol_status_eol_summary_retrieve","description":"Return EOL status for a set of assets.\n\nGET /compliance/eol-status/eol-summary/?asset__in=1,2,3","parameters":[{"in":"query","name":"format","schema":{"type":"string","enum":["json","xml"]}}],"tags":["compliance"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetEOLStatus"}},"application/xml":{"schema":{"$ref":"#/components/schemas/AssetEOLStatus"}}},"description":""}}}}}}
```

## GET /compliance/results/

> This class will define the general view behavior for the framework\
> \
> Args:\
> &#x20;   viewsets (\[ModelViewSet])

```json
{"openapi":"3.0.3","info":{"title":"OCS Inventory Backend API References","version":"3.0.0"},"security":[{"knoxApiToken":[]}],"components":{"securitySchemes":{"knoxApiToken":{"type":"apiKey","in":"header","name":"Authorization","description":"Token-based authentication with required prefix \"Token\""}},"schemas":{"PaginatedComplianceResultList":{"type":"object","required":["count","results"],"properties":{"count":{"type":"integer"},"next":{"type":"string","nullable":true,"format":"uri"},"previous":{"type":"string","nullable":true,"format":"uri"},"results":{"type":"array","items":{"$ref":"#/components/schemas/ComplianceResult"}}}},"ComplianceResult":{"type":"object","description":"Mixin to dynamically expand nested fields based on the \"expand\" query parameter.\n\nTo use, add an `expandable_fields` dictionary in your serializer's Meta:\n\n    expandable_fields = {\n        \"some_relation\": SomeNestedSerializer,\n        \"other_relation\": OtherNestedSerializer,\n    }\n\nThe mixin will:\n  - Expand all fields and childs if expand=\"*\"\n  - Expand fields provided in a comma separated list (expand=field1,field2)\n  - or return the pks for the relation","properties":{"id":{"type":"integer","readOnly":true},"asset":{"type":"integer"},"asset_name":{"type":"string","readOnly":true},"rule":{"type":"integer"},"status":{"$ref":"#/components/schemas/ComplianceResultStatusEnum"},"detail":{"nullable":true},"evaluated_at":{"type":"string","format":"date-time","readOnly":true}},"required":["asset","asset_name","evaluated_at","id","rule"]},"ComplianceResultStatusEnum":{"enum":["compliant","non_compliant","unknown"],"type":"string","description":"* `compliant` - Compliant\n* `non_compliant` - Non-compliant\n* `unknown` - Unknown"}}},"paths":{"/compliance/results/":{"get":{"operationId":"compliance_results_list","description":"This class will define the general view behavior for the framework\n\nArgs:\n    viewsets ([ModelViewSet])","parameters":[{"in":"query","name":"asset","schema":{"type":"integer"}},{"in":"query","name":"format","schema":{"type":"string","enum":["json","xml"]}},{"name":"limit","required":false,"in":"query","description":"Number of results to return per page.","schema":{"type":"integer"}},{"name":"offset","required":false,"in":"query","description":"The initial index from which to return the results.","schema":{"type":"integer"}},{"name":"ordering","required":false,"in":"query","description":"Which field to use when ordering the results.","schema":{"type":"string"}},{"in":"query","name":"rule","schema":{"type":"integer"}},{"in":"query","name":"rule__severity","schema":{"type":"string","enum":["critical","high","low","medium"]},"description":"* `critical` - Critical\n* `high` - High\n* `medium` - Medium\n* `low` - Low"},{"name":"search","required":false,"in":"query","description":"A search term.","schema":{"type":"string"}},{"in":"query","name":"status","schema":{"type":"string","enum":["compliant","non_compliant","unknown"]},"description":"* `compliant` - Compliant\n* `non_compliant` - Non-compliant\n* `unknown` - Unknown"}],"tags":["compliance"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedComplianceResultList"}},"application/xml":{"schema":{"$ref":"#/components/schemas/PaginatedComplianceResultList"}}},"description":""}}}}}}
```

## POST /compliance/results/

> Handle post request, suitable for single and multi creation\
> \
> Args:\
> &#x20;   request (\[dict]): can be dict or list of dicts\
> \
> Returns:\
> &#x20;   \[type]: \[description]

```json
{"openapi":"3.0.3","info":{"title":"OCS Inventory Backend API References","version":"3.0.0"},"security":[{"knoxApiToken":[]}],"components":{"securitySchemes":{"knoxApiToken":{"type":"apiKey","in":"header","name":"Authorization","description":"Token-based authentication with required prefix \"Token\""}},"schemas":{"ComplianceResult":{"type":"object","description":"Mixin to dynamically expand nested fields based on the \"expand\" query parameter.\n\nTo use, add an `expandable_fields` dictionary in your serializer's Meta:\n\n    expandable_fields = {\n        \"some_relation\": SomeNestedSerializer,\n        \"other_relation\": OtherNestedSerializer,\n    }\n\nThe mixin will:\n  - Expand all fields and childs if expand=\"*\"\n  - Expand fields provided in a comma separated list (expand=field1,field2)\n  - or return the pks for the relation","properties":{"id":{"type":"integer","readOnly":true},"asset":{"type":"integer"},"asset_name":{"type":"string","readOnly":true},"rule":{"type":"integer"},"status":{"$ref":"#/components/schemas/ComplianceResultStatusEnum"},"detail":{"nullable":true},"evaluated_at":{"type":"string","format":"date-time","readOnly":true}},"required":["asset","asset_name","evaluated_at","id","rule"]},"ComplianceResultStatusEnum":{"enum":["compliant","non_compliant","unknown"],"type":"string","description":"* `compliant` - Compliant\n* `non_compliant` - Non-compliant\n* `unknown` - Unknown"}}},"paths":{"/compliance/results/":{"post":{"operationId":"compliance_results_create","description":"Handle post request, suitable for single and multi creation\n\nArgs:\n    request ([dict]): can be dict or list of dicts\n\nReturns:\n    [type]: [description]","parameters":[{"in":"query","name":"format","schema":{"type":"string","enum":["json","xml"]}}],"tags":["compliance"],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/ComplianceResult"}},"multipart/form-data":{"schema":{"$ref":"#/components/schemas/ComplianceResult"}},"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceResult"}},"application/xml":{"schema":{"$ref":"#/components/schemas/ComplianceResult"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceResult"}},"application/xml":{"schema":{"$ref":"#/components/schemas/ComplianceResult"}}},"description":""}}}}}}
```

## GET /compliance/results/{id}/

> This class will define the general view behavior for the framework\
> \
> Args:\
> &#x20;   viewsets (\[ModelViewSet])

```json
{"openapi":"3.0.3","info":{"title":"OCS Inventory Backend API References","version":"3.0.0"},"security":[{"knoxApiToken":[]}],"components":{"securitySchemes":{"knoxApiToken":{"type":"apiKey","in":"header","name":"Authorization","description":"Token-based authentication with required prefix \"Token\""}},"schemas":{"ComplianceResult":{"type":"object","description":"Mixin to dynamically expand nested fields based on the \"expand\" query parameter.\n\nTo use, add an `expandable_fields` dictionary in your serializer's Meta:\n\n    expandable_fields = {\n        \"some_relation\": SomeNestedSerializer,\n        \"other_relation\": OtherNestedSerializer,\n    }\n\nThe mixin will:\n  - Expand all fields and childs if expand=\"*\"\n  - Expand fields provided in a comma separated list (expand=field1,field2)\n  - or return the pks for the relation","properties":{"id":{"type":"integer","readOnly":true},"asset":{"type":"integer"},"asset_name":{"type":"string","readOnly":true},"rule":{"type":"integer"},"status":{"$ref":"#/components/schemas/ComplianceResultStatusEnum"},"detail":{"nullable":true},"evaluated_at":{"type":"string","format":"date-time","readOnly":true}},"required":["asset","asset_name","evaluated_at","id","rule"]},"ComplianceResultStatusEnum":{"enum":["compliant","non_compliant","unknown"],"type":"string","description":"* `compliant` - Compliant\n* `non_compliant` - Non-compliant\n* `unknown` - Unknown"}}},"paths":{"/compliance/results/{id}/":{"get":{"operationId":"compliance_results_retrieve","description":"This class will define the general view behavior for the framework\n\nArgs:\n    viewsets ([ModelViewSet])","parameters":[{"in":"query","name":"format","schema":{"type":"string","enum":["json","xml"]}},{"in":"path","name":"id","schema":{"type":"integer"},"description":"A unique integer value identifying this compliance result.","required":true}],"tags":["compliance"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceResult"}},"application/xml":{"schema":{"$ref":"#/components/schemas/ComplianceResult"}}},"description":""}}}}}}
```

## PUT /compliance/results/{id}/

> This class will define the general view behavior for the framework\
> \
> Args:\
> &#x20;   viewsets (\[ModelViewSet])

```json
{"openapi":"3.0.3","info":{"title":"OCS Inventory Backend API References","version":"3.0.0"},"security":[{"knoxApiToken":[]}],"components":{"securitySchemes":{"knoxApiToken":{"type":"apiKey","in":"header","name":"Authorization","description":"Token-based authentication with required prefix \"Token\""}},"schemas":{"ComplianceResult":{"type":"object","description":"Mixin to dynamically expand nested fields based on the \"expand\" query parameter.\n\nTo use, add an `expandable_fields` dictionary in your serializer's Meta:\n\n    expandable_fields = {\n        \"some_relation\": SomeNestedSerializer,\n        \"other_relation\": OtherNestedSerializer,\n    }\n\nThe mixin will:\n  - Expand all fields and childs if expand=\"*\"\n  - Expand fields provided in a comma separated list (expand=field1,field2)\n  - or return the pks for the relation","properties":{"id":{"type":"integer","readOnly":true},"asset":{"type":"integer"},"asset_name":{"type":"string","readOnly":true},"rule":{"type":"integer"},"status":{"$ref":"#/components/schemas/ComplianceResultStatusEnum"},"detail":{"nullable":true},"evaluated_at":{"type":"string","format":"date-time","readOnly":true}},"required":["asset","asset_name","evaluated_at","id","rule"]},"ComplianceResultStatusEnum":{"enum":["compliant","non_compliant","unknown"],"type":"string","description":"* `compliant` - Compliant\n* `non_compliant` - Non-compliant\n* `unknown` - Unknown"}}},"paths":{"/compliance/results/{id}/":{"put":{"operationId":"compliance_results_update","description":"This class will define the general view behavior for the framework\n\nArgs:\n    viewsets ([ModelViewSet])","parameters":[{"in":"query","name":"format","schema":{"type":"string","enum":["json","xml"]}},{"in":"path","name":"id","schema":{"type":"integer"},"description":"A unique integer value identifying this compliance result.","required":true}],"tags":["compliance"],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/ComplianceResult"}},"multipart/form-data":{"schema":{"$ref":"#/components/schemas/ComplianceResult"}},"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceResult"}},"application/xml":{"schema":{"$ref":"#/components/schemas/ComplianceResult"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceResult"}},"application/xml":{"schema":{"$ref":"#/components/schemas/ComplianceResult"}}},"description":""}}}}}}
```

## DELETE /compliance/results/{id}/

> This class will define the general view behavior for the framework\
> \
> Args:\
> &#x20;   viewsets (\[ModelViewSet])

```json
{"openapi":"3.0.3","info":{"title":"OCS Inventory Backend API References","version":"3.0.0"},"security":[{"knoxApiToken":[]}],"components":{"securitySchemes":{"knoxApiToken":{"type":"apiKey","in":"header","name":"Authorization","description":"Token-based authentication with required prefix \"Token\""}}},"paths":{"/compliance/results/{id}/":{"delete":{"operationId":"compliance_results_destroy","description":"This class will define the general view behavior for the framework\n\nArgs:\n    viewsets ([ModelViewSet])","parameters":[{"in":"query","name":"format","schema":{"type":"string","enum":["json","xml"]}},{"in":"path","name":"id","schema":{"type":"integer"},"description":"A unique integer value identifying this compliance result.","required":true}],"tags":["compliance"],"responses":{"204":{"description":"No response body"}}}}}}
```

## PATCH /compliance/results/{id}/

> This class will define the general view behavior for the framework\
> \
> Args:\
> &#x20;   viewsets (\[ModelViewSet])

```json
{"openapi":"3.0.3","info":{"title":"OCS Inventory Backend API References","version":"3.0.0"},"security":[{"knoxApiToken":[]}],"components":{"securitySchemes":{"knoxApiToken":{"type":"apiKey","in":"header","name":"Authorization","description":"Token-based authentication with required prefix \"Token\""}},"schemas":{"PatchedComplianceResult":{"type":"object","description":"Mixin to dynamically expand nested fields based on the \"expand\" query parameter.\n\nTo use, add an `expandable_fields` dictionary in your serializer's Meta:\n\n    expandable_fields = {\n        \"some_relation\": SomeNestedSerializer,\n        \"other_relation\": OtherNestedSerializer,\n    }\n\nThe mixin will:\n  - Expand all fields and childs if expand=\"*\"\n  - Expand fields provided in a comma separated list (expand=field1,field2)\n  - or return the pks for the relation","properties":{"id":{"type":"integer","readOnly":true},"asset":{"type":"integer"},"asset_name":{"type":"string","readOnly":true},"rule":{"type":"integer"},"status":{"$ref":"#/components/schemas/ComplianceResultStatusEnum"},"detail":{"nullable":true},"evaluated_at":{"type":"string","format":"date-time","readOnly":true}}},"ComplianceResultStatusEnum":{"enum":["compliant","non_compliant","unknown"],"type":"string","description":"* `compliant` - Compliant\n* `non_compliant` - Non-compliant\n* `unknown` - Unknown"},"ComplianceResult":{"type":"object","description":"Mixin to dynamically expand nested fields based on the \"expand\" query parameter.\n\nTo use, add an `expandable_fields` dictionary in your serializer's Meta:\n\n    expandable_fields = {\n        \"some_relation\": SomeNestedSerializer,\n        \"other_relation\": OtherNestedSerializer,\n    }\n\nThe mixin will:\n  - Expand all fields and childs if expand=\"*\"\n  - Expand fields provided in a comma separated list (expand=field1,field2)\n  - or return the pks for the relation","properties":{"id":{"type":"integer","readOnly":true},"asset":{"type":"integer"},"asset_name":{"type":"string","readOnly":true},"rule":{"type":"integer"},"status":{"$ref":"#/components/schemas/ComplianceResultStatusEnum"},"detail":{"nullable":true},"evaluated_at":{"type":"string","format":"date-time","readOnly":true}},"required":["asset","asset_name","evaluated_at","id","rule"]}}},"paths":{"/compliance/results/{id}/":{"patch":{"operationId":"compliance_results_partial_update","description":"This class will define the general view behavior for the framework\n\nArgs:\n    viewsets ([ModelViewSet])","parameters":[{"in":"query","name":"format","schema":{"type":"string","enum":["json","xml"]}},{"in":"path","name":"id","schema":{"type":"integer"},"description":"A unique integer value identifying this compliance result.","required":true}],"tags":["compliance"],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/PatchedComplianceResult"}},"multipart/form-data":{"schema":{"$ref":"#/components/schemas/PatchedComplianceResult"}},"application/json":{"schema":{"$ref":"#/components/schemas/PatchedComplianceResult"}},"application/xml":{"schema":{"$ref":"#/components/schemas/PatchedComplianceResult"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceResult"}},"application/xml":{"schema":{"$ref":"#/components/schemas/ComplianceResult"}}},"description":""}}}}}}
```

## GET /compliance/results/asset-summary/

> Return aggregated compliance status per asset.\
> \
> GET /compliance/results/asset-summary/?asset\_\_in=1,2,3\
> \
> Returns a list of {asset, global\_status, counts} for each asset\
> that has at least one compliance result. Assets with no results\
> are not included (the frontend treats them as not\_applicable).

```json
{"openapi":"3.0.3","info":{"title":"OCS Inventory Backend API References","version":"3.0.0"},"security":[{"knoxApiToken":[]}],"components":{"securitySchemes":{"knoxApiToken":{"type":"apiKey","in":"header","name":"Authorization","description":"Token-based authentication with required prefix \"Token\""}},"schemas":{"ComplianceResult":{"type":"object","description":"Mixin to dynamically expand nested fields based on the \"expand\" query parameter.\n\nTo use, add an `expandable_fields` dictionary in your serializer's Meta:\n\n    expandable_fields = {\n        \"some_relation\": SomeNestedSerializer,\n        \"other_relation\": OtherNestedSerializer,\n    }\n\nThe mixin will:\n  - Expand all fields and childs if expand=\"*\"\n  - Expand fields provided in a comma separated list (expand=field1,field2)\n  - or return the pks for the relation","properties":{"id":{"type":"integer","readOnly":true},"asset":{"type":"integer"},"asset_name":{"type":"string","readOnly":true},"rule":{"type":"integer"},"status":{"$ref":"#/components/schemas/ComplianceResultStatusEnum"},"detail":{"nullable":true},"evaluated_at":{"type":"string","format":"date-time","readOnly":true}},"required":["asset","asset_name","evaluated_at","id","rule"]},"ComplianceResultStatusEnum":{"enum":["compliant","non_compliant","unknown"],"type":"string","description":"* `compliant` - Compliant\n* `non_compliant` - Non-compliant\n* `unknown` - Unknown"}}},"paths":{"/compliance/results/asset-summary/":{"get":{"operationId":"compliance_results_asset_summary_retrieve","description":"Return aggregated compliance status per asset.\n\nGET /compliance/results/asset-summary/?asset__in=1,2,3\n\nReturns a list of {asset, global_status, counts} for each asset\nthat has at least one compliance result. Assets with no results\nare not included (the frontend treats them as not_applicable).","parameters":[{"in":"query","name":"format","schema":{"type":"string","enum":["json","xml"]}}],"tags":["compliance"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceResult"}},"application/xml":{"schema":{"$ref":"#/components/schemas/ComplianceResult"}}},"description":""}}}}}}
```

## GET /compliance/results/rule-summary/

> Return, for each compliance rule, the number of distinct assets that\
> are non compliant with it. Rules with no impacted asset are included\
> (impacted = 0). Mirrors asset-summary but aggregated per rule.

```json
{"openapi":"3.0.3","info":{"title":"OCS Inventory Backend API References","version":"3.0.0"},"security":[{"knoxApiToken":[]}],"components":{"securitySchemes":{"knoxApiToken":{"type":"apiKey","in":"header","name":"Authorization","description":"Token-based authentication with required prefix \"Token\""}},"schemas":{"ComplianceResult":{"type":"object","description":"Mixin to dynamically expand nested fields based on the \"expand\" query parameter.\n\nTo use, add an `expandable_fields` dictionary in your serializer's Meta:\n\n    expandable_fields = {\n        \"some_relation\": SomeNestedSerializer,\n        \"other_relation\": OtherNestedSerializer,\n    }\n\nThe mixin will:\n  - Expand all fields and childs if expand=\"*\"\n  - Expand fields provided in a comma separated list (expand=field1,field2)\n  - or return the pks for the relation","properties":{"id":{"type":"integer","readOnly":true},"asset":{"type":"integer"},"asset_name":{"type":"string","readOnly":true},"rule":{"type":"integer"},"status":{"$ref":"#/components/schemas/ComplianceResultStatusEnum"},"detail":{"nullable":true},"evaluated_at":{"type":"string","format":"date-time","readOnly":true}},"required":["asset","asset_name","evaluated_at","id","rule"]},"ComplianceResultStatusEnum":{"enum":["compliant","non_compliant","unknown"],"type":"string","description":"* `compliant` - Compliant\n* `non_compliant` - Non-compliant\n* `unknown` - Unknown"}}},"paths":{"/compliance/results/rule-summary/":{"get":{"operationId":"compliance_results_rule_summary_retrieve","description":"Return, for each compliance rule, the number of distinct assets that\nare non compliant with it. Rules with no impacted asset are included\n(impacted = 0). Mirrors asset-summary but aggregated per rule.","parameters":[{"in":"query","name":"format","schema":{"type":"string","enum":["json","xml"]}}],"tags":["compliance"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceResult"}},"application/xml":{"schema":{"$ref":"#/components/schemas/ComplianceResult"}}},"description":""}}}}}}
```

## GET /compliance/rules/

> This class will define the general view behavior for the framework\
> \
> Args:\
> &#x20;   viewsets (\[ModelViewSet])

```json
{"openapi":"3.0.3","info":{"title":"OCS Inventory Backend API References","version":"3.0.0"},"security":[{"knoxApiToken":[]}],"components":{"securitySchemes":{"knoxApiToken":{"type":"apiKey","in":"header","name":"Authorization","description":"Token-based authentication with required prefix \"Token\""}},"schemas":{"PaginatedComplianceRuleList":{"type":"object","required":["count","results"],"properties":{"count":{"type":"integer"},"next":{"type":"string","nullable":true,"format":"uri"},"previous":{"type":"string","nullable":true,"format":"uri"},"results":{"type":"array","items":{"$ref":"#/components/schemas/ComplianceRule"}}}},"ComplianceRule":{"type":"object","properties":{"id":{"type":"integer","readOnly":true},"name":{"type":"string","maxLength":255},"description":{"type":"string","nullable":true,"maxLength":255},"type":{"type":"string","maxLength":50},"severity":{"$ref":"#/components/schemas/SeverityEnum"},"logic":{},"enabled":{"type":"boolean"},"created_at":{"type":"string","format":"date-time","readOnly":true},"updated_at":{"type":"string","format":"date-time","readOnly":true}},"required":["created_at","id","logic","name","type","updated_at"]},"SeverityEnum":{"enum":["critical","high","medium","low"],"type":"string","description":"* `critical` - Critical\n* `high` - High\n* `medium` - Medium\n* `low` - Low"}}},"paths":{"/compliance/rules/":{"get":{"operationId":"compliance_rules_list","description":"This class will define the general view behavior for the framework\n\nArgs:\n    viewsets ([ModelViewSet])","parameters":[{"in":"query","name":"enabled","schema":{"type":"boolean"}},{"in":"query","name":"format","schema":{"type":"string","enum":["json","xml"]}},{"name":"limit","required":false,"in":"query","description":"Number of results to return per page.","schema":{"type":"integer"}},{"name":"offset","required":false,"in":"query","description":"The initial index from which to return the results.","schema":{"type":"integer"}},{"name":"ordering","required":false,"in":"query","description":"Which field to use when ordering the results.","schema":{"type":"string"}},{"name":"search","required":false,"in":"query","description":"A search term.","schema":{"type":"string"}},{"in":"query","name":"severity","schema":{"type":"string","enum":["critical","high","low","medium"]},"description":"* `critical` - Critical\n* `high` - High\n* `medium` - Medium\n* `low` - Low"},{"in":"query","name":"type","schema":{"type":"string"}}],"tags":["compliance"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedComplianceRuleList"}},"application/xml":{"schema":{"$ref":"#/components/schemas/PaginatedComplianceRuleList"}}},"description":""}}}}}}
```

## POST /compliance/rules/

> Handle post request, suitable for single and multi creation\
> \
> Args:\
> &#x20;   request (\[dict]): can be dict or list of dicts\
> \
> Returns:\
> &#x20;   \[type]: \[description]

```json
{"openapi":"3.0.3","info":{"title":"OCS Inventory Backend API References","version":"3.0.0"},"security":[{"knoxApiToken":[]}],"components":{"securitySchemes":{"knoxApiToken":{"type":"apiKey","in":"header","name":"Authorization","description":"Token-based authentication with required prefix \"Token\""}},"schemas":{"ComplianceRule":{"type":"object","properties":{"id":{"type":"integer","readOnly":true},"name":{"type":"string","maxLength":255},"description":{"type":"string","nullable":true,"maxLength":255},"type":{"type":"string","maxLength":50},"severity":{"$ref":"#/components/schemas/SeverityEnum"},"logic":{},"enabled":{"type":"boolean"},"created_at":{"type":"string","format":"date-time","readOnly":true},"updated_at":{"type":"string","format":"date-time","readOnly":true}},"required":["created_at","id","logic","name","type","updated_at"]},"SeverityEnum":{"enum":["critical","high","medium","low"],"type":"string","description":"* `critical` - Critical\n* `high` - High\n* `medium` - Medium\n* `low` - Low"}}},"paths":{"/compliance/rules/":{"post":{"operationId":"compliance_rules_create","description":"Handle post request, suitable for single and multi creation\n\nArgs:\n    request ([dict]): can be dict or list of dicts\n\nReturns:\n    [type]: [description]","parameters":[{"in":"query","name":"format","schema":{"type":"string","enum":["json","xml"]}}],"tags":["compliance"],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/ComplianceRule"}},"multipart/form-data":{"schema":{"$ref":"#/components/schemas/ComplianceRule"}},"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceRule"}},"application/xml":{"schema":{"$ref":"#/components/schemas/ComplianceRule"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceRule"}},"application/xml":{"schema":{"$ref":"#/components/schemas/ComplianceRule"}}},"description":""}}}}}}
```

## GET /compliance/rules/{id}/

> This class will define the general view behavior for the framework\
> \
> Args:\
> &#x20;   viewsets (\[ModelViewSet])

```json
{"openapi":"3.0.3","info":{"title":"OCS Inventory Backend API References","version":"3.0.0"},"security":[{"knoxApiToken":[]}],"components":{"securitySchemes":{"knoxApiToken":{"type":"apiKey","in":"header","name":"Authorization","description":"Token-based authentication with required prefix \"Token\""}},"schemas":{"ComplianceRule":{"type":"object","properties":{"id":{"type":"integer","readOnly":true},"name":{"type":"string","maxLength":255},"description":{"type":"string","nullable":true,"maxLength":255},"type":{"type":"string","maxLength":50},"severity":{"$ref":"#/components/schemas/SeverityEnum"},"logic":{},"enabled":{"type":"boolean"},"created_at":{"type":"string","format":"date-time","readOnly":true},"updated_at":{"type":"string","format":"date-time","readOnly":true}},"required":["created_at","id","logic","name","type","updated_at"]},"SeverityEnum":{"enum":["critical","high","medium","low"],"type":"string","description":"* `critical` - Critical\n* `high` - High\n* `medium` - Medium\n* `low` - Low"}}},"paths":{"/compliance/rules/{id}/":{"get":{"operationId":"compliance_rules_retrieve","description":"This class will define the general view behavior for the framework\n\nArgs:\n    viewsets ([ModelViewSet])","parameters":[{"in":"query","name":"format","schema":{"type":"string","enum":["json","xml"]}},{"in":"path","name":"id","schema":{"type":"integer"},"description":"A unique integer value identifying this compliance rule.","required":true}],"tags":["compliance"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceRule"}},"application/xml":{"schema":{"$ref":"#/components/schemas/ComplianceRule"}}},"description":""}}}}}}
```

## PUT /compliance/rules/{id}/

> This class will define the general view behavior for the framework\
> \
> Args:\
> &#x20;   viewsets (\[ModelViewSet])

```json
{"openapi":"3.0.3","info":{"title":"OCS Inventory Backend API References","version":"3.0.0"},"security":[{"knoxApiToken":[]}],"components":{"securitySchemes":{"knoxApiToken":{"type":"apiKey","in":"header","name":"Authorization","description":"Token-based authentication with required prefix \"Token\""}},"schemas":{"ComplianceRule":{"type":"object","properties":{"id":{"type":"integer","readOnly":true},"name":{"type":"string","maxLength":255},"description":{"type":"string","nullable":true,"maxLength":255},"type":{"type":"string","maxLength":50},"severity":{"$ref":"#/components/schemas/SeverityEnum"},"logic":{},"enabled":{"type":"boolean"},"created_at":{"type":"string","format":"date-time","readOnly":true},"updated_at":{"type":"string","format":"date-time","readOnly":true}},"required":["created_at","id","logic","name","type","updated_at"]},"SeverityEnum":{"enum":["critical","high","medium","low"],"type":"string","description":"* `critical` - Critical\n* `high` - High\n* `medium` - Medium\n* `low` - Low"}}},"paths":{"/compliance/rules/{id}/":{"put":{"operationId":"compliance_rules_update","description":"This class will define the general view behavior for the framework\n\nArgs:\n    viewsets ([ModelViewSet])","parameters":[{"in":"query","name":"format","schema":{"type":"string","enum":["json","xml"]}},{"in":"path","name":"id","schema":{"type":"integer"},"description":"A unique integer value identifying this compliance rule.","required":true}],"tags":["compliance"],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/ComplianceRule"}},"multipart/form-data":{"schema":{"$ref":"#/components/schemas/ComplianceRule"}},"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceRule"}},"application/xml":{"schema":{"$ref":"#/components/schemas/ComplianceRule"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceRule"}},"application/xml":{"schema":{"$ref":"#/components/schemas/ComplianceRule"}}},"description":""}}}}}}
```

## DELETE /compliance/rules/{id}/

> This class will define the general view behavior for the framework\
> \
> Args:\
> &#x20;   viewsets (\[ModelViewSet])

```json
{"openapi":"3.0.3","info":{"title":"OCS Inventory Backend API References","version":"3.0.0"},"security":[{"knoxApiToken":[]}],"components":{"securitySchemes":{"knoxApiToken":{"type":"apiKey","in":"header","name":"Authorization","description":"Token-based authentication with required prefix \"Token\""}}},"paths":{"/compliance/rules/{id}/":{"delete":{"operationId":"compliance_rules_destroy","description":"This class will define the general view behavior for the framework\n\nArgs:\n    viewsets ([ModelViewSet])","parameters":[{"in":"query","name":"format","schema":{"type":"string","enum":["json","xml"]}},{"in":"path","name":"id","schema":{"type":"integer"},"description":"A unique integer value identifying this compliance rule.","required":true}],"tags":["compliance"],"responses":{"204":{"description":"No response body"}}}}}}
```

## PATCH /compliance/rules/{id}/

> This class will define the general view behavior for the framework\
> \
> Args:\
> &#x20;   viewsets (\[ModelViewSet])

```json
{"openapi":"3.0.3","info":{"title":"OCS Inventory Backend API References","version":"3.0.0"},"security":[{"knoxApiToken":[]}],"components":{"securitySchemes":{"knoxApiToken":{"type":"apiKey","in":"header","name":"Authorization","description":"Token-based authentication with required prefix \"Token\""}},"schemas":{"PatchedComplianceRule":{"type":"object","properties":{"id":{"type":"integer","readOnly":true},"name":{"type":"string","maxLength":255},"description":{"type":"string","nullable":true,"maxLength":255},"type":{"type":"string","maxLength":50},"severity":{"$ref":"#/components/schemas/SeverityEnum"},"logic":{},"enabled":{"type":"boolean"},"created_at":{"type":"string","format":"date-time","readOnly":true},"updated_at":{"type":"string","format":"date-time","readOnly":true}}},"SeverityEnum":{"enum":["critical","high","medium","low"],"type":"string","description":"* `critical` - Critical\n* `high` - High\n* `medium` - Medium\n* `low` - Low"},"ComplianceRule":{"type":"object","properties":{"id":{"type":"integer","readOnly":true},"name":{"type":"string","maxLength":255},"description":{"type":"string","nullable":true,"maxLength":255},"type":{"type":"string","maxLength":50},"severity":{"$ref":"#/components/schemas/SeverityEnum"},"logic":{},"enabled":{"type":"boolean"},"created_at":{"type":"string","format":"date-time","readOnly":true},"updated_at":{"type":"string","format":"date-time","readOnly":true}},"required":["created_at","id","logic","name","type","updated_at"]}}},"paths":{"/compliance/rules/{id}/":{"patch":{"operationId":"compliance_rules_partial_update","description":"This class will define the general view behavior for the framework\n\nArgs:\n    viewsets ([ModelViewSet])","parameters":[{"in":"query","name":"format","schema":{"type":"string","enum":["json","xml"]}},{"in":"path","name":"id","schema":{"type":"integer"},"description":"A unique integer value identifying this compliance rule.","required":true}],"tags":["compliance"],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/PatchedComplianceRule"}},"multipart/form-data":{"schema":{"$ref":"#/components/schemas/PatchedComplianceRule"}},"application/json":{"schema":{"$ref":"#/components/schemas/PatchedComplianceRule"}},"application/xml":{"schema":{"$ref":"#/components/schemas/PatchedComplianceRule"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceRule"}},"application/xml":{"schema":{"$ref":"#/components/schemas/ComplianceRule"}}},"description":""}}}}}}
```

## GET /compliance/rules/context-fields/

> Expose the compliance rule context schema for the rule editor.\
> \
> Mirrors automation's TriggerViewSet: returns the extra (non-model)\
> context fields available to compliance rules — currently the software\
> group — so the frontend builds the field list from the backend instead\
> of hard-coding it.

```json
{"openapi":"3.0.3","info":{"title":"OCS Inventory Backend API References","version":"3.0.0"},"security":[{"knoxApiToken":[]}],"components":{"securitySchemes":{"knoxApiToken":{"type":"apiKey","in":"header","name":"Authorization","description":"Token-based authentication with required prefix \"Token\""}},"schemas":{"ComplianceRule":{"type":"object","properties":{"id":{"type":"integer","readOnly":true},"name":{"type":"string","maxLength":255},"description":{"type":"string","nullable":true,"maxLength":255},"type":{"type":"string","maxLength":50},"severity":{"$ref":"#/components/schemas/SeverityEnum"},"logic":{},"enabled":{"type":"boolean"},"created_at":{"type":"string","format":"date-time","readOnly":true},"updated_at":{"type":"string","format":"date-time","readOnly":true}},"required":["created_at","id","logic","name","type","updated_at"]},"SeverityEnum":{"enum":["critical","high","medium","low"],"type":"string","description":"* `critical` - Critical\n* `high` - High\n* `medium` - Medium\n* `low` - Low"}}},"paths":{"/compliance/rules/context-fields/":{"get":{"operationId":"compliance_rules_context_fields_retrieve","description":"Expose the compliance rule context schema for the rule editor.\n\nMirrors automation's TriggerViewSet: returns the extra (non-model)\ncontext fields available to compliance rules — currently the software\ngroup — so the frontend builds the field list from the backend instead\nof hard-coding it.","parameters":[{"in":"query","name":"format","schema":{"type":"string","enum":["json","xml"]}}],"tags":["compliance"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceRule"}},"application/xml":{"schema":{"$ref":"#/components/schemas/ComplianceRule"}}},"description":""}}}}}}
```

## GET /compliance/types/

> This class will define the general view behavior for the framework\
> \
> Args:\
> &#x20;   viewsets (\[ModelViewSet])

```json
{"openapi":"3.0.3","info":{"title":"OCS Inventory Backend API References","version":"3.0.0"},"security":[{"knoxApiToken":[]}],"components":{"securitySchemes":{"knoxApiToken":{"type":"apiKey","in":"header","name":"Authorization","description":"Token-based authentication with required prefix \"Token\""}},"schemas":{"PaginatedComplianceTypeList":{"type":"object","required":["count","results"],"properties":{"count":{"type":"integer"},"next":{"type":"string","nullable":true,"format":"uri"},"previous":{"type":"string","nullable":true,"format":"uri"},"results":{"type":"array","items":{"$ref":"#/components/schemas/ComplianceType"}}}},"ComplianceType":{"type":"object","properties":{"id":{"type":"integer","readOnly":true},"name":{"type":"string","maxLength":50}},"required":["id","name"]}}},"paths":{"/compliance/types/":{"get":{"operationId":"compliance_types_list","description":"This class will define the general view behavior for the framework\n\nArgs:\n    viewsets ([ModelViewSet])","parameters":[{"in":"query","name":"format","schema":{"type":"string","enum":["json","xml"]}},{"name":"limit","required":false,"in":"query","description":"Number of results to return per page.","schema":{"type":"integer"}},{"in":"query","name":"name","schema":{"type":"string"}},{"name":"offset","required":false,"in":"query","description":"The initial index from which to return the results.","schema":{"type":"integer"}},{"name":"ordering","required":false,"in":"query","description":"Which field to use when ordering the results.","schema":{"type":"string"}},{"name":"search","required":false,"in":"query","description":"A search term.","schema":{"type":"string"}}],"tags":["compliance"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedComplianceTypeList"}},"application/xml":{"schema":{"$ref":"#/components/schemas/PaginatedComplianceTypeList"}}},"description":""}}}}}}
```

## POST /compliance/types/

> Handle post request, suitable for single and multi creation\
> \
> Args:\
> &#x20;   request (\[dict]): can be dict or list of dicts\
> \
> Returns:\
> &#x20;   \[type]: \[description]

```json
{"openapi":"3.0.3","info":{"title":"OCS Inventory Backend API References","version":"3.0.0"},"security":[{"knoxApiToken":[]}],"components":{"securitySchemes":{"knoxApiToken":{"type":"apiKey","in":"header","name":"Authorization","description":"Token-based authentication with required prefix \"Token\""}},"schemas":{"ComplianceType":{"type":"object","properties":{"id":{"type":"integer","readOnly":true},"name":{"type":"string","maxLength":50}},"required":["id","name"]}}},"paths":{"/compliance/types/":{"post":{"operationId":"compliance_types_create","description":"Handle post request, suitable for single and multi creation\n\nArgs:\n    request ([dict]): can be dict or list of dicts\n\nReturns:\n    [type]: [description]","parameters":[{"in":"query","name":"format","schema":{"type":"string","enum":["json","xml"]}}],"tags":["compliance"],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/ComplianceType"}},"multipart/form-data":{"schema":{"$ref":"#/components/schemas/ComplianceType"}},"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceType"}},"application/xml":{"schema":{"$ref":"#/components/schemas/ComplianceType"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceType"}},"application/xml":{"schema":{"$ref":"#/components/schemas/ComplianceType"}}},"description":""}}}}}}
```

## GET /compliance/types/{id}/

> This class will define the general view behavior for the framework\
> \
> Args:\
> &#x20;   viewsets (\[ModelViewSet])

```json
{"openapi":"3.0.3","info":{"title":"OCS Inventory Backend API References","version":"3.0.0"},"security":[{"knoxApiToken":[]}],"components":{"securitySchemes":{"knoxApiToken":{"type":"apiKey","in":"header","name":"Authorization","description":"Token-based authentication with required prefix \"Token\""}},"schemas":{"ComplianceType":{"type":"object","properties":{"id":{"type":"integer","readOnly":true},"name":{"type":"string","maxLength":50}},"required":["id","name"]}}},"paths":{"/compliance/types/{id}/":{"get":{"operationId":"compliance_types_retrieve","description":"This class will define the general view behavior for the framework\n\nArgs:\n    viewsets ([ModelViewSet])","parameters":[{"in":"query","name":"format","schema":{"type":"string","enum":["json","xml"]}},{"in":"path","name":"id","schema":{"type":"integer"},"description":"A unique integer value identifying this compliance type.","required":true}],"tags":["compliance"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceType"}},"application/xml":{"schema":{"$ref":"#/components/schemas/ComplianceType"}}},"description":""}}}}}}
```

## PUT /compliance/types/{id}/

> This class will define the general view behavior for the framework\
> \
> Args:\
> &#x20;   viewsets (\[ModelViewSet])

```json
{"openapi":"3.0.3","info":{"title":"OCS Inventory Backend API References","version":"3.0.0"},"security":[{"knoxApiToken":[]}],"components":{"securitySchemes":{"knoxApiToken":{"type":"apiKey","in":"header","name":"Authorization","description":"Token-based authentication with required prefix \"Token\""}},"schemas":{"ComplianceType":{"type":"object","properties":{"id":{"type":"integer","readOnly":true},"name":{"type":"string","maxLength":50}},"required":["id","name"]}}},"paths":{"/compliance/types/{id}/":{"put":{"operationId":"compliance_types_update","description":"This class will define the general view behavior for the framework\n\nArgs:\n    viewsets ([ModelViewSet])","parameters":[{"in":"query","name":"format","schema":{"type":"string","enum":["json","xml"]}},{"in":"path","name":"id","schema":{"type":"integer"},"description":"A unique integer value identifying this compliance type.","required":true}],"tags":["compliance"],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/ComplianceType"}},"multipart/form-data":{"schema":{"$ref":"#/components/schemas/ComplianceType"}},"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceType"}},"application/xml":{"schema":{"$ref":"#/components/schemas/ComplianceType"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceType"}},"application/xml":{"schema":{"$ref":"#/components/schemas/ComplianceType"}}},"description":""}}}}}}
```

## DELETE /compliance/types/{id}/

> This class will define the general view behavior for the framework\
> \
> Args:\
> &#x20;   viewsets (\[ModelViewSet])

```json
{"openapi":"3.0.3","info":{"title":"OCS Inventory Backend API References","version":"3.0.0"},"security":[{"knoxApiToken":[]}],"components":{"securitySchemes":{"knoxApiToken":{"type":"apiKey","in":"header","name":"Authorization","description":"Token-based authentication with required prefix \"Token\""}}},"paths":{"/compliance/types/{id}/":{"delete":{"operationId":"compliance_types_destroy","description":"This class will define the general view behavior for the framework\n\nArgs:\n    viewsets ([ModelViewSet])","parameters":[{"in":"query","name":"format","schema":{"type":"string","enum":["json","xml"]}},{"in":"path","name":"id","schema":{"type":"integer"},"description":"A unique integer value identifying this compliance type.","required":true}],"tags":["compliance"],"responses":{"204":{"description":"No response body"}}}}}}
```

## PATCH /compliance/types/{id}/

> This class will define the general view behavior for the framework\
> \
> Args:\
> &#x20;   viewsets (\[ModelViewSet])

```json
{"openapi":"3.0.3","info":{"title":"OCS Inventory Backend API References","version":"3.0.0"},"security":[{"knoxApiToken":[]}],"components":{"securitySchemes":{"knoxApiToken":{"type":"apiKey","in":"header","name":"Authorization","description":"Token-based authentication with required prefix \"Token\""}},"schemas":{"PatchedComplianceType":{"type":"object","properties":{"id":{"type":"integer","readOnly":true},"name":{"type":"string","maxLength":50}}},"ComplianceType":{"type":"object","properties":{"id":{"type":"integer","readOnly":true},"name":{"type":"string","maxLength":50}},"required":["id","name"]}}},"paths":{"/compliance/types/{id}/":{"patch":{"operationId":"compliance_types_partial_update","description":"This class will define the general view behavior for the framework\n\nArgs:\n    viewsets ([ModelViewSet])","parameters":[{"in":"query","name":"format","schema":{"type":"string","enum":["json","xml"]}},{"in":"path","name":"id","schema":{"type":"integer"},"description":"A unique integer value identifying this compliance type.","required":true}],"tags":["compliance"],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/PatchedComplianceType"}},"multipart/form-data":{"schema":{"$ref":"#/components/schemas/PatchedComplianceType"}},"application/json":{"schema":{"$ref":"#/components/schemas/PatchedComplianceType"}},"application/xml":{"schema":{"$ref":"#/components/schemas/PatchedComplianceType"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceType"}},"application/xml":{"schema":{"$ref":"#/components/schemas/ComplianceType"}}},"description":""}}}}}}
```

## GET /compliance/windows-build-mapping/

> This class will define the general view behavior for the framework\
> \
> Args:\
> &#x20;   viewsets (\[ModelViewSet])

```json
{"openapi":"3.0.3","info":{"title":"OCS Inventory Backend API References","version":"3.0.0"},"security":[{"knoxApiToken":[]}],"components":{"securitySchemes":{"knoxApiToken":{"type":"apiKey","in":"header","name":"Authorization","description":"Token-based authentication with required prefix \"Token\""}},"schemas":{"PaginatedWindowsBuildMappingList":{"type":"object","required":["count","results"],"properties":{"count":{"type":"integer"},"next":{"type":"string","nullable":true,"format":"uri"},"previous":{"type":"string","nullable":true,"format":"uri"},"results":{"type":"array","items":{"$ref":"#/components/schemas/WindowsBuildMapping"}}}},"WindowsBuildMapping":{"type":"object","properties":{"id":{"type":"integer","readOnly":true},"build":{"type":"integer","maximum":9223372036854776000,"minimum":-9223372036854776000,"format":"int64","description":"Windows build number (e.g. 22621)"},"channel":{"type":"string","description":"endoflife.date channel slug (e.g. 22h2)","maxLength":20}},"required":["build","channel","id"]}}},"paths":{"/compliance/windows-build-mapping/":{"get":{"operationId":"compliance_windows_build_mapping_list","description":"This class will define the general view behavior for the framework\n\nArgs:\n    viewsets ([ModelViewSet])","parameters":[{"in":"query","name":"build","schema":{"type":"integer"}},{"in":"query","name":"channel","schema":{"type":"string"}},{"in":"query","name":"format","schema":{"type":"string","enum":["json","xml"]}},{"name":"limit","required":false,"in":"query","description":"Number of results to return per page.","schema":{"type":"integer"}},{"name":"offset","required":false,"in":"query","description":"The initial index from which to return the results.","schema":{"type":"integer"}},{"name":"ordering","required":false,"in":"query","description":"Which field to use when ordering the results.","schema":{"type":"string"}},{"name":"search","required":false,"in":"query","description":"A search term.","schema":{"type":"string"}}],"tags":["compliance"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedWindowsBuildMappingList"}},"application/xml":{"schema":{"$ref":"#/components/schemas/PaginatedWindowsBuildMappingList"}}},"description":""}}}}}}
```

## POST /compliance/windows-build-mapping/

> Handle post request, suitable for single and multi creation\
> \
> Args:\
> &#x20;   request (\[dict]): can be dict or list of dicts\
> \
> Returns:\
> &#x20;   \[type]: \[description]

```json
{"openapi":"3.0.3","info":{"title":"OCS Inventory Backend API References","version":"3.0.0"},"security":[{"knoxApiToken":[]}],"components":{"securitySchemes":{"knoxApiToken":{"type":"apiKey","in":"header","name":"Authorization","description":"Token-based authentication with required prefix \"Token\""}},"schemas":{"WindowsBuildMapping":{"type":"object","properties":{"id":{"type":"integer","readOnly":true},"build":{"type":"integer","maximum":9223372036854776000,"minimum":-9223372036854776000,"format":"int64","description":"Windows build number (e.g. 22621)"},"channel":{"type":"string","description":"endoflife.date channel slug (e.g. 22h2)","maxLength":20}},"required":["build","channel","id"]}}},"paths":{"/compliance/windows-build-mapping/":{"post":{"operationId":"compliance_windows_build_mapping_create","description":"Handle post request, suitable for single and multi creation\n\nArgs:\n    request ([dict]): can be dict or list of dicts\n\nReturns:\n    [type]: [description]","parameters":[{"in":"query","name":"format","schema":{"type":"string","enum":["json","xml"]}}],"tags":["compliance"],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/WindowsBuildMapping"}},"multipart/form-data":{"schema":{"$ref":"#/components/schemas/WindowsBuildMapping"}},"application/json":{"schema":{"$ref":"#/components/schemas/WindowsBuildMapping"}},"application/xml":{"schema":{"$ref":"#/components/schemas/WindowsBuildMapping"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WindowsBuildMapping"}},"application/xml":{"schema":{"$ref":"#/components/schemas/WindowsBuildMapping"}}},"description":""}}}}}}
```

## GET /compliance/windows-build-mapping/{id}/

> This class will define the general view behavior for the framework\
> \
> Args:\
> &#x20;   viewsets (\[ModelViewSet])

```json
{"openapi":"3.0.3","info":{"title":"OCS Inventory Backend API References","version":"3.0.0"},"security":[{"knoxApiToken":[]}],"components":{"securitySchemes":{"knoxApiToken":{"type":"apiKey","in":"header","name":"Authorization","description":"Token-based authentication with required prefix \"Token\""}},"schemas":{"WindowsBuildMapping":{"type":"object","properties":{"id":{"type":"integer","readOnly":true},"build":{"type":"integer","maximum":9223372036854776000,"minimum":-9223372036854776000,"format":"int64","description":"Windows build number (e.g. 22621)"},"channel":{"type":"string","description":"endoflife.date channel slug (e.g. 22h2)","maxLength":20}},"required":["build","channel","id"]}}},"paths":{"/compliance/windows-build-mapping/{id}/":{"get":{"operationId":"compliance_windows_build_mapping_retrieve","description":"This class will define the general view behavior for the framework\n\nArgs:\n    viewsets ([ModelViewSet])","parameters":[{"in":"query","name":"format","schema":{"type":"string","enum":["json","xml"]}},{"in":"path","name":"id","schema":{"type":"integer"},"description":"A unique integer value identifying this windows build mapping.","required":true}],"tags":["compliance"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WindowsBuildMapping"}},"application/xml":{"schema":{"$ref":"#/components/schemas/WindowsBuildMapping"}}},"description":""}}}}}}
```

## PUT /compliance/windows-build-mapping/{id}/

> This class will define the general view behavior for the framework\
> \
> Args:\
> &#x20;   viewsets (\[ModelViewSet])

```json
{"openapi":"3.0.3","info":{"title":"OCS Inventory Backend API References","version":"3.0.0"},"security":[{"knoxApiToken":[]}],"components":{"securitySchemes":{"knoxApiToken":{"type":"apiKey","in":"header","name":"Authorization","description":"Token-based authentication with required prefix \"Token\""}},"schemas":{"WindowsBuildMapping":{"type":"object","properties":{"id":{"type":"integer","readOnly":true},"build":{"type":"integer","maximum":9223372036854776000,"minimum":-9223372036854776000,"format":"int64","description":"Windows build number (e.g. 22621)"},"channel":{"type":"string","description":"endoflife.date channel slug (e.g. 22h2)","maxLength":20}},"required":["build","channel","id"]}}},"paths":{"/compliance/windows-build-mapping/{id}/":{"put":{"operationId":"compliance_windows_build_mapping_update","description":"This class will define the general view behavior for the framework\n\nArgs:\n    viewsets ([ModelViewSet])","parameters":[{"in":"query","name":"format","schema":{"type":"string","enum":["json","xml"]}},{"in":"path","name":"id","schema":{"type":"integer"},"description":"A unique integer value identifying this windows build mapping.","required":true}],"tags":["compliance"],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/WindowsBuildMapping"}},"multipart/form-data":{"schema":{"$ref":"#/components/schemas/WindowsBuildMapping"}},"application/json":{"schema":{"$ref":"#/components/schemas/WindowsBuildMapping"}},"application/xml":{"schema":{"$ref":"#/components/schemas/WindowsBuildMapping"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WindowsBuildMapping"}},"application/xml":{"schema":{"$ref":"#/components/schemas/WindowsBuildMapping"}}},"description":""}}}}}}
```

## DELETE /compliance/windows-build-mapping/{id}/

> This class will define the general view behavior for the framework\
> \
> Args:\
> &#x20;   viewsets (\[ModelViewSet])

```json
{"openapi":"3.0.3","info":{"title":"OCS Inventory Backend API References","version":"3.0.0"},"security":[{"knoxApiToken":[]}],"components":{"securitySchemes":{"knoxApiToken":{"type":"apiKey","in":"header","name":"Authorization","description":"Token-based authentication with required prefix \"Token\""}}},"paths":{"/compliance/windows-build-mapping/{id}/":{"delete":{"operationId":"compliance_windows_build_mapping_destroy","description":"This class will define the general view behavior for the framework\n\nArgs:\n    viewsets ([ModelViewSet])","parameters":[{"in":"query","name":"format","schema":{"type":"string","enum":["json","xml"]}},{"in":"path","name":"id","schema":{"type":"integer"},"description":"A unique integer value identifying this windows build mapping.","required":true}],"tags":["compliance"],"responses":{"204":{"description":"No response body"}}}}}}
```

## PATCH /compliance/windows-build-mapping/{id}/

> This class will define the general view behavior for the framework\
> \
> Args:\
> &#x20;   viewsets (\[ModelViewSet])

```json
{"openapi":"3.0.3","info":{"title":"OCS Inventory Backend API References","version":"3.0.0"},"security":[{"knoxApiToken":[]}],"components":{"securitySchemes":{"knoxApiToken":{"type":"apiKey","in":"header","name":"Authorization","description":"Token-based authentication with required prefix \"Token\""}},"schemas":{"PatchedWindowsBuildMapping":{"type":"object","properties":{"id":{"type":"integer","readOnly":true},"build":{"type":"integer","maximum":9223372036854776000,"minimum":-9223372036854776000,"format":"int64","description":"Windows build number (e.g. 22621)"},"channel":{"type":"string","description":"endoflife.date channel slug (e.g. 22h2)","maxLength":20}}},"WindowsBuildMapping":{"type":"object","properties":{"id":{"type":"integer","readOnly":true},"build":{"type":"integer","maximum":9223372036854776000,"minimum":-9223372036854776000,"format":"int64","description":"Windows build number (e.g. 22621)"},"channel":{"type":"string","description":"endoflife.date channel slug (e.g. 22h2)","maxLength":20}},"required":["build","channel","id"]}}},"paths":{"/compliance/windows-build-mapping/{id}/":{"patch":{"operationId":"compliance_windows_build_mapping_partial_update","description":"This class will define the general view behavior for the framework\n\nArgs:\n    viewsets ([ModelViewSet])","parameters":[{"in":"query","name":"format","schema":{"type":"string","enum":["json","xml"]}},{"in":"path","name":"id","schema":{"type":"integer"},"description":"A unique integer value identifying this windows build mapping.","required":true}],"tags":["compliance"],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/PatchedWindowsBuildMapping"}},"multipart/form-data":{"schema":{"$ref":"#/components/schemas/PatchedWindowsBuildMapping"}},"application/json":{"schema":{"$ref":"#/components/schemas/PatchedWindowsBuildMapping"}},"application/xml":{"schema":{"$ref":"#/components/schemas/PatchedWindowsBuildMapping"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WindowsBuildMapping"}},"application/xml":{"schema":{"$ref":"#/components/schemas/WindowsBuildMapping"}}},"description":""}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://documentation.ocsinventory-ng.org/open-api-reference/compliance.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
