{"schemaVersion":"1.0","sourceCommit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca","sourceVisibility":"private","article":{"id":"api-mansoq-teleicu-devices-camerapositionpresetviewset-21a90283","title":"Camera Position Preset API reference · mansoq-teleicu-devices","summary":"Static source contract for Camera Position Preset: 8 declared or inherited operation mappings, schema/field evidence and authorization/refusal references. Deployment and behavioral review remain explicit.","module":"IT & integrations","roles":["IT administrator","Developer","Integration engineer"],"facilities":["All configured facility types"],"kind":"reference","minutes":12,"prerequisites":["Use the API contract from the installed deployment and an authorized synthetic test environment.","Confirm facility/organization scope, action permissions and optional app enablement.","This reference is static source evidence; complete payload, authorization, failure and end-to-end review remains recorded as pending."],"steps":[],"sections":[{"title":"Declared route and availability","body":"This resource is declared in **mansoq-teleicu-devices** at `/api/{installed_plugin_prefix}/{camera_external_id}/position_presets/`. plugin/local mount; actual prefix and enablement require deployment verification A registered path and an indexed handler do not prove deployment availability, user permission or production readiness."},{"title":"Operation map","body":"| Method | Path | Action | Evidence |\n| --- | --- | --- | --- |\n| GET | `/api/{installed_plugin_prefix}/{camera_external_id}/position_presets/` | list | declared/inherited method |\n| POST | `/api/{installed_plugin_prefix}/{camera_external_id}/position_presets/` | create | declared/inherited method |\n| GET | `/api/{installed_plugin_prefix}/{camera_external_id}/position_presets/{external_id}/` | retrieve | declared/inherited method |\n| PUT | `/api/{installed_plugin_prefix}/{camera_external_id}/position_presets/{external_id}/` | update | declared/inherited method |\n| PATCH | `/api/{installed_plugin_prefix}/{camera_external_id}/position_presets/{external_id}/` | partial_update | declared/inherited method |\n| DELETE | `/api/{installed_plugin_prefix}/{camera_external_id}/position_presets/{external_id}/` | destroy | declared/inherited method |\n| POST | `/api/{installed_plugin_prefix}/{camera_external_id}/position_presets/upsert/` | upsert | @action declaration |\n| POST | `/api/{installed_plugin_prefix}/{camera_external_id}/position_presets/{external_id}/set_default/` | set_default | @action declaration |"},{"title":"list · GET","body":"**GET /api/{installed_plugin_prefix}/{camera_external_id}/position_presets/** — action `list`. static contract extracted; runtime/permission/payload behavior review pending.\n\nPath and deployment-context parameters:\n\n| Location | Parameter | Type | Required |\n| --- | --- | --- | --- |\n| path | camera_external_id | string/default converter | true |\n| deployment mount | installed_plugin_prefix | deployment-selected mount prefix | true |\n\nDirectly observed request reads (these do not constitute a complete accepted-payload or requiredness guarantee):\n\n| Location | Field | Declared/inferred read type | Requiredness evidence |\n| --- | --- | --- | --- |\n| query | `location` | not declared at read site | direct indexing; validation may be upstream |\n\n**response: PositionPresetReadSpec**. Declared fields below; inherited fields are retained in the schema inventory.\n\n| Field | Type | Required | Constraints |\n| --- | --- | --- | --- |\n| meta | dict | false | No extra constraint extracted |\n| id | UUID4 \\| None | false | No extra constraint extracted |\n| name | str | true | No extra constraint extracted |\n| ptz | PTZPayloadSpec | true | No extra constraint extracted |\n| sort_index | int \\| None | false | No extra constraint extracted |\n| location | FacilityLocationRetrieveSpec | true | No extra constraint extracted |\n| is_default | bool | true | No extra constraint extracted |\n\n**Observed authorization checks:** `can_read_devices_on_location`, `can_read_device`. Helper/queryset evidence is included; this is not proof of complete security review.\n\n**Declared refusal/error evidence:** PermissionDenied: You do not have permission to get position presets of this location; PermissionDenied: You do not have permission to update device."},{"title":"create · POST","body":"**POST /api/{installed_plugin_prefix}/{camera_external_id}/position_presets/** — action `create`. static contract extracted; runtime/permission/payload behavior review pending.\n\nPath and deployment-context parameters:\n\n| Location | Parameter | Type | Required |\n| --- | --- | --- | --- |\n| path | camera_external_id | string/default converter | true |\n| deployment mount | installed_plugin_prefix | deployment-selected mount prefix | true |\n\nDirectly observed request reads (these do not constitute a complete accepted-payload or requiredness guarantee):\n\n| Location | Field | Declared/inferred read type | Requiredness evidence |\n| --- | --- | --- | --- |\n| query | `location` | not declared at read site | direct indexing; validation may be upstream |\n| body | `form_submission` | not declared at read site | not established |\n\n**request: PositionPresetCreateSpec**. Declared fields below; inherited fields are retained in the schema inventory.\n\n| Field | Type | Required | Constraints |\n| --- | --- | --- | --- |\n| meta | dict | false | No extra constraint extracted |\n| id | UUID4 \\| None | false | No extra constraint extracted |\n| name | str | true | No extra constraint extracted |\n| ptz | PTZPayloadSpec | true | No extra constraint extracted |\n| sort_index | int \\| None | false | No extra constraint extracted |\n| location | UUID4 | true | No extra constraint extracted |\n| camera | UUID4 | true | No extra constraint extracted |\n\n**response: PositionPresetReadSpec**. Declared fields below; inherited fields are retained in the schema inventory.\n\nThe declared field table is shown at its first occurrence in this reference; this operation links the same schema.\n\n**Observed authorization checks:** `can_read_devices_on_location`, `can_read_device`, `can_manage_device`. Helper/queryset evidence is included; this is not proof of complete security review.\n\n**Declared refusal/error evidence:** PermissionDenied: You do not have permission to get position presets of this location; PermissionDenied: You do not have permission to update device."},{"title":"retrieve · GET","body":"**GET /api/{installed_plugin_prefix}/{camera_external_id}/position_presets/{external_id}/** — action `retrieve`. static contract extracted; runtime/permission/payload behavior review pending.\n\nPath and deployment-context parameters:\n\n| Location | Parameter | Type | Required |\n| --- | --- | --- | --- |\n| path | camera_external_id | string/default converter | true |\n| deployment mount | installed_plugin_prefix | deployment-selected mount prefix | true |\n| path | external_id | router lookup string; semantic ID validation requires handler/schema review | true |\n\nDirectly observed request reads (these do not constitute a complete accepted-payload or requiredness guarantee):\n\n| Location | Field | Declared/inferred read type | Requiredness evidence |\n| --- | --- | --- | --- |\n| query | `location` | not declared at read site | direct indexing; validation may be upstream |\n\n**response: PositionPresetReadSpec**. Declared fields below; inherited fields are retained in the schema inventory.\n\nThe declared field table is shown at its first occurrence in this reference; this operation links the same schema.\n\n**Observed authorization checks:** `can_read_devices_on_location`, `can_read_device`. Helper/queryset evidence is included; this is not proof of complete security review.\n\n**Declared refusal/error evidence:** PermissionDenied: You do not have permission to get position presets of this location; PermissionDenied: You do not have permission to update device."},{"title":"update · PUT","body":"**PUT /api/{installed_plugin_prefix}/{camera_external_id}/position_presets/{external_id}/** — action `update`. static contract extracted; runtime/permission/payload behavior review pending.\n\nPath and deployment-context parameters:\n\n| Location | Parameter | Type | Required |\n| --- | --- | --- | --- |\n| path | camera_external_id | string/default converter | true |\n| deployment mount | installed_plugin_prefix | deployment-selected mount prefix | true |\n| path | external_id | router lookup string; semantic ID validation requires handler/schema review | true |\n\nDirectly observed request reads (these do not constitute a complete accepted-payload or requiredness guarantee):\n\n| Location | Field | Declared/inferred read type | Requiredness evidence |\n| --- | --- | --- | --- |\n| query | `location` | not declared at read site | direct indexing; validation may be upstream |\n\n**request: PositionPresetUpdateSpec**. Declared fields below; inherited fields are retained in the schema inventory.\n\n| Field | Type | Required | Constraints |\n| --- | --- | --- | --- |\n| meta | dict | false | No extra constraint extracted |\n| id | UUID4 \\| None | false | No extra constraint extracted |\n| name | str | true | No extra constraint extracted |\n| ptz | PTZPayloadSpec | true | No extra constraint extracted |\n| sort_index | int \\| None | false | No extra constraint extracted |\n| location | UUID4 | true | No extra constraint extracted |\n\n**response: PositionPresetReadSpec**. Declared fields below; inherited fields are retained in the schema inventory.\n\nThe declared field table is shown at its first occurrence in this reference; this operation links the same schema.\n\n**Observed authorization checks:** `can_read_devices_on_location`, `can_read_device`, `can_manage_device`. Helper/queryset evidence is included; this is not proof of complete security review.\n\n**Declared refusal/error evidence:** PermissionDenied: You do not have permission to get position presets of this location; PermissionDenied: You do not have permission to update device."},{"title":"partial_update · PATCH","body":"**PATCH /api/{installed_plugin_prefix}/{camera_external_id}/position_presets/{external_id}/** — action `partial_update`. static contract extracted; runtime/permission/payload behavior review pending.\n\nPath and deployment-context parameters:\n\n| Location | Parameter | Type | Required |\n| --- | --- | --- | --- |\n| path | camera_external_id | string/default converter | true |\n| deployment mount | installed_plugin_prefix | deployment-selected mount prefix | true |\n| path | external_id | router lookup string; semantic ID validation requires handler/schema review | true |\n\nDirectly observed request reads (these do not constitute a complete accepted-payload or requiredness guarantee):\n\n| Location | Field | Declared/inferred read type | Requiredness evidence |\n| --- | --- | --- | --- |\n| query | `location` | not declared at read site | direct indexing; validation may be upstream |\n\n**request: PositionPresetUpdateSpec**. Declared fields below; inherited fields are retained in the schema inventory.\n\nThe declared field table is shown at its first occurrence in this reference; this operation links the same schema.\n\n**response: PositionPresetReadSpec**. Declared fields below; inherited fields are retained in the schema inventory.\n\nThe declared field table is shown at its first occurrence in this reference; this operation links the same schema.\n\n**Observed authorization checks:** `can_read_devices_on_location`, `can_read_device`. Helper/queryset evidence is included; this is not proof of complete security review.\n\n**Declared refusal/error evidence:** PermissionDenied: You do not have permission to get position presets of this location; PermissionDenied: You do not have permission to update device."},{"title":"destroy · DELETE","body":"**DELETE /api/{installed_plugin_prefix}/{camera_external_id}/position_presets/{external_id}/** — action `destroy`. static contract extracted; runtime/permission/payload behavior review pending.\n\nPath and deployment-context parameters:\n\n| Location | Parameter | Type | Required |\n| --- | --- | --- | --- |\n| path | camera_external_id | string/default converter | true |\n| deployment mount | installed_plugin_prefix | deployment-selected mount prefix | true |\n| path | external_id | router lookup string; semantic ID validation requires handler/schema review | true |\n\nDirectly observed request reads (these do not constitute a complete accepted-payload or requiredness guarantee):\n\n| Location | Field | Declared/inferred read type | Requiredness evidence |\n| --- | --- | --- | --- |\n| query | `location` | not declared at read site | direct indexing; validation may be upstream |\n\n**Observed authorization checks:** `can_read_devices_on_location`, `can_read_device`, `can_manage_device`. Helper/queryset evidence is included; this is not proof of complete security review.\n\n**Explicit response statuses in observed code:** status.HTTP_204_NO_CONTENT. Other branches/framework exception handling may differ.\n\n**Declared refusal/error evidence:** PermissionDenied: You do not have permission to get position presets of this location; PermissionDenied: You do not have permission to update device."},{"title":"upsert · POST","body":"**POST /api/{installed_plugin_prefix}/{camera_external_id}/position_presets/upsert/** — action `upsert`. static contract extracted; runtime/permission/payload behavior review pending.\n\nPath and deployment-context parameters:\n\n| Location | Parameter | Type | Required |\n| --- | --- | --- | --- |\n| path | camera_external_id | string/default converter | true |\n| deployment mount | installed_plugin_prefix | deployment-selected mount prefix | true |\n\nDirectly observed request reads (these do not constitute a complete accepted-payload or requiredness guarantee):\n\n| Location | Field | Declared/inferred read type | Requiredness evidence |\n| --- | --- | --- | --- |\n| body | `datapoints` | not declared at read site | not established |\n| query | `location` | not declared at read site | direct indexing; validation may be upstream |\n| body | `form_submission` | not declared at read site | not established |\n\n**Observed authorization checks:** `can_read_devices_on_location`, `can_read_device`, `can_manage_device`. Helper/queryset evidence is included; this is not proof of complete security review.\n\n**Explicit response statuses in observed code:** 400. Other branches/framework exception handling may differ.\n\n**Declared refusal/error evidence:** RestFrameworkValidationError: Invalid request data; RestFrameworkValidationError: No datapoints provided; RestFrameworkValidationError: Too many datapoints provided; PermissionDenied: You do not have permission to get position presets of this location; PermissionDenied: You do not have permission to update device.\n\n**Conditional gates:** conditional/computed expression; inspect pinned declaration comparison settings.MAX_DATAPOINTS_PER_UPSERT."},{"title":"set_default · POST","body":"**POST /api/{installed_plugin_prefix}/{camera_external_id}/position_presets/{external_id}/set_default/** — action `set_default`. static contract extracted; runtime/permission/payload behavior review pending.\n\nPath and deployment-context parameters:\n\n| Location | Parameter | Type | Required |\n| --- | --- | --- | --- |\n| path | camera_external_id | string/default converter | true |\n| deployment mount | installed_plugin_prefix | deployment-selected mount prefix | true |\n| path | external_id | router lookup string; semantic ID validation requires handler/schema review | true |\n\nDirectly observed request reads (these do not constitute a complete accepted-payload or requiredness guarantee):\n\n| Location | Field | Declared/inferred read type | Requiredness evidence |\n| --- | --- | --- | --- |\n| query | `location` | not declared at read site | direct indexing; validation may be upstream |\n\n**Observed authorization checks:** `can_read_devices_on_location`, `can_read_device`, `can_manage_device`. Helper/queryset evidence is included; this is not proof of complete security review.\n\n**Explicit response statuses in observed code:** 200. Other branches/framework exception handling may differ.\n\n**Declared refusal/error evidence:** PermissionDenied: You do not have permission to get position presets of this location; PermissionDenied: You do not have permission to update device."},{"title":"Integration review checklist","body":"Confirm the installed route and full schema; review authentication, organization/facility scoping, all accepted fields, value-state and date/time semantics, idempotency, pagination, response/exception branches and the allowed correction/reversal workflow. Test positive and negative cases with synthetic data. This source reference does not establish external certification or replace an illustrated user procedure."}],"troubleshooting":[{"problem":"A declared route is unavailable or a request is rejected","solution":"Compare the installed revision, actual API schema, optional plugin mount, HTTP-method restrictions and recorded validation/permission evidence. Do not bypass a refusal or send a production transaction to test documentation."}],"sources":[{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/urls.py","line":11,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":27,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":168,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":53,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":161,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":75,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":330,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":158,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/spec.py","line":76,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":136,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":40,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":142,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":80,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":346,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":98,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":139,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":325,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":352,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":349,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":95,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/spec.py","line":99,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":83,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":80,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":77,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":214,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":47,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":228,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":201,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":335,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":180,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":222,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/spec.py","line":89,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":218,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":261,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":50,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":258,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":253,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":271,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":87,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}],"related":["it-api-contract","it-api-auth","security-rcm-roles"],"verification":"Static API contract — behavior review pending","version":"f6e9f05f76d4","apiReferenceIds":["backend-resource-b8df141921a90283","backend-resource-b8df141921a90283:GET:list","backend-resource-b8df141921a90283:POST:create","backend-resource-b8df141921a90283:GET:retrieve","backend-resource-b8df141921a90283:PUT:update","backend-resource-b8df141921a90283:PATCH:partial_update","backend-resource-b8df141921a90283:DELETE:destroy","backend-resource-b8df141921a90283:POST:upsert","backend-resource-b8df141921a90283:POST:set_default"]},"backend":{"resources":[{"id":"backend-resource-b8df141921a90283","localPrefix":"(?P<camera_external_id>[^/.]+)/position_presets","viewset":"CameraPositionPresetViewSet","classId":"repositories/teleicu/mansoq-teleicu-devices:camera_device.viewsets.position_preset.CameraPositionPresetViewSet","basename":"camera-position-presets","source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/urls.py","line":11,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"conditions":[],"repository":"repositories/teleicu/mansoq-teleicu-devices","classSource":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":27,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"description":"","path":"/api/{installed_plugin_prefix}/{camera_external_id}/position_presets/","mountStatus":"plugin/local mount; actual prefix and enablement require deployment verification","operationIds":["backend-resource-b8df141921a90283:GET:list","backend-resource-b8df141921a90283:POST:create","backend-resource-b8df141921a90283:GET:retrieve","backend-resource-b8df141921a90283:PUT:update","backend-resource-b8df141921a90283:PATCH:partial_update","backend-resource-b8df141921a90283:DELETE:destroy","backend-resource-b8df141921a90283:POST:upsert","backend-resource-b8df141921a90283:POST:set_default"],"unresolvedViewset":false,"reviewStatus":"registered resource enumerated; behavioral review pending"}],"operations":[{"id":"backend-resource-b8df141921a90283:GET:list","resourceId":"backend-resource-b8df141921a90283","repository":"repositories/teleicu/mansoq-teleicu-devices","boundary":"optional-plugin/local-service","method":"GET","path":"/api/{installed_plugin_prefix}/{camera_external_id}/position_presets/","declaredPattern":"/api/{installed_plugin_prefix}/(?P<camera_external_id>[^/.]+)/position_presets/","action":"list","viewset":"CameraPositionPresetViewSet","classId":"repositories/teleicu/mansoq-teleicu-devices:camera_device.viewsets.position_preset.CameraPositionPresetViewSet","detail":false,"allowedByDeclaredHttpMethods":true,"mountStatus":"plugin/local mount; actual prefix and enablement require deployment verification","routeEvidence":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/urls.py","line":11,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"handlerSource":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":168,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"registrationConditions":[],"evidenceKind":"declared/inherited method","methodEvidenceIds":["repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:168:list","repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py:53:get_queryset","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:161:serialize_list","repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py:75:get_camera_obj","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:330:get_read_pydantic_model","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:158:get_serializer_list_context"],"schemaIds":{"response":"repositories/teleicu/mansoq-teleicu-devices:camera_device.spec.PositionPresetReadSpec"},"classPermissionEvidence":[],"filterEvidence":[{"name":"ordering_fields","value":["sort_index","location__name"],"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":38,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"filter_backends","value":[null,null],"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":34,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"location","type":"filters.UUIDFilter","lookup":"exact","source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":22,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"reviewStatus":"static contract extracted; runtime/permission/payload behavior review pending","pathParameters":[{"name":"camera_external_id","in":"path","type":"string/default converter","required":true,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/urls.py","line":11,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"installed_plugin_prefix","in":"deployment mount","type":"deployment-selected mount prefix","required":true,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/urls.py","line":11,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}]},{"id":"backend-resource-b8df141921a90283:POST:create","resourceId":"backend-resource-b8df141921a90283","repository":"repositories/teleicu/mansoq-teleicu-devices","boundary":"optional-plugin/local-service","method":"POST","path":"/api/{installed_plugin_prefix}/{camera_external_id}/position_presets/","declaredPattern":"/api/{installed_plugin_prefix}/(?P<camera_external_id>[^/.]+)/position_presets/","action":"create","viewset":"CameraPositionPresetViewSet","classId":"repositories/teleicu/mansoq-teleicu-devices:camera_device.viewsets.position_preset.CameraPositionPresetViewSet","detail":false,"allowedByDeclaredHttpMethods":true,"mountStatus":"plugin/local mount; actual prefix and enablement require deployment verification","routeEvidence":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/urls.py","line":11,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"handlerSource":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":136,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"registrationConditions":[],"evidenceKind":"declared/inherited method","methodEvidenceIds":["repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:136:create","repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py:53:get_queryset","repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py:40:authorize_create","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:142:handle_create","repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py:75:get_camera_obj","repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py:80:clean_create_data","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:346:validate_data","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:98:perform_create","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:139:get_serializer_create_context","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:325:get_retrieve_pydantic_model","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:352:fetch_patient_from_instance","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:349:fetch_encounter_from_instance","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:95:get_form_submission_params","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:330:get_read_pydantic_model"],"schemaIds":{"request":"repositories/teleicu/mansoq-teleicu-devices:camera_device.spec.PositionPresetCreateSpec","response":"repositories/teleicu/mansoq-teleicu-devices:camera_device.spec.PositionPresetReadSpec"},"classPermissionEvidence":[],"filterEvidence":[{"name":"ordering_fields","value":["sort_index","location__name"],"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":38,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"filter_backends","value":[null,null],"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":34,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"location","type":"filters.UUIDFilter","lookup":"exact","source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":22,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"reviewStatus":"static contract extracted; runtime/permission/payload behavior review pending","pathParameters":[{"name":"camera_external_id","in":"path","type":"string/default converter","required":true,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/urls.py","line":11,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"installed_plugin_prefix","in":"deployment mount","type":"deployment-selected mount prefix","required":true,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/urls.py","line":11,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}]},{"id":"backend-resource-b8df141921a90283:GET:retrieve","resourceId":"backend-resource-b8df141921a90283","repository":"repositories/teleicu/mansoq-teleicu-devices","boundary":"optional-plugin/local-service","method":"GET","path":"/api/{installed_plugin_prefix}/{camera_external_id}/position_presets/{external_id}/","declaredPattern":"/api/{installed_plugin_prefix}/(?P<camera_external_id>[^/.]+)/position_presets/{external_id}/","action":"retrieve","viewset":"CameraPositionPresetViewSet","classId":"repositories/teleicu/mansoq-teleicu-devices:camera_device.viewsets.position_preset.CameraPositionPresetViewSet","detail":true,"allowedByDeclaredHttpMethods":true,"mountStatus":"plugin/local mount; actual prefix and enablement require deployment verification","routeEvidence":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/urls.py","line":11,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"handlerSource":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":83,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"registrationConditions":[],"evidenceKind":"declared/inherited method","methodEvidenceIds":["repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:83:retrieve","repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py:53:get_queryset","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:80:authorize_retrieve","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:325:get_retrieve_pydantic_model","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:77:get_serializer_retrieve_context","repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py:75:get_camera_obj","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:330:get_read_pydantic_model"],"schemaIds":{"response":"repositories/teleicu/mansoq-teleicu-devices:camera_device.spec.PositionPresetReadSpec"},"classPermissionEvidence":[],"filterEvidence":[{"name":"ordering_fields","value":["sort_index","location__name"],"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":38,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"filter_backends","value":[null,null],"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":34,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"location","type":"filters.UUIDFilter","lookup":"exact","source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":22,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"reviewStatus":"static contract extracted; runtime/permission/payload behavior review pending","pathParameters":[{"name":"camera_external_id","in":"path","type":"string/default converter","required":true,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/urls.py","line":11,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"installed_plugin_prefix","in":"deployment mount","type":"deployment-selected mount prefix","required":true,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/urls.py","line":11,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"external_id","in":"path","type":"router lookup string; semantic ID validation requires handler/schema review","required":true,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/urls.py","line":11,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}]},{"id":"backend-resource-b8df141921a90283:PUT:update","resourceId":"backend-resource-b8df141921a90283","repository":"repositories/teleicu/mansoq-teleicu-devices","boundary":"optional-plugin/local-service","method":"PUT","path":"/api/{installed_plugin_prefix}/{camera_external_id}/position_presets/{external_id}/","declaredPattern":"/api/{installed_plugin_prefix}/(?P<camera_external_id>[^/.]+)/position_presets/{external_id}/","action":"update","viewset":"CameraPositionPresetViewSet","classId":"repositories/teleicu/mansoq-teleicu-devices:camera_device.viewsets.position_preset.CameraPositionPresetViewSet","detail":true,"allowedByDeclaredHttpMethods":true,"mountStatus":"plugin/local mount; actual prefix and enablement require deployment verification","routeEvidence":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/urls.py","line":11,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"handlerSource":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":214,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"registrationConditions":[],"evidenceKind":"declared/inherited method","methodEvidenceIds":["repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:214:update","repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py:53:get_queryset","repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py:47:authorize_update","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:228:handle_update","repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py:75:get_camera_obj","repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py:40:authorize_create","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:201:clean_update_data","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:335:get_update_pydantic_model","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:346:validate_data","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:180:perform_update","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:222:get_serializer_update_context","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:325:get_retrieve_pydantic_model","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:352:fetch_patient_from_instance","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:349:fetch_encounter_from_instance","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:330:get_read_pydantic_model"],"schemaIds":{"request":"repositories/teleicu/mansoq-teleicu-devices:camera_device.spec.PositionPresetUpdateSpec","response":"repositories/teleicu/mansoq-teleicu-devices:camera_device.spec.PositionPresetReadSpec"},"classPermissionEvidence":[],"filterEvidence":[{"name":"ordering_fields","value":["sort_index","location__name"],"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":38,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"filter_backends","value":[null,null],"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":34,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"location","type":"filters.UUIDFilter","lookup":"exact","source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":22,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"reviewStatus":"static contract extracted; runtime/permission/payload behavior review pending","pathParameters":[{"name":"camera_external_id","in":"path","type":"string/default converter","required":true,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/urls.py","line":11,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"installed_plugin_prefix","in":"deployment mount","type":"deployment-selected mount prefix","required":true,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/urls.py","line":11,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"external_id","in":"path","type":"router lookup string; semantic ID validation requires handler/schema review","required":true,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/urls.py","line":11,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}]},{"id":"backend-resource-b8df141921a90283:PATCH:partial_update","resourceId":"backend-resource-b8df141921a90283","repository":"repositories/teleicu/mansoq-teleicu-devices","boundary":"optional-plugin/local-service","method":"PATCH","path":"/api/{installed_plugin_prefix}/{camera_external_id}/position_presets/{external_id}/","declaredPattern":"/api/{installed_plugin_prefix}/(?P<camera_external_id>[^/.]+)/position_presets/{external_id}/","action":"partial_update","viewset":"CameraPositionPresetViewSet","classId":"repositories/teleicu/mansoq-teleicu-devices:camera_device.viewsets.position_preset.CameraPositionPresetViewSet","detail":true,"allowedByDeclaredHttpMethods":true,"mountStatus":"plugin/local mount; actual prefix and enablement require deployment verification","routeEvidence":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/urls.py","line":11,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"handlerSource":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":218,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"registrationConditions":[],"evidenceKind":"declared/inherited method","methodEvidenceIds":["repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:218:partial_update","repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py:53:get_queryset","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:214:update","repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py:75:get_camera_obj","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:228:handle_update","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:201:clean_update_data","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:335:get_update_pydantic_model","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:346:validate_data","repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py:47:authorize_update","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:180:perform_update","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:222:get_serializer_update_context","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:325:get_retrieve_pydantic_model"],"schemaIds":{"request":"repositories/teleicu/mansoq-teleicu-devices:camera_device.spec.PositionPresetUpdateSpec","response":"repositories/teleicu/mansoq-teleicu-devices:camera_device.spec.PositionPresetReadSpec"},"classPermissionEvidence":[],"filterEvidence":[{"name":"ordering_fields","value":["sort_index","location__name"],"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":38,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"filter_backends","value":[null,null],"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":34,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"location","type":"filters.UUIDFilter","lookup":"exact","source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":22,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"reviewStatus":"static contract extracted; runtime/permission/payload behavior review pending","pathParameters":[{"name":"camera_external_id","in":"path","type":"string/default converter","required":true,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/urls.py","line":11,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"installed_plugin_prefix","in":"deployment mount","type":"deployment-selected mount prefix","required":true,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/urls.py","line":11,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"external_id","in":"path","type":"router lookup string; semantic ID validation requires handler/schema review","required":true,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/urls.py","line":11,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}]},{"id":"backend-resource-b8df141921a90283:DELETE:destroy","resourceId":"backend-resource-b8df141921a90283","repository":"repositories/teleicu/mansoq-teleicu-devices","boundary":"optional-plugin/local-service","method":"DELETE","path":"/api/{installed_plugin_prefix}/{camera_external_id}/position_presets/{external_id}/","declaredPattern":"/api/{installed_plugin_prefix}/(?P<camera_external_id>[^/.]+)/position_presets/{external_id}/","action":"destroy","viewset":"CameraPositionPresetViewSet","classId":"repositories/teleicu/mansoq-teleicu-devices:camera_device.viewsets.position_preset.CameraPositionPresetViewSet","detail":true,"allowedByDeclaredHttpMethods":true,"mountStatus":"plugin/local mount; actual prefix and enablement require deployment verification","routeEvidence":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/urls.py","line":11,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"handlerSource":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":261,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"registrationConditions":[],"evidenceKind":"declared/inherited method","methodEvidenceIds":["repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:261:destroy","repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py:53:get_queryset","repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py:50:authorize_destroy","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:258:validate_destroy","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:253:perform_destroy","repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py:75:get_camera_obj","repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py:47:authorize_update","repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py:40:authorize_create"],"schemaIds":{},"classPermissionEvidence":[],"filterEvidence":[{"name":"ordering_fields","value":["sort_index","location__name"],"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":38,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"filter_backends","value":[null,null],"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":34,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"location","type":"filters.UUIDFilter","lookup":"exact","source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":22,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"reviewStatus":"static contract extracted; runtime/permission/payload behavior review pending","pathParameters":[{"name":"camera_external_id","in":"path","type":"string/default converter","required":true,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/urls.py","line":11,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"installed_plugin_prefix","in":"deployment mount","type":"deployment-selected mount prefix","required":true,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/urls.py","line":11,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"external_id","in":"path","type":"router lookup string; semantic ID validation requires handler/schema review","required":true,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/urls.py","line":11,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}]},{"id":"backend-resource-b8df141921a90283:POST:upsert","resourceId":"backend-resource-b8df141921a90283","repository":"repositories/teleicu/mansoq-teleicu-devices","boundary":"optional-plugin/local-service","method":"POST","path":"/api/{installed_plugin_prefix}/{camera_external_id}/position_presets/upsert/","declaredPattern":"/api/{installed_plugin_prefix}/(?P<camera_external_id>[^/.]+)/position_presets/upsert/","action":"upsert","viewset":"CameraPositionPresetViewSet","classId":"repositories/teleicu/mansoq-teleicu-devices:camera_device.viewsets.position_preset.CameraPositionPresetViewSet","detail":false,"allowedByDeclaredHttpMethods":true,"mountStatus":"plugin/local mount; actual prefix and enablement require deployment verification","routeEvidence":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/urls.py","line":11,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"handlerSource":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":271,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"registrationConditions":[],"evidenceKind":"@action declaration","methodEvidenceIds":["repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:271:upsert","repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py:53:get_queryset","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:228:handle_update","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:142:handle_create","repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py:75:get_camera_obj","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:201:clean_update_data","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:335:get_update_pydantic_model","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:346:validate_data","repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py:47:authorize_update","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:180:perform_update","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:222:get_serializer_update_context","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:325:get_retrieve_pydantic_model","repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py:80:clean_create_data","repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py:40:authorize_create","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:98:perform_create","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:139:get_serializer_create_context","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:352:fetch_patient_from_instance","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:349:fetch_encounter_from_instance","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:330:get_read_pydantic_model","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:95:get_form_submission_params"],"schemaIds":{},"classPermissionEvidence":[],"filterEvidence":[{"name":"ordering_fields","value":["sort_index","location__name"],"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":38,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"filter_backends","value":[null,null],"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":34,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"location","type":"filters.UUIDFilter","lookup":"exact","source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":22,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"reviewStatus":"static contract extracted; runtime/permission/payload behavior review pending","pathParameters":[{"name":"camera_external_id","in":"path","type":"string/default converter","required":true,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/urls.py","line":11,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"installed_plugin_prefix","in":"deployment mount","type":"deployment-selected mount prefix","required":true,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/urls.py","line":11,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}]},{"id":"backend-resource-b8df141921a90283:POST:set_default","resourceId":"backend-resource-b8df141921a90283","repository":"repositories/teleicu/mansoq-teleicu-devices","boundary":"optional-plugin/local-service","method":"POST","path":"/api/{installed_plugin_prefix}/{camera_external_id}/position_presets/{external_id}/set_default/","declaredPattern":"/api/{installed_plugin_prefix}/(?P<camera_external_id>[^/.]+)/position_presets/{external_id}/set_default/","action":"set_default","viewset":"CameraPositionPresetViewSet","classId":"repositories/teleicu/mansoq-teleicu-devices:camera_device.viewsets.position_preset.CameraPositionPresetViewSet","detail":true,"allowedByDeclaredHttpMethods":true,"mountStatus":"plugin/local mount; actual prefix and enablement require deployment verification","routeEvidence":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/urls.py","line":11,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"handlerSource":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":87,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"registrationConditions":[],"evidenceKind":"@action declaration","methodEvidenceIds":["repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py:87:set_default","repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py:53:get_queryset","repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py:47:authorize_update","repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py:75:get_camera_obj","repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py:40:authorize_create"],"schemaIds":{},"classPermissionEvidence":[],"filterEvidence":[{"name":"ordering_fields","value":["sort_index","location__name"],"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":38,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"filter_backends","value":[null,null],"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":34,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"location","type":"filters.UUIDFilter","lookup":"exact","source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":22,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"reviewStatus":"static contract extracted; runtime/permission/payload behavior review pending","pathParameters":[{"name":"camera_external_id","in":"path","type":"string/default converter","required":true,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/urls.py","line":11,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"installed_plugin_prefix","in":"deployment mount","type":"deployment-selected mount prefix","required":true,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/urls.py","line":11,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"external_id","in":"path","type":"router lookup string; semantic ID validation requires handler/schema review","required":true,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/urls.py","line":11,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}]}],"methodEvidence":[{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:168:list","name":"list","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRListMixin","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":168,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py:53:get_queryset","name":"get_queryset","owner":"repositories/teleicu/mansoq-teleicu-devices:camera_device.viewsets.position_preset.CameraPositionPresetViewSet","summary":"","source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":53,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[],"parametersRead":[{"name":"location","in":"query","type":"not declared at read site","required":"direct indexing; validation may be upstream","readStyle":"indexed","source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":59,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"permissionChecks":[{"permission":"can_read_devices_on_location","source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":61,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"permission":"can_read_device","source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":68,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"declaredErrors":[{"exception":"PermissionDenied","message":"You do not have permission to get position presets of this location","dynamicMessage":false,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":64,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"exception":"PermissionDenied","message":"You do not have permission to update device","dynamicMessage":false,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":71,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:161:serialize_list","name":"serialize_list","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRListMixin","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":161,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[{"name":"obj","type":"unspecified","required":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":161,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py:75:get_camera_obj","name":"get_camera_obj","owner":"repositories/teleicu/mansoq-teleicu-devices:camera_device.viewsets.position_preset.CameraPositionPresetViewSet","summary":"","source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":75,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:330:get_read_pydantic_model","name":"get_read_pydantic_model","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRBaseViewSet","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":330,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:158:get_serializer_list_context","name":"get_serializer_list_context","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRListMixin","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":158,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:136:create","name":"create","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRCreateMixin","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":136,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py:40:authorize_create","name":"authorize_create","owner":"repositories/teleicu/mansoq-teleicu-devices:camera_device.viewsets.position_preset.CameraPositionPresetViewSet","summary":"","source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":40,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[{"name":"instance","type":"unspecified","required":true,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":40,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"parametersRead":[],"permissionChecks":[{"permission":"can_manage_device","source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":42,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"declaredErrors":[{"exception":"PermissionDenied","message":"You do not have permission to update device","dynamicMessage":false,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":45,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:142:handle_create","name":"handle_create","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRCreateMixin","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":142,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[{"name":"request_data","type":"unspecified","required":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":142,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py:80:clean_create_data","name":"clean_create_data","owner":"repositories/teleicu/mansoq-teleicu-devices:camera_device.viewsets.position_preset.CameraPositionPresetViewSet","summary":"","source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":80,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[{"name":"request_data","type":"unspecified","required":true,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":80,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:346:validate_data","name":"validate_data","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRBaseViewSet","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":346,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[{"name":"instance","type":"unspecified","required":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":346,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"model_obj","type":"unspecified","required":false,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":346,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:98:perform_create","name":"perform_create","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRCreateMixin","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":98,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[{"name":"instance","type":"unspecified","required":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":98,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"parametersRead":[{"name":"form_submission","in":"body","type":"not declared at read site","required":"not established","readStyle":"get","dynamicName":false,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":111,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:139:get_serializer_create_context","name":"get_serializer_create_context","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRCreateMixin","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":139,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:325:get_retrieve_pydantic_model","name":"get_retrieve_pydantic_model","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRBaseViewSet","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":325,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:352:fetch_patient_from_instance","name":"fetch_patient_from_instance","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRBaseViewSet","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":352,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[{"name":"instance","type":"unspecified","required":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":352,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:349:fetch_encounter_from_instance","name":"fetch_encounter_from_instance","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRBaseViewSet","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":349,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[{"name":"instance","type":"unspecified","required":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":349,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:95:get_form_submission_params","name":"get_form_submission_params","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRCreateMixin","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":95,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[{"name":"instance","type":"unspecified","required":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":95,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:83:retrieve","name":"retrieve","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRRetrieveMixin","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":83,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:80:authorize_retrieve","name":"authorize_retrieve","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRRetrieveMixin","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":80,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[{"name":"model_instance","type":"unspecified","required":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":80,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:77:get_serializer_retrieve_context","name":"get_serializer_retrieve_context","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRRetrieveMixin","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":77,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:214:update","name":"update","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRUpdateMixin","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":214,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py:47:authorize_update","name":"authorize_update","owner":"repositories/teleicu/mansoq-teleicu-devices:camera_device.viewsets.position_preset.CameraPositionPresetViewSet","summary":"","source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":47,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[{"name":"instance","type":"unspecified","required":true,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":47,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"model_instance","type":"unspecified","required":true,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":47,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:228:handle_update","name":"handle_update","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRUpdateMixin","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":228,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[{"name":"instance","type":"unspecified","required":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":228,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"request_data","type":"unspecified","required":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":228,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:201:clean_update_data","name":"clean_update_data","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRUpdateMixin","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":201,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[{"name":"request_data","type":"unspecified","required":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":201,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"keep_fields","type":"set | None","required":false,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":201,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:335:get_update_pydantic_model","name":"get_update_pydantic_model","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRBaseViewSet","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":335,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:180:perform_update","name":"perform_update","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRUpdateMixin","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":180,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[{"name":"instance","type":"unspecified","required":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":180,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:222:get_serializer_update_context","name":"get_serializer_update_context","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRUpdateMixin","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":222,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:218:partial_update","name":"partial_update","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRUpdateMixin","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":218,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:261:destroy","name":"destroy","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRDestroyMixin","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":261,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[{"value":null,"symbol":"status.HTTP_204_NO_CONTENT","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":266,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py:50:authorize_destroy","name":"authorize_destroy","owner":"repositories/teleicu/mansoq-teleicu-devices:camera_device.viewsets.position_preset.CameraPositionPresetViewSet","summary":"","source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":50,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[{"name":"instance","type":"unspecified","required":true,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":50,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:258:validate_destroy","name":"validate_destroy","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRDestroyMixin","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":258,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[{"name":"instance","type":"unspecified","required":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":258,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:253:perform_destroy","name":"perform_destroy","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRDestroyMixin","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":253,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[{"name":"instance","type":"unspecified","required":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":253,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:271:upsert","name":"upsert","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRUpsertMixin","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":271,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[],"parametersRead":[{"name":"datapoints","in":"body","type":"not declared at read site","required":"not established","readStyle":"get","dynamicName":false,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":274,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"permissionChecks":[],"declaredErrors":[{"exception":"RestFrameworkValidationError","message":"Invalid request data","dynamicMessage":false,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":273,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"exception":"RestFrameworkValidationError","message":"No datapoints provided","dynamicMessage":false,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":276,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"exception":"RestFrameworkValidationError","message":"Too many datapoints provided","dynamicMessage":false,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":278,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"explicitResponseStatuses":[{"value":400,"symbol":null,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":307,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"conditions":[{"condition":"conditional/computed expression; inspect pinned declaration comparison settings.MAX_DATAPOINTS_PER_UPSERT","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":277,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py:87:set_default","name":"set_default","owner":"repositories/teleicu/mansoq-teleicu-devices:camera_device.viewsets.position_preset.CameraPositionPresetViewSet","summary":"","source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":87,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[{"value":200,"symbol":null,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/viewsets/position_preset.py","line":98,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"}],"schemas":[{"id":"repositories/teleicu/mansoq-teleicu-devices:camera_device.spec.PositionPresetReadSpec","name":"PositionPresetReadSpec","source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/spec.py","line":76,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"kind":"Python declared schema/model evidence","fields":[{"name":"meta","type":"dict","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/base.py","line":16,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"id","type":"UUID4 | None","required":false,"hasDefault":true,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/spec.py","line":66,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"name","type":"str","required":true,"hasDefault":false,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/spec.py","line":67,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"ptz","type":"PTZPayloadSpec","required":true,"hasDefault":false,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/spec.py","line":68,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"sort_index","type":"int | None","required":false,"hasDefault":true,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/spec.py","line":69,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"location","type":"FacilityLocationRetrieveSpec","required":true,"hasDefault":false,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/spec.py","line":77,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"is_default","type":"bool","required":true,"hasDefault":false,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/spec.py","line":78,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}}],"validation":[],"baseTypes":["PositionPresetBaseSpec"],"reviewStatus":"declared fields extracted; runtime validation review pending","referencedSchemaIds":["repositories/teleicu/mansoq-teleicu-devices:camera_device.spec.PTZPayloadSpec","repositories/platform/mansoq-core:mansoq.emr.resources.location.spec.FacilityLocationRetrieveSpec"]},{"id":"repositories/teleicu/mansoq-teleicu-devices:camera_device.spec.PTZPayloadSpec","name":"PTZPayloadSpec","source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/spec.py","line":52,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"kind":"Python declared schema/model evidence","fields":[{"name":"x","type":"float","required":true,"hasDefault":false,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/spec.py","line":53,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"y","type":"float","required":true,"hasDefault":false,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/spec.py","line":54,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"zoom","type":"float","required":true,"hasDefault":false,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/spec.py","line":55,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}}],"validation":[],"baseTypes":["BaseModel"],"reviewStatus":"declared fields extracted; runtime validation review pending","referencedSchemaIds":[]},{"id":"repositories/platform/mansoq-core:mansoq.emr.resources.location.spec.FacilityLocationRetrieveSpec","name":"FacilityLocationRetrieveSpec","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/location/spec.py","line":154,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"kind":"Python declared schema/model evidence","fields":[{"name":"meta","type":"dict","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/base.py","line":16,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"id","type":"UUID4 | None","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/location/spec.py","line":73,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"status","type":"StatusChoices","required":true,"hasDefault":false,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/location/spec.py","line":81,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"operational_status","type":"FacilityLocationOperationalStatusChoices","required":true,"hasDefault":false,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/location/spec.py","line":82,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"name","type":"str","required":true,"hasDefault":false,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/location/spec.py","line":83,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"description","type":"str","required":true,"hasDefault":false,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/location/spec.py","line":84,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"location_type","type":"Coding | None","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/location/spec.py","line":85,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"form","type":"FacilityLocationFormChoices","required":true,"hasDefault":false,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/location/spec.py","line":86,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"sort_index","type":"int | None","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/location/spec.py","line":87,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"parent","type":"dict","required":true,"hasDefault":false,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/location/spec.py","line":134,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"mode","type":"str","required":true,"hasDefault":false,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/location/spec.py","line":135,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"has_children","type":"bool","required":true,"hasDefault":false,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/location/spec.py","line":136,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"system_availability_status","type":"str","required":true,"hasDefault":false,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/location/spec.py","line":137,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"current_encounter","type":"dict | None","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/location/spec.py","line":138,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"tags","type":"list[dict]","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/location/spec.py","line":139,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"created_by","type":"dict | None","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/location/spec.py","line":155,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"updated_by","type":"dict | None","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/location/spec.py","line":156,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}}],"validation":[],"baseTypes":["FacilityLocationListSpec"],"reviewStatus":"declared fields extracted; runtime validation review pending","referencedSchemaIds":["repositories/platform/mansoq-core:mansoq.emr.resources.location.spec.StatusChoices","repositories/platform/mansoq-core:mansoq.emr.resources.location.spec.FacilityLocationOperationalStatusChoices","repositories/platform/mansoq-core:mansoq.emr.resources.common.coding.Coding","repositories/platform/mansoq-core:mansoq.emr.resources.location.spec.FacilityLocationFormChoices"]},{"id":"repositories/platform/mansoq-core:mansoq.emr.resources.location.spec.StatusChoices","name":"StatusChoices","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/location/spec.py","line":20,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"kind":"Python enum/choice declaration","fields":[],"validation":[],"baseTypes":["str","Enum"],"reviewStatus":"declared fields extracted; runtime validation review pending","members":[{"name":"active","value":"active","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/location/spec.py","line":21,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"inactive","value":"inactive","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/location/spec.py","line":22,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"unknown","value":"unknown","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/location/spec.py","line":23,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"referencedSchemaIds":[]},{"id":"repositories/platform/mansoq-core:mansoq.emr.resources.location.spec.FacilityLocationOperationalStatusChoices","name":"FacilityLocationOperationalStatusChoices","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/location/spec.py","line":31,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"kind":"Python enum/choice declaration","fields":[],"validation":[],"baseTypes":["str","Enum"],"reviewStatus":"declared fields extracted; runtime validation review pending","members":[{"name":"C","value":"C","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/location/spec.py","line":32,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"H","value":"H","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/location/spec.py","line":33,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"O","value":"O","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/location/spec.py","line":34,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"U","value":"U","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/location/spec.py","line":35,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"K","value":"K","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/location/spec.py","line":36,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"I","value":"I","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/location/spec.py","line":37,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"referencedSchemaIds":[]},{"id":"repositories/platform/mansoq-core:mansoq.emr.resources.common.coding.Coding","name":"Coding","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/common/coding.py","line":4,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"kind":"Python declared schema/model evidence","fields":[{"name":"system","type":"str | None","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/common/coding.py","line":10,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"version","type":"str | None","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/common/coding.py","line":11,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"code","type":"str","required":true,"hasDefault":false,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/common/coding.py","line":12,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"display","type":"str | None","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/common/coding.py","line":13,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}}],"validation":[],"baseTypes":["BaseModel"],"reviewStatus":"declared fields extracted; runtime validation review pending","referencedSchemaIds":[]},{"id":"repositories/platform/mansoq-core:mansoq.emr.resources.location.spec.FacilityLocationFormChoices","name":"FacilityLocationFormChoices","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/location/spec.py","line":45,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"kind":"Python enum/choice declaration","fields":[],"validation":[],"baseTypes":["str","Enum"],"reviewStatus":"declared fields extracted; runtime validation review pending","members":[{"name":"si","value":"si","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/location/spec.py","line":46,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"bu","value":"bu","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/location/spec.py","line":47,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"wi","value":"wi","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/location/spec.py","line":48,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"wa","value":"wa","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/location/spec.py","line":49,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"lvl","value":"lvl","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/location/spec.py","line":50,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"co","value":"co","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/location/spec.py","line":51,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"ro","value":"ro","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/location/spec.py","line":52,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"bd","value":"bd","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/location/spec.py","line":53,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"ve","value":"ve","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/location/spec.py","line":54,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"ho","value":"ho","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/location/spec.py","line":55,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"ca","value":"ca","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/location/spec.py","line":56,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"rd","value":"rd","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/location/spec.py","line":57,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"area","value":"area","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/location/spec.py","line":58,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"jdn","value":"jdn","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/location/spec.py","line":59,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"vi","value":"vi","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/location/spec.py","line":60,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"referencedSchemaIds":[]},{"id":"repositories/teleicu/mansoq-teleicu-devices:camera_device.spec.PositionPresetCreateSpec","name":"PositionPresetCreateSpec","source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/spec.py","line":99,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"kind":"Python declared schema/model evidence","fields":[{"name":"meta","type":"dict","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/base.py","line":16,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"id","type":"UUID4 | None","required":false,"hasDefault":true,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/spec.py","line":66,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"name","type":"str","required":true,"hasDefault":false,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/spec.py","line":67,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"ptz","type":"PTZPayloadSpec","required":true,"hasDefault":false,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/spec.py","line":68,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"sort_index","type":"int | None","required":false,"hasDefault":true,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/spec.py","line":69,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"location","type":"UUID4","required":true,"hasDefault":false,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/spec.py","line":90,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"camera","type":"UUID4","required":true,"hasDefault":false,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/spec.py","line":100,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}}],"validation":[],"baseTypes":["PositionPresetUpdateSpec"],"reviewStatus":"declared fields extracted; runtime validation review pending","referencedSchemaIds":["repositories/teleicu/mansoq-teleicu-devices:camera_device.spec.PTZPayloadSpec"]},{"id":"repositories/teleicu/mansoq-teleicu-devices:camera_device.spec.PositionPresetUpdateSpec","name":"PositionPresetUpdateSpec","source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/spec.py","line":89,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"kind":"Python declared schema/model evidence","fields":[{"name":"meta","type":"dict","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/base.py","line":16,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"id","type":"UUID4 | None","required":false,"hasDefault":true,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/spec.py","line":66,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"name","type":"str","required":true,"hasDefault":false,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/spec.py","line":67,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"ptz","type":"PTZPayloadSpec","required":true,"hasDefault":false,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/spec.py","line":68,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"sort_index","type":"int | None","required":false,"hasDefault":true,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/spec.py","line":69,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"location","type":"UUID4","required":true,"hasDefault":false,"source":{"path":"repositories/teleicu/mansoq-teleicu-devices/camera_device/spec.py","line":90,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}}],"validation":[],"baseTypes":["PositionPresetBaseSpec"],"reviewStatus":"declared fields extracted; runtime validation review pending","referencedSchemaIds":["repositories/teleicu/mansoq-teleicu-devices:camera_device.spec.PTZPayloadSpec"]}],"frameworkSettings":[{"name":"DEFAULT_AUTHENTICATION_CLASSES","value":["config.authentication.CustomJWTAuthentication","config.authentication.CustomBasicAuthentication","rest_framework.authentication.SessionAuthentication","rest_framework.authentication.TokenAuthentication"],"source":{"path":"repositories/platform/mansoq-core/config/settings/base.py","line":372,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"scope":"source default; deployment overrides and action-level policies may differ"},{"name":"DEFAULT_PERMISSION_CLASSES","value":["rest_framework.permissions.IsAuthenticated","mansoq.security.utils.permission_class.MansoqAuthentication"],"source":{"path":"repositories/platform/mansoq-core/config/settings/base.py","line":372,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"scope":"source default; deployment overrides and action-level policies may differ"},{"name":"DEFAULT_PAGINATION_CLASS","value":"mansoq.utils.pagination.mansoq_pagination.MansoqLimitOffsetPagination","source":{"path":"repositories/platform/mansoq-core/config/settings/base.py","line":372,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"scope":"source default; deployment overrides and action-level policies may differ"},{"name":"PAGE_SIZE","value":14,"source":{"path":"repositories/platform/mansoq-core/config/settings/base.py","line":372,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"scope":"source default; deployment overrides and action-level policies may differ"}]},"frontend":{"operations":[],"schemas":[]},"services":{"operations":[]},"boundaries":[]}