{
  "openapi": "3.0.1",
  "info": {
    "title": "Connect API",
    "description": "All latest versions of each path.",
    "contact": {
      "name": "Salto KS Support",
      "email": "api@saltoks.com"
    },
    "version": "v-latest"
  },
  "paths": {
    "/v1.1/sites/{site_id}/access_groups/{access_group_id}/floors": {
      "get": {
        "tags": [
          "AccessGroupFloors"
        ],
        "summary": "Gets the floors associated to the access group",
        "description": "### Permission authorization\r\n- Required: ACCESSGROUP_VIEW",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "access_group_id",
            "in": "path",
            "description": "Id of the access group",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "excluded",
            "in": "query",
            "description": "When ?excluded=true is added to the url, only floors not in the access group are returned.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FloorSummaryResponsePagedResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "AccessGroupFloors"
        ],
        "summary": "Updates the access group list of floors",
        "description": "### Permission authorization\r\n- Required: ACCESSGROUP_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "access_group_id",
            "in": "path",
            "description": "Id of the access group",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Request containing lists of ids of floors to be added and removed",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchAccessGroupFloorsRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PatchAccessGroupFloorsRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PatchAccessGroupFloorsRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/access_groups": {
      "get": {
        "tags": [
          "AccessGroups"
        ],
        "summary": "Gets the list of access groups on a site",
        "description": "### Permission authorization\r\n- Required: ACCESSGROUP_VIEW",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessGroupSummaryResponsePagedResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "AccessGroups"
        ],
        "summary": "Creates a access group",
        "description": "### Permission authorization\r\n- Required: ACCESSGROUP_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Create access group request body",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PostAccessGroupRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PostAccessGroupRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PostAccessGroupRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessGroupResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/access_groups/{access_group_id}": {
      "get": {
        "tags": [
          "AccessGroups"
        ],
        "summary": "Gets a single access group by its id",
        "description": "### Permission authorization\r\n- Required: ACCESSGROUP_VIEW",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "access_group_id",
            "in": "path",
            "description": "Id of the access group",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessGroupSummaryResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "AccessGroups"
        ],
        "summary": "Updates an access group",
        "description": "### Permission authorization\r\n- Required: ACCESSGROUP_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "access_group_id",
            "in": "path",
            "description": "Id of the access group",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Patch access group request body",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchAccessGroupRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PatchAccessGroupRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PatchAccessGroupRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessGroupResponse"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "AccessGroups"
        ],
        "summary": "Deletes an access group",
        "description": "### Permission authorization\r\n- Required: ACCESSGROUP_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "access_group_id",
            "in": "path",
            "description": "Id of the access group",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/access_groups/{access_group_id}/locks": {
      "get": {
        "tags": [
          "AccessGroupsLocks"
        ],
        "summary": "Gets the list of locks in access group",
        "description": "### Permission authorization\r\n- Required: ACCESSGROUP_VIEW",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "access_group_id",
            "in": "path",
            "description": "Id of the access group",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "excluded",
            "in": "query",
            "description": "If set to true (?excluded=true) the endpoint returns a list of locks in the site that are NOT part of the specified access group.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LockSummaryResponsePagedResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "AccessGroupsLocks"
        ],
        "summary": "Adds a lock to an access group",
        "description": "### Permission authorization\r\n- Required: ACCESSGROUP_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "access_group_id",
            "in": "path",
            "description": "Id of the access group to which the lock should be added",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Add lock to an access group request body",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PostAccessGroupLockRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PostAccessGroupLockRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PostAccessGroupLockRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LockSummaryResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "AccessGroupsLocks"
        ],
        "summary": "Updates the access group list of locks",
        "description": "### Permission authorization\r\n- Required: ACCESSGROUP_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "access_group_id",
            "in": "path",
            "description": "Id of the access group",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Request containing lists of ids of locks to be added and removed",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchAccessGroupLocksRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PatchAccessGroupLocksRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PatchAccessGroupLocksRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/access_groups/{access_group_id}/locks/{lock_id}": {
      "delete": {
        "tags": [
          "AccessGroupsLocks"
        ],
        "summary": "Deletes a lock from an access group",
        "description": "### Permission authorization\r\n- Required: ACCESSGROUP_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "access_group_id",
            "in": "path",
            "description": "Id of the access group whose lock is being deleted",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "lock_id",
            "in": "path",
            "description": "Id of the lock to be deleted",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.1/sites/{site_id}/access_groups/{access_group_id}/time_schedules": {
      "get": {
        "tags": [
          "AccessGroupsTimeSchedules"
        ],
        "summary": "Gets the list of access group time schedules",
        "description": "### Permission authorization\r\n- Required: ACCESSGROUP_VIEW",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "access_group_id",
            "in": "path",
            "description": "Id of the access group",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessScheduleResponsePagedResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "AccessGroupsTimeSchedules"
        ],
        "summary": "Creates a time schedule for an access group",
        "description": "### Permission authorization\r\n- Required: ACCESSGROUP_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "access_group_id",
            "in": "path",
            "description": "Id of the access group",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Create access group time schedule request body",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PostAccessGroupTimeScheduleRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PostAccessGroupTimeScheduleRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PostAccessGroupTimeScheduleRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessScheduleResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.1/sites/{site_id}/access_groups/{access_group_id}/time_schedules/{time_schedule_id}": {
      "patch": {
        "tags": [
          "AccessGroupsTimeSchedules"
        ],
        "summary": "Updates time schedule of an access group",
        "description": "### Permission authorization\r\n- Required: ACCESSGROUP_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "access_group_id",
            "in": "path",
            "description": "Id of the access group whose schedule is being updated",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "time_schedule_id",
            "in": "path",
            "description": "Id of the time schedule to be updated",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchTimeScheduleRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PatchTimeScheduleRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PatchTimeScheduleRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessScheduleResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "AccessGroupsTimeSchedules"
        ],
        "summary": "Deletes a time schedule from an access group",
        "description": "### Permission authorization\r\n- Required: ACCESSGROUP_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "access_group_id",
            "in": "path",
            "description": "Id of the access group whose schedule is being deleted",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "time_schedule_id",
            "in": "path",
            "description": "Id of the time schedule to be deleted",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.1/sites/{site_id}/eloxx/access_groups/{access_group_id}/users": {
      "get": {
        "tags": [
          "AccessGroupUsers"
        ],
        "summary": "Gets list of user in access group",
        "description": "### Permission authorization\r\n- Required: ACCESSGROUP_VIEW",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "access_group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserShortResponsePagedResponse"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "AccessGroupUsers"
        ],
        "summary": "Add or remove users from access group",
        "description": "### Permission authorization\r\n- Required: ACCESSGROUP_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "access_group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchAccessGroupUsersRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PatchAccessGroupUsersRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PatchAccessGroupUsersRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/v1.1/sites/{site_id}/eloxx/access_groups/{access_group_id}/users/available": {
      "get": {
        "tags": [
          "AccessGroupUsers"
        ],
        "summary": "Gets list of user out of access group",
        "description": "### Permission authorization\r\n- Required: ACCESSGROUP_VIEW",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "access_group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserShortResponsePagedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/access_groups/{access_group_id}/users": {
      "post": {
        "tags": [
          "AccessGroupUsers"
        ],
        "summary": "Add a user to an access group",
        "description": "### Permission authorization\r\n- Required: ACCESSGROUP_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "access_group_id",
            "in": "path",
            "description": "Id of the access group to which the user should be added",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PostAccessGroupUserRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PostAccessGroupUserRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PostAccessGroupUserRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserShortResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "AccessGroupUsers"
        ],
        "summary": "Updates the access group list of users",
        "description": "### Permission authorization\r\n- Required: ACCESSGROUP_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "access_group_id",
            "in": "path",
            "description": "Id of the access group",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Request containing lists of ids of users to be added and removed",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchAccessGroupUsersRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PatchAccessGroupUsersRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PatchAccessGroupUsersRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "AccessGroupUsers"
        ],
        "summary": "Gets the list of users in access group",
        "description": "### Permission authorization\r\n- Required: ACCESSGROUP_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "access_group_id",
            "in": "path",
            "description": "Id of the access group",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "excluded",
            "in": "query",
            "description": "Flag to return excluded users from access group",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserShortResponsePagedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/access_groups/{access_group_id}/users/{user_id}": {
      "delete": {
        "tags": [
          "AccessGroupUsers"
        ],
        "summary": "Deletes a user from an access group",
        "description": "### Permission authorization\r\n- Required: ACCESSGROUP_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "access_group_id",
            "in": "path",
            "description": "Id of the access group whose user is being deleted",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "user_id",
            "in": "path",
            "description": "Id of the user to be deleted",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.1/sites/{site_id}/audit": {
      "get": {
        "tags": [
          "Audit"
        ],
        "summary": "Gets audit entries of a site",
        "description": "### Permission authorization\r\n- Required: ACTIVITY_LOGS_VIEW",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuditAggregatedResponsePagedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.1/sites/{site_id}/audit/settings": {
      "get": {
        "tags": [
          "Audit"
        ],
        "summary": "Gets audit retention settings of a site",
        "description": "### Permission authorization\r\n- Required: ACTIVITY_LOGS_VIEW",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAuditRetentionSettingsResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Audit"
        ],
        "summary": "[Feature Validation] Create or update the retention settings of a site",
        "description": "### Permission authorization\r\n- Required: ACTIVITY_LOGS_TTL_EDIT\r\n            \r\n### Subscription Feature validation\r\nThis endpoint includes feature-level validation. API calls to this endpoint are only allowed when the site subscription includes the Activity Log feature.\r\n            \r\nMake sure to verify beforehand that the subscription package contains the required Activity Log feature for this endpoint.\r\n            \r\nFor more information, contact your local Salto representative.",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PutAuditRetentionSettingsRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PutAuditRetentionSettingsRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PutAuditRetentionSettingsRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PutAuditRetentionSettingsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.1/sites/{site_id}/users/{site_user_id}/settings/{key}": {
      "get": {
        "tags": [
          "CustomSettings"
        ],
        "summary": "Gets the custom settings for a site user",
        "description": "### Permission authorization\r\n- Required: USER_VIEW_OWN",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "site_user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "key",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomSettingsResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "CustomSettings"
        ],
        "summary": "Deletes the custom settings for a site user",
        "description": "### Permission authorization\r\n- Required: USER_VIEW_OWN",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "site_user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "key",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "CustomSettings"
        ],
        "summary": "Creates or updates the custom settings for a site user",
        "description": "### Permission authorization\r\n- Required: USER_VIEW_OWN",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "site_user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "key",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomSettingsRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CustomSettingsRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/CustomSettingsRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/users/{site_user_id}/data_removals": {
      "post": {
        "tags": [
          "DataRemovals"
        ],
        "summary": "Creates a data removal request for a site user",
        "description": "### Permission authorization\r\n- Required: None",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "site_user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PostDataRemovalRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PostDataRemovalRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PostDataRemovalRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "DataRemovals"
        ],
        "summary": "Gets the data removal request for a site user",
        "description": "### Permission authorization\r\n- Required: None",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "site_user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DataRemovalResponse"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "DataRemovals"
        ],
        "summary": "Deletes the data removal request for a site user",
        "description": "### Permission authorization\r\n- Required: None",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "site_user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "DataRemovals"
        ],
        "summary": "Updates the data removal request for a site user",
        "description": "### Permission authorization\r\n- Required: None",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "site_user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchDataRemovalRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PatchDataRemovalRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PatchDataRemovalRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/locks/{lock_id}/easy_office_mode_schedule": {
      "get": {
        "tags": [
          "EasyOfficeModeSchedules"
        ],
        "summary": "Gets the Easy Office Mode for a lock if it exists",
        "description": "### Permission authorization\r\n- Required: HARDWARE_VIEW_ALL\r\n- Accessible: HARDWARE_VIEW_ACCESSIBLE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "lock_id",
            "in": "path",
            "description": "Id of the lock",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EasyOfficeModeScheduleResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "EasyOfficeModeSchedules"
        ],
        "summary": "Sets/updates the Easy Office Mode for a lock",
        "description": "### Permission authorization\r\n- Required: LOCK_EOM_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "lock_id",
            "in": "path",
            "description": "Id of the lock",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Put Easy Office Mode request body",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PutEomScheduleRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PutEomScheduleRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PutEomScheduleRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EasyOfficeModeScheduleResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "EasyOfficeModeSchedules"
        ],
        "summary": "Deletes the Easy Office Mode of a lock if it exists",
        "description": "### Permission authorization\r\n- Required: LOCK_EOM_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "lock_id",
            "in": "path",
            "description": "Id of the lock",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.1/sites/{site_id}/eloxx/access_groups/{access_group_id}": {
      "delete": {
        "tags": [
          "EloxxAccessGroups"
        ],
        "summary": "Deletes access group by Id",
        "description": "### Permission authorization\r\n- Required: ACCESSGROUP_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "access_group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/v1.1/sites/{site_id}/entries": {
      "get": {
        "tags": [
          "Entries"
        ],
        "summary": "Gets the list of entries the current user can view in the site",
        "description": "### Permission authorization\r\n- Required: ENTRIES_VIEW_ALL\r\n- Accessible: ENTRIES_VIEW_OWN",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          },
          {
            "name": "CLP-Continuation-Token",
            "in": "header",
            "description": "Continuation token used for pagination. Should be provided in a custom header: CLP-Continuation-Token",
            "schema": {
              "type": "string",
              "default": null
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntryResponsePagedResponseWithContinuationToken"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/entries/export": {
      "get": {
        "tags": [
          "Entries"
        ],
        "summary": "Exports a list of entries the current user can view in the site",
        "description": "### Permission authorization\r\n- Required: ENTRIES_VIEW_ALL\r\n- Accessible: ENTRIES_VIEW_OWN",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "from_date",
            "in": "query",
            "description": "Timestamp range start (local date time)\r\n            Even though its nullable, it is Required for exporting entries for multiple users",
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-03-30T01:23:45.678"
            }
          },
          {
            "name": "to_date",
            "in": "query",
            "description": "Timestamp range end (local date time)",
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-03-30T01:23:45.678"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/ExportEventsFilterRequest"
                }
              }
            }
          }
        }
      }
    },
    "/v1.1/sites/{site_id}/users/{site_user_id}/entry_notification_rules": {
      "get": {
        "tags": [
          "EntryNotificationRules"
        ],
        "summary": "Gets the list of entry notifications for the user",
        "description": "### Permission authorization\r\n- Required: ENTRY_NOTIFICATION_MANAGE_OWN",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "site_user_id",
            "in": "path",
            "description": "Id of the site user",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntryNotificationRuleResponsePagedResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "EntryNotificationRules"
        ],
        "summary": "Creates an Entry Notification Rule for the user",
        "description": "### Permission authorization\r\n- Required: ENTRY_NOTIFICATION_MANAGE_OWN",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "site_user_id",
            "in": "path",
            "description": "Id of the site user",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "New Entry Notification Rule",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EntryNotificationRuleRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EntryNotificationRuleRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/EntryNotificationRuleRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntryNotificationRuleResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.1/sites/{site_id}/users/{site_user_id}/entry_notification_rules/{entry_notification_rule_id}": {
      "patch": {
        "tags": [
          "EntryNotificationRules"
        ],
        "summary": "Edit an Entry Notification Rule for the user",
        "description": "### Permission authorization\r\n- Required: ENTRY_NOTIFICATION_MANAGE_OWN",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "site_user_id",
            "in": "path",
            "description": "Id of the site user",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "entry_notification_rule_id",
            "in": "path",
            "description": "Id of the entry notification rule",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Entry Notification Rule",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchEntryNotificationRuleRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PatchEntryNotificationRuleRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PatchEntryNotificationRuleRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntryNotificationRuleResponse"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "EntryNotificationRules"
        ],
        "summary": "Delete an Entry Notification Rule for the user",
        "description": "### Permission authorization\r\n- Required: ENTRY_NOTIFICATION_MANAGE_OWN",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "site_user_id",
            "in": "path",
            "description": "Id of the site user",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "entry_notification_rule_id",
            "in": "path",
            "description": "Id of the entry notification rule",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/v1.1/sites/{site_id}/floors": {
      "post": {
        "tags": [
          "Floors"
        ],
        "summary": "Creates a new floor in the site",
        "description": "### Permission authorization\r\n- Required: FLOOR_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PostFloorRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PostFloorRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PostFloorRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FloorSummaryResponse"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Floors"
        ],
        "summary": "Gets floors of a site",
        "description": "### Permission authorization\r\n- Required: FLOOR_VIEW",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FloorSummaryResponsePagedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.1/sites/{site_id}/floors/{id}": {
      "get": {
        "tags": [
          "Floors"
        ],
        "summary": "Gets a floor by id",
        "description": "### Permission authorization\r\n- Required: FLOOR_VIEW",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Id of the floor",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FloorSummaryResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Floors"
        ],
        "summary": "Deletes a floor in the site",
        "description": "### Permission authorization\r\n- Required: FLOOR_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Id of the floor",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "force",
            "in": "query",
            "description": "Optional parameter, default value is false.\r\n            When false: If a floor is linked to one or more locks, it will not be possible to delete it.\r\n            When true: floor can be deleted even if it has lock relationships.\r\n            Locks won't be deleted, only the relationships will.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Floors"
        ],
        "summary": "Updates a new floor in the site",
        "description": "### Permission authorization\r\n- Required: FLOOR_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Id of the floor",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchFloorRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PatchFloorRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PatchFloorRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FloorSummaryResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.1/sites/{site_id}/floors/{id}/locks": {
      "get": {
        "tags": [
          "Floors"
        ],
        "summary": "Gets locks belonging to a floor",
        "description": "### Permission authorization\r\n- Required: FLOOR_VIEW",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Id of the floor",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LockResponseExtendedPagedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.1/sites/{site_id}/users/{site_user_id}/incident_notification_rules": {
      "get": {
        "tags": [
          "IncidentNotificationRules"
        ],
        "summary": "Gets the list of incident notifications for the user",
        "description": "### Permission authorization\r\n- Required: INCIDENT_NOTIFICATION_MANAGE_OWN",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "site_user_id",
            "in": "path",
            "description": "Id of the site user",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IncidentNotificationRuleResponsePagedResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "IncidentNotificationRules"
        ],
        "summary": "Creates an Incident Notification Rule for the user",
        "description": "### Permission authorization\r\n- Required: INCIDENT_NOTIFICATION_MANAGE_OWN",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "site_user_id",
            "in": "path",
            "description": "Id of the site user",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "New Incident Notification Rule",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IncidentNotificationRuleRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/IncidentNotificationRuleRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/IncidentNotificationRuleRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IncidentNotificationRuleResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.1/sites/{site_id}/users/{site_user_id}/incident_notification_rules/{incident_notification_rule_id}": {
      "patch": {
        "tags": [
          "IncidentNotificationRules"
        ],
        "summary": "Edit an Incident Notification Rule for the user",
        "description": "### Permission authorization\r\n- Required: INCIDENT_NOTIFICATION_MANAGE_OWN",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "site_user_id",
            "in": "path",
            "description": "Id of the site user",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "incident_notification_rule_id",
            "in": "path",
            "description": "Id of the incident notification rule",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Incident Notification Rule",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchIncidentNotificationRuleRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PatchIncidentNotificationRuleRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PatchIncidentNotificationRuleRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IncidentNotificationRuleResponse"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "IncidentNotificationRules"
        ],
        "summary": "Delete an Incident Notification Rule for the user",
        "description": "### Permission authorization\r\n- Required: INCIDENT_NOTIFICATION_MANAGE_OWN",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "site_user_id",
            "in": "path",
            "description": "Id of the site user",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "incident_notification_rule_id",
            "in": "path",
            "description": "Id of the incident notification rule",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/v1.1/sites/{site_id}/incidents": {
      "get": {
        "tags": [
          "Incidents"
        ],
        "summary": "Gets the list of incidents the current user can view in the site",
        "description": "### Permission authorization\r\n- Required: INCIDENTS_VIEW_ALL",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          },
          {
            "name": "CLP-Continuation-Token",
            "in": "header",
            "description": "Continuation token used for pagination. Should be provided in a custom header: CLP-Continuation-Token",
            "schema": {
              "type": "string",
              "default": null
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IncidentResponsePagedResponseWithContinuationToken"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/incidents/export": {
      "get": {
        "tags": [
          "Incidents"
        ],
        "summary": "Exports a list of incidents the current user can view in the site",
        "description": "### Permission authorization\r\n- Required: INCIDENTS_VIEW_ALL",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "from_date",
            "in": "query",
            "description": "Timestamp range start (local date time)\r\n            Even though its nullable, it is Required for exporting entries for multiple users",
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-03-30T01:23:45.678"
            }
          },
          {
            "name": "to_date",
            "in": "query",
            "description": "Timestamp range end (local date time)",
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2026-03-30T01:23:45.678"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/ExportEventsFilterRequest"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/installer_access": {
      "get": {
        "tags": [
          "InstallerAccess"
        ],
        "summary": "Gets an installer access information for the site",
        "description": "### Permission authorization\r\n- Required: INSTALLER_ACCESS_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InstallerAccessResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "InstallerAccess"
        ],
        "summary": "Enables or disables the installer access of the site",
        "description": "### Permission authorization\r\n- Required: INSTALLER_ACCESS_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PutInstallerAccessRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PutInstallerAccessRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PutInstallerAccessRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InstallerAccessResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/installer_access/iqs": {
      "get": {
        "tags": [
          "InstallerAccess"
        ],
        "summary": "Gets a list of IQs with their installer access state",
        "description": "### Permission authorization\r\n- Required: INSTALLER_ACCESS_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InstallerAccessIqsResponsePagedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/installer_access/iqs/{iq_id}": {
      "patch": {
        "tags": [
          "InstallerAccess"
        ],
        "summary": "Enables installer access to the specified IQ",
        "description": "### Permission authorization\r\n- Required: INSTALLER_ACCESS_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "iq_id",
            "in": "path",
            "description": "Id of the IQ",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchInstallerAccessIqRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PatchInstallerAccessIqRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PatchInstallerAccessIqRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InstallerAccessIqsResponsePagedResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.1/sites/{site_id}/intercom": {
      "get": {
        "tags": [
          "Intercom"
        ],
        "summary": "Gets current Intercom site information",
        "description": "### Permission authorization\r\n- Required: SITE_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntercomResponse"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Intercom"
        ],
        "summary": "Toggle the intercom integration of a site",
        "description": "### Permission authorization\r\n- Required: SITE_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IntercomIntegrationToggleRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/IntercomIntegrationToggleRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/IntercomIntegrationToggleRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          }
        }
      }
    },
    "/v1.1/sites/{site_id}/intercom/entrances": {
      "get": {
        "tags": [
          "Intercom"
        ],
        "summary": "Gets current Intercom setup info",
        "description": "### Permission authorization\r\n- Required: SITE_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntercomEntranceResponsePagedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/iqs/{id}/pin": {
      "get": {
        "tags": [
          "IqPin"
        ],
        "summary": "Gets the pin of the current user for that IQ and sends it as SMS",
        "description": "### Permission authorization\r\n- Required: REMOTE_LOCKING_ALL, REMOTE_OFFICEMODE_ALL\r\n- Accessible: REMOTE_LOCKING_ACCESSIBLE, REMOTE_OFFICEMODE_ACCESSIBLE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Site id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Iq id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "send_email",
            "in": "query",
            "description": "Flag to send the email instead of SMS",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "IqPin"
        ],
        "summary": "Changes the pin of the user",
        "description": "### Permission authorization\r\n- Required: REMOTE_LOCKING_ALL, REMOTE_OFFICEMODE_ALL\r\n- Accessible: REMOTE_LOCKING_ACCESSIBLE, REMOTE_OFFICEMODE_ACCESSIBLE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Iq id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PutPinRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PutPinRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PutPinRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/iqs/{id}/pin/{user_id}": {
      "delete": {
        "tags": [
          "IqPin"
        ],
        "summary": "Resets an activation",
        "description": "### Permission authorization\r\n- Required: PIN_RESET",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Site id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Iq id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "user_id",
            "in": "path",
            "description": "user id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "otp",
            "in": "query",
            "description": "Generated one time password",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/iqs": {
      "get": {
        "tags": [
          "Iqs"
        ],
        "summary": "Gets the list of IQs the current user can view in the site",
        "description": "### Permission authorization\r\n- Required: HARDWARE_VIEW_ALL\r\n- Accessible: HARDWARE_VIEW_ACCESSIBLE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IqResponsePagedResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Iqs"
        ],
        "summary": "Activates an IQ in the site",
        "description": "### Permission authorization\r\n- Required: HARDWARE_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PostIqRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PostIqRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PostIqRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IqResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/iqs/{id}": {
      "get": {
        "tags": [
          "Iqs"
        ],
        "summary": "Gets a single IQ by id",
        "description": "### Permission authorization\r\n- Required: HARDWARE_VIEW_ALL\r\n- Accessible: HARDWARE_VIEW_ACCESSIBLE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Id of the iq",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IqResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Iqs"
        ],
        "summary": "Updates IQ information",
        "description": "### Permission authorization\r\n- Required: HARDWARE_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchIqRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PatchIqRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PatchIqRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IqResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/iqs/{id}/secret": {
      "get": {
        "tags": [
          "Iqs"
        ],
        "summary": "Get the secret of the IQ",
        "description": "### Permission authorization\r\n- Required: REMOTE_LOCKING_ALL / REMOTE_OFFICEMODE_ALL\r\n- Accessible: REMOTE_LOCKING_ACCESSIBLE / REMOTE_OFFICEMODE_ACCESSIBLE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Site id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Iq id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "otp",
            "in": "query",
            "description": "Generated one time password",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IqSecretResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/iqs/{id}/signal_strength": {
      "get": {
        "tags": [
          "Iqs"
        ],
        "summary": "Gets the last known signal strength of the IQ",
        "description": "### Permission authorization\r\n- Required: HARDWARE_VIEW_ALL\r\n- Accessible: HARDWARE_VIEW_ACCESSIBLE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Site id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Iq id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "force_refresh",
            "in": "query",
            "description": "If this is set to true the signal strength is directly asked to the IQ",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SignalStrengthResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/iqs/{id}/software_versions": {
      "get": {
        "tags": [
          "Iqs"
        ],
        "summary": "Gets the IQ software versions",
        "description": "### Permission authorization\r\n- Required: HARDWARE_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Site id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Iq id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IqSoftwareVersionsResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/iqs/{id}/replace": {
      "post": {
        "tags": [
          "Iqs"
        ],
        "summary": "Replaces the IQ with a new one",
        "description": "### Permission authorization\r\n- Required: HARDWARE_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Site id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Iq id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReplaceIqRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ReplaceIqRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/ReplaceIqRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/iqs/{id}/restore": {
      "post": {
        "tags": [
          "Iqs"
        ],
        "summary": "Restores the IQ after reset",
        "description": "### Permission authorization\r\n- Required: HARDWARE_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "id of the IQ",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IqResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/iqs/{id}/tree": {
      "get": {
        "tags": [
          "IqTree"
        ],
        "summary": "Gets a tree of the IQ",
        "description": "### Permission authorization\r\n- Required: HARDWARE_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Id of the IQ",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TreeItemResponse"
                  }
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "IqTree"
        ],
        "summary": "Sets the hardware tree of the IQ",
        "description": "### Permission authorization\r\n- Required: HARDWARE_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Site id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Iq id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PutIqTreeRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PutIqTreeRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PutIqTreeRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TreeItemResponse"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/users/{site_user_id}/license_plates": {
      "post": {
        "tags": [
          "LicensePlates"
        ],
        "summary": "[Feature Validation] Creates a license plate credential for a site user.",
        "description": "### Permission authorization\r\n- Required: LICENSE_PLATE_MANAGE\r\n- Accessible: LICENSE_PLATE_MANAGE_OWN\r\n            \r\n### Subscription Feature validation\r\nThis endpoint includes feature-level validation. API calls to this endpoint are only allowed when the site subscription includes the License Plate feature.\r\n            \r\nMake sure to verify beforehand that the subscription package contains the required License Plate feature for this endpoint.\r\n            \r\nFor more information, contact your local Salto representative.",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "site_user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PostLicensePlateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PostLicensePlateRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PostLicensePlateRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LicensePlateResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/users/{site_user_id}/license_plates/{license_place_id}": {
      "delete": {
        "tags": [
          "LicensePlates"
        ],
        "summary": "Deletes a license plate credential for a site user.",
        "description": "### Permission authorization\r\n- Required: LICENSE_PLATE_MANAGE\r\n- Accessible: LICENSE_PLATE_MANAGE_OWN",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "site_user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "license_place_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "LicensePlates"
        ],
        "summary": "[Feature Validation] Updates a license plate credential for a site user.",
        "description": "### Permission authorization\r\n- Required: LICENSE_PLATE_MANAGE\r\n- Accessible: LICENSE_PLATE_MANAGE_OWN\r\n            \r\n### Subscription Feature validation\r\nThis endpoint includes feature-level validation. API calls to this endpoint are only allowed when the site subscription includes the License Plate feature.\r\n            \r\nMake sure to verify beforehand that the subscription package contains the required License Plate feature for this endpoint.\r\n            \r\nFor more information, contact your local Salto representative.",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "site_user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "license_place_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchLicensePlateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PatchLicensePlateRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PatchLicensePlateRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LicensePlateResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.1/sites/{site_id}/eloxx/lockers": {
      "get": {
        "tags": [
          "Lockers"
        ],
        "summary": "Gets list of Lockers",
        "description": "### Permission authorization\r\n- Required: HARDWARE_VIEW_ALL\r\n- Accessible: HARDWARE_VIEW_ACCESSIBLE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LockerResponsePagedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.1/sites/{site_id}/eloxx/lockers/{id}": {
      "get": {
        "tags": [
          "Lockers"
        ],
        "summary": "Gets Locker by id",
        "description": "### Permission authorization\r\n- Required: HARDWARE_VIEW_ALL\r\n- Accessible: HARDWARE_VIEW_ACCESSIBLE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LockerResponse"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Lockers"
        ],
        "summary": "[Feature Validation] Update Locker by id",
        "description": "### Permission authorization\r\n- Required: HARDWARE_MANAGE\r\n            \r\n### Subscription Feature validation\r\nThis endpoint includes feature-level validation. API calls to this endpoint are only allowed when the site subscription includes the Eloxx feature.\r\n            \r\nMake sure to verify beforehand that the subscription package contains the required Eloxx feature for this endpoint.\r\n            \r\nFor more information, contact your local Salto representative.",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchLockerRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PatchLockerRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PatchLockerRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LockerResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.1/sites/{site_id}/eloxx/lockers/assignments": {
      "get": {
        "tags": [
          "Lockers"
        ],
        "summary": "Gets Locker Assignments",
        "description": "### Permission authorization\r\n- Required: ACCESSGROUP_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LockerAssignmentResponsePagedResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Lockers"
        ],
        "summary": "[Feature Validation] Creates or updates AccessGroup for users and selected locker",
        "description": "### Permission authorization\r\n- Required: ACCESSGROUP_MANAGE\r\n            \r\n### Subscription Feature validation\r\nThis endpoint includes feature-level validation. API calls to this endpoint are only allowed when the site subscription includes the ELoxx feature.\r\n            \r\nMake sure to verify beforehand that the subscription package contains the required ELoxx feature for this endpoint.\r\n            \r\nFor more information, contact your local Salto representative.",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PutAssignmentRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PutAssignmentRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PutAssignmentRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/v1.1/sites/{site_id}/eloxx/lockers/{id}/action": {
      "post": {
        "tags": [
          "Lockers"
        ],
        "summary": "[Feature Validation] Perform Lock Action",
        "description": "### Permission authorization\r\n- Required: REMOTE_LOCKING_ALL\r\n- Accessible: REMOTE_LOCKING_ACCESSIBLE\r\n            \r\n### Subscription Feature validation\r\nThis endpoint includes feature-level validation. API calls to this endpoint are only allowed when the site subscription includes the Eloxx feature.\r\n            \r\nMake sure to verify beforehand that the subscription package contains the required Eloxx feature for this endpoint.\r\n            \r\nFor more information, contact your local Salto representative.",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LockActionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/LockActionRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/LockActionRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/v1.1/sites/{site_id}/eloxx/lockers/occupations": {
      "get": {
        "tags": [
          "LockersOccupations"
        ],
        "summary": "Gets list of occupied lockers by user",
        "description": "### Permission authorization\r\n- Required: USER_VIEW_OWN",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LockerResponsePagedResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "LockersOccupations"
        ],
        "summary": "[Feature Validation] Occupy locker",
        "description": "### Permission authorization\r\n- Required: USER_VIEW_OWN\r\n            \r\n### Subscription Feature validation\r\nThis endpoint includes feature-level validation. API calls to this endpoint are only allowed when the site subscription includes the ELoxx feature.\r\n            \r\nMake sure to verify beforehand that the subscription package contains the required ELoxx feature for this endpoint.\r\n            \r\nFor more information, contact your local Salto representative.",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OccupyLockerRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/OccupyLockerRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/OccupyLockerRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/v1.1/sites/{site_id}/eloxx/lockers/occupations/available": {
      "get": {
        "tags": [
          "LockersOccupations"
        ],
        "summary": "Gets list of available lockers for occupation",
        "description": "### Permission authorization\r\n- Required: USER_VIEW_OWN",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LockerResponsePagedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.1/sites/{site_id}/eloxx/lockers/occupations/{lock_id}": {
      "delete": {
        "tags": [
          "LockersOccupations"
        ],
        "summary": "Delete locker occupation",
        "description": "### Permission authorization\r\n- Required: USER_VIEW_OWN",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "lock_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/locks/{id}/offline_keys": {
      "patch": {
        "tags": [
          "LockOfflineKeys"
        ],
        "summary": "Sets and(or) revokes the guaranteed Offline Access for a list of user keys on a specific lock",
        "description": "### Permission authorization\r\n- Required: HARDWARE_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Id of the lock",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Request body",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchLockOfflineAccessRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PatchLockOfflineAccessRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PatchLockOfflineAccessRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "LockOfflineKeys"
        ],
        "summary": "Gets all keys that have offline access to the lock (when excluded=true gets keys that can get offline access)",
        "description": "### Permission authorization\r\n- Required: HARDWARE_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "site Id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "lock Id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "excluded",
            "in": "query",
            "description": "when excluded=true gets keys that can get offline access:\r\n            they must have online access to the lock, they can't be pin keys",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExtendedSiteUserKeyResponsePagedResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/locks": {
      "get": {
        "tags": [
          "Locks"
        ],
        "summary": "Gets the list of locks the current user can view in the site",
        "description": "### Permission authorization\r\n- Required: HARDWARE_VIEW_ALL\r\n- Accessible: HARDWARE_VIEW_ACCESSIBLE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LockResponseExtendedPagedResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Locks"
        ],
        "summary": "Adds a new lock to the site",
        "description": "### Permission authorization\r\n- Required: HARDWARE_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Request body",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateLockRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateLockRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/CreateLockRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LockResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/locks/{id}": {
      "get": {
        "tags": [
          "Locks"
        ],
        "summary": "Gets a single lock by id",
        "description": "### Permission authorization\r\n- Required: HARDWARE_VIEW_ALL\r\n- Accessible: HARDWARE_VIEW_ACCESSIBLE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Id of the lock",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LockResponseExtended"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Locks"
        ],
        "summary": "Updates lock info if the current user has permissions",
        "description": "### Permission authorization\r\n- Required: LOCK_INFO_EDIT / FLOOR_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Id of the lock to be patched",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Patch lock request body",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchLockRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PatchLockRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PatchLockRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LockResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Locks"
        ],
        "summary": "Deletes the lock from the site",
        "description": "### Permission authorization\r\n- Required: HARDWARE_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Id of the lock",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/locks/{id}/locking": {
      "patch": {
        "tags": [
          "Locks"
        ],
        "summary": "Performs unlock action or puts the lock in office mode if the current user has permissions",
        "description": "### Permission authorization\r\n- Required: REMOTE_LOCKING_ALL / REMOTE_OFFICEMODE_ALL\r\n- Accessible: REMOTE_LOCKING_ACCESSIBLE / REMOTE_OFFICEMODE_ACCESSIBLE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Id of the lock",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Request body",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LockingRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/LockingRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/LockingRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LockResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/locks/{id}/detach": {
      "patch": {
        "tags": [
          "Locks"
        ],
        "summary": "Detaches the lock from the Iq",
        "description": "### Permission authorization\r\n- Required: HARDWARE_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Id of the lock",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Request body",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DetachLockRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DetachLockRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/DetachLockRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LockResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/locks/{id}/tag_registration": {
      "patch": {
        "tags": [
          "Locks"
        ],
        "summary": "Activates the lock tag registration mode if the current user has permissions",
        "description": "### Permission authorization\r\n- Required: LOCK_INFO_EDIT",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Id of the lock",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Request body",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TagRegistrationRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TagRegistrationRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/TagRegistrationRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LockResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/locks/{id}/replace": {
      "patch": {
        "tags": [
          "Locks"
        ],
        "summary": "Replace a lock with another lock.",
        "description": "### Permission authorization\r\n- Required: HARDWARE_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Id of the lock to be replaced",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Request body containing data of the lock to be replace to.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReplaceLockRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ReplaceLockRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/ReplaceLockRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LockResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/locks/{lock_id}/access_groups": {
      "get": {
        "tags": [
          "LocksAccessGroups"
        ],
        "summary": "Returns the list of access groups by lock id",
        "description": "### Permission authorization\r\n- Required: ACCESSGROUP_VIEW",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Site Id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "lock_id",
            "in": "path",
            "description": "Id of the site user",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.1/sites/{site_id}/locks/{id}/settings": {
      "get": {
        "tags": [
          "LockSettings"
        ],
        "summary": "Gets settings associated with the lock",
        "description": "### Permission authorization\r\n- Required: HARDWARE_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Id of the lock",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LockSettingsResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "LockSettings"
        ],
        "summary": "Create or update settings associated with the lock",
        "description": "### Permission authorization\r\n- Required: HARDWARE_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Id of the lock",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Settings request",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PutLockSettingsRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PutLockSettingsRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PutLockSettingsRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LockSettingsResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/me": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Get the user's own information",
        "description": "### Permission authorization\r\n- Required: None",
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MeResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/me/{site_id}/activated_iqs": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Returns list of activated Iqs of current user",
        "description": "### Permission authorization\r\n- Required: None",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IqPinResponsePagedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/me/devices": {
      "get": {
        "tags": [
          "MeDevices"
        ],
        "summary": "Gets the list of devices for the current user",
        "description": "### Permission authorization\r\n- Required: None",
        "parameters": [
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteUserDeviceResponsePagedResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "MeDevices"
        ],
        "summary": "Adds a new device to the user",
        "description": "### Permission authorization\r\n- Required: None",
        "requestBody": {
          "description": "Request body",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PostNewSiteUserDeviceRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PostNewSiteUserDeviceRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PostNewSiteUserDeviceRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteUserDeviceWithCertificateResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/me/devices/{id}": {
      "get": {
        "tags": [
          "MeDevices"
        ],
        "summary": "Gets a device by id for the current user",
        "description": "### Permission authorization\r\n- Required: None",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id of the device",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteUserDeviceResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "MeDevices"
        ],
        "summary": "Deletes user's device by id",
        "description": "### Permission authorization\r\n- Required: None",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id of the device",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/me/devices/{id}/mkey": {
      "get": {
        "tags": [
          "MeDevices"
        ],
        "summary": "Gets a digital key by device id if the current device is activated",
        "description": "### Permission authorization\r\n- Required: None",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id of the device",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MKeyResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/me/devices/{id}/certificate": {
      "put": {
        "tags": [
          "MeDevices"
        ],
        "summary": "Replaces the existing certificate for the existing user's device",
        "description": "### Permission authorization\r\n- Required: None",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id of the device",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Request body",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PutSiteUserDeviceCertificateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PutSiteUserDeviceCertificateRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PutSiteUserDeviceCertificateRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteUserDeviceWithCertificateResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/me/keys": {
      "get": {
        "tags": [
          "MeKeys"
        ],
        "summary": "Returns user's own list of keys",
        "description": "### Permission authorization\r\n- Required: None",
        "parameters": [
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserKeyResponsePagedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/me/pin": {
      "put": {
        "tags": [
          "MePins"
        ],
        "summary": "Create or update random user pin",
        "description": "### Permission authorization\r\n- Required: None",
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PutOwnPinRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PutOwnPinRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PutOwnPinRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/me/pin/custom": {
      "put": {
        "tags": [
          "MePins"
        ],
        "summary": "Create or update custom user pin",
        "description": "### Permission authorization\r\n- Required: None\r\n### Custom pin requirements\r\n- Must be more than 4 digits\r\n- Must be only numbers\r\n- Must not all be the same number eg: *1111*\r\n- Must not repeat the same pattern eg: *1212, 123123*\r\n- Must not be sequential eg: *1234, 5678*",
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PutOwnCustomPinRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PutOwnCustomPinRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PutOwnCustomPinRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/v1.1/sites/{site_id}/pods/{pod_id}/access_codes": {
      "get": {
        "tags": [
          "PodAccessCodes"
        ],
        "summary": "Get a list of access codes generated for pod",
        "description": "### Permission authorization\r\n- Required: POD_GUEST_INVITE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site to create the Pod in",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pod_id",
            "in": "path",
            "description": "Id of the pod",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PodAccessCodeWithOwnerResponsePagedResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "PodAccessCodes"
        ],
        "summary": "Create a new Access Code",
        "description": "### Permission authorization\r\n- Required: POD_GUEST_INVITE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site to create the Pod in",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pod_id",
            "in": "path",
            "description": "Id of the pod",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "request to create the Pod Access Code",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PutPodAccessCodeRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PutPodAccessCodeRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PutPodAccessCodeRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PodAccessCodeResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "PodAccessCodes"
        ],
        "summary": "Revoke active access code for the pod",
        "description": "### Permission authorization\r\n- Required: POD_GUEST_INVITE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site to create the Pod in",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pod_id",
            "in": "path",
            "description": "Id of the pod",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.1/sites/{site_id}/pods/{pod_id}/access_rule/{access_rule_id}/locks": {
      "get": {
        "tags": [
          "PodAccessRuleLocks"
        ],
        "summary": "Get a list of locks assigned to a pod access rule",
        "description": "### Permission authorization\r\n- Required: POD_MANAGE\r\n- Accessible: POD_VIEW_ACCESSIBLE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pod_id",
            "in": "path",
            "description": "Id of the pod",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "access_rule_id",
            "in": "path",
            "description": "Id of the access rule",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PodAccessRuleLockResponsePagedResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "PodAccessRuleLocks"
        ],
        "summary": "[Feature Validation] Updates the access rule list of locks",
        "description": "### Permission authorization\r\n- Required: POD_MANAGE\r\n            \r\n### Subscription Feature validation\r\nThis endpoint includes feature-level validation. API calls to this endpoint are only allowed when the site subscription includes the Pods feature.\r\n            \r\nMake sure to verify beforehand that the subscription package contains the required Pods feature for this endpoint.\r\n            \r\nFor more information, contact your local Salto representative.",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pod_id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "access_rule_id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchPodOverrideAccessRuleLocksRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PatchPodOverrideAccessRuleLocksRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PatchPodOverrideAccessRuleLocksRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.1/sites/{site_id}/pods/{pod_id}/access_rule": {
      "get": {
        "tags": [
          "PodAccessRules"
        ],
        "summary": "Retrieves pod access rules for a pod.",
        "description": "### Permission authorization\r\n- Required: POD_MANAGE\r\n- Accessible: POD_VIEW_ACCESSIBLE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pod_id",
            "in": "path",
            "description": "Id of the pod",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PodAccessRuleWithLockCountResponsePagedResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "PodAccessRules"
        ],
        "summary": "[Feature Validation] Replaces pod main access rule type and its schedule with new values",
        "description": "### Permission authorization\r\n- Required: POD_MANAGE\r\n            \r\n### Subscription Feature validation\r\nThis endpoint includes feature-level validation. API calls to this endpoint are only allowed when the site subscription includes the Pods feature.\r\n            \r\nMake sure to verify beforehand that the subscription package contains the required Pods feature for this endpoint.\r\n            \r\nFor more information, contact your local Salto representative.",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site Pod belongs to",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pod_id",
            "in": "path",
            "description": "pod id to modify",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "pod access rule to replace the current main one",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PodAccessRuleRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PodAccessRuleRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PodAccessRuleRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.1/sites/{site_id}/pods/{pod_id}/access_rule/{rule_id}": {
      "put": {
        "tags": [
          "PodAccessRules"
        ],
        "summary": "[Feature Validation] Replaces Pod Access Rule",
        "description": "### Permission authorization\r\n- Required: POD_MANAGE\r\n            \r\n### Subscription Feature validation\r\nThis endpoint includes feature-level validation. API calls to this endpoint are only allowed when the site subscription includes the Pods feature.\r\n            \r\nMake sure to verify beforehand that the subscription package contains the required Pods feature for this endpoint.\r\n            \r\nFor more information, contact your local Salto representative.",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Site ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pod_id",
            "in": "path",
            "description": "Pod ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "rule_id",
            "in": "path",
            "description": "Rule ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "pod access rule to replace the current main one",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PodAccessRuleRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PodAccessRuleRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PodAccessRuleRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "PodAccessRules"
        ],
        "summary": "Deletes an override pod access rule",
        "description": "### Permission authorization\r\n- Required: POD_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site Pod belongs to",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pod_id",
            "in": "path",
            "description": "pod id the access rule belongs to",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "rule_id",
            "in": "path",
            "description": "pod access rule to be deleted",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.1/sites/{site_id}/pods/{pod_id}/access_rule/override": {
      "post": {
        "tags": [
          "PodAccessRules"
        ],
        "summary": "[Feature Validation] Creates an override pod access rule",
        "description": "### Permission authorization\r\n- Required: POD_MANAGE\r\n            \r\n### Subscription Feature validation\r\nThis endpoint includes feature-level validation. API calls to this endpoint are only allowed when the site subscription includes the Pods feature.\r\n            \r\nMake sure to verify beforehand that the subscription package contains the required Pods feature for this endpoint.\r\n            \r\nFor more information, contact your local Salto representative.",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site Pod belongs to",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pod_id",
            "in": "path",
            "description": "pod id to modify",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "pod access rule to be created",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PostOverrideAccessRuleRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PostOverrideAccessRuleRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PostOverrideAccessRuleRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PodAccessRuleWithLocksResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.1/sites/{site_id}/pods/{pod_id}/guests/{id}": {
      "get": {
        "tags": [
          "PodGuests"
        ],
        "summary": "Gets information about Pod Guest by id",
        "description": "### Permission authorization\r\n- Required: POD_MANAGE\r\n- Accessible: POD_GUEST_INVITE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pod_id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PodGuestResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "PodGuests"
        ],
        "summary": "[Feature Validation] Patch Pod Guest",
        "description": "### Permission authorization\r\n- Required: POD_GUEST_INVITE\r\n            \r\n### Subscription Feature validation\r\nThis endpoint includes feature-level validation. API calls to this endpoint are only allowed when the site subscription includes the Pods feature.\r\n            \r\nMake sure to verify beforehand that the subscription package contains the required Pods feature for this endpoint.\r\n            \r\nFor more information, contact your local Salto representative.",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the Site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pod_id",
            "in": "path",
            "description": "Id of the Pod in the Site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Id of the Pod Guest in the Site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Request containing new Access Rule for Pod Guest",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchPodGuestRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PatchPodGuestRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PatchPodGuestRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.1/sites/{site_id}/pods/{pod_id}/guests": {
      "patch": {
        "tags": [
          "PodGuests"
        ],
        "summary": "Add and Remove Guests from a Pod",
        "description": "### Permission authorization\r\n- Required: POD_GUEST_INVITE / POD_GUEST_REMOVE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the Site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pod_id",
            "in": "path",
            "description": "Id of the Pod in the Site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Request containing Guests to add and to remove",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchPodGuestsRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PatchPodGuestsRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PatchPodGuestsRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.1/pods/guests": {
      "post": {
        "tags": [
          "PodGuestsByAccessCode"
        ],
        "summary": "[Feature Validation] Create a guest for a Pod (this action can only be performed by code).",
        "description": "### Permission authorization\r\n- Required: None\r\n            \r\n### Access restriction\r\nThis endpoint can only be called by an \"anonymous\" user (using access code).\r\nThe access token contains information that is used to match the user with a correct site and a correct pod.\r\n            \r\n### Subscription Feature validation\r\nThis endpoint includes feature-level validation. API calls to this endpoint are only allowed when the site subscription includes the Pods feature.\r\n            \r\nMake sure to verify beforehand that the subscription package contains the required Pods feature for this endpoint.\r\n            \r\nFor more information, contact your local Salto representative.",
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PostPodGuestByAccessCodeRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PostPodGuestByAccessCodeRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PostPodGuestByAccessCodeRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.1/sites/{site_id}/pods/{pod_id}/locks": {
      "get": {
        "tags": [
          "PodLocks"
        ],
        "summary": "Get a list of locks that belong to pod",
        "description": "### Permission authorization\r\n- Required: POD_MANAGE\r\n- Accessible: POD_VIEW_ACCESSIBLE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pod_id",
            "in": "path",
            "description": "Id of the pod",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "excluded",
            "in": "query",
            "description": "If set to true (?excluded=true) the endpoint returns a list of locks\r\n            in the site that are NOT part of the specified Pod.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PodLockResponsePagedResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "PodLocks"
        ],
        "summary": "[Feature Validation] Add locks to pod or remove locks from pod",
        "description": "### Permission authorization\r\n- Required: POD_MANAGE\r\n            \r\n### Subscription Feature validation\r\nThis endpoint includes feature-level validation. API calls to this endpoint are only allowed when the site subscription includes the Pods feature.\r\n            \r\nMake sure to verify beforehand that the subscription package contains the required Pods feature for this endpoint.\r\n            \r\nFor more information, contact your local Salto representative.",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pod_id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Consists of the list of the locks to add and list of the locks to remove from the pod",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchPodLocksRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PatchPodLocksRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PatchPodLocksRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.1/sites/{site_id}/pods/{pod_id}/members": {
      "patch": {
        "tags": [
          "PodMembers"
        ],
        "summary": "[Feature Validation] Add and Remove Members from a Pod",
        "description": "### Permission authorization\r\n- Required: POD_MANAGE\r\n            \r\n### Subscription Feature validation\r\nThis endpoint includes feature-level validation. API calls to this endpoint are only allowed when the site subscription includes the Pods feature.\r\n            \r\nMake sure to verify beforehand that the subscription package contains the required Pods feature for this endpoint.\r\n            \r\nFor more information, contact your local Salto representative.",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the Site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pod_id",
            "in": "path",
            "description": "Id of the Pod in the Site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Request containing Members to add and to remove.\r\nThe remote opening feature is enabled by default for each member (site_user_settings.remote_access: true)",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchPodMembersRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PatchPodMembersRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PatchPodMembersRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.1/sites/{site_id}/pods/{id}": {
      "get": {
        "tags": [
          "Pods"
        ],
        "summary": "Gets a pod by id",
        "description": "### Permission authorization\r\n- Required: POD_MANAGE\r\n- Accessible: POD_VIEW_ACCESSIBLE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Id of the pod",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PodWithAccessRuleResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Pods"
        ],
        "summary": "[Feature Validation] Update Pod's properties",
        "description": "### Permission authorization\r\n- Required: POD_MANAGE\r\n            \r\n### Subscription Feature validation\r\nThis endpoint includes feature-level validation. API calls to this endpoint are only allowed when the site subscription includes the Pods feature.\r\n            \r\nMake sure to verify beforehand that the subscription package contains the required Pods feature for this endpoint.\r\n            \r\nFor more information, contact your local Salto representative.",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the Site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Id of the Pod in the Site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "PatchPodRequest",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchPodRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PatchPodRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PatchPodRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Pods"
        ],
        "summary": "Completely remove pod from the site",
        "description": "### Permission authorization\r\n- Required: POD_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the Site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Id of the Pod in the Site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.1/sites/{site_id}/pods": {
      "get": {
        "tags": [
          "Pods"
        ],
        "summary": "Get a list of pods within a site",
        "description": "### Permission authorization\r\n- Required: POD_MANAGE\r\n- Accessible: POD_VIEW_ACCESSIBLE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PodWithAccessRuleResponsePagedResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Pods"
        ],
        "summary": "[Feature Validation] Create a new Pod",
        "description": "### Permission authorization\r\n- Required: POD_MANAGE\r\n            \r\n### Subscription Feature validation\r\nThis endpoint includes feature-level validation. API calls to this endpoint are only allowed when the site subscription includes the Pods feature.\r\n            \r\nMake sure to verify beforehand that the subscription package contains the required Pods feature for this endpoint.\r\n            \r\nFor more information, contact your local Salto representative.",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site to create the Pod in",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Request to create the Pod. The remote opening feature is enabled by default for each member (site_user_settings.remote_access: true)",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PostPodRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PostPodRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PostPodRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PodWithAccessRuleResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.1/sites/{site_id}/pods/{id}/clean": {
      "patch": {
        "tags": [
          "Pods"
        ],
        "summary": "Clean up the pod",
        "description": "### Permission authorization\r\n- Required: POD_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the Site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Id of the Pod in the Site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.1/sites/{site_id}/pods/{pod_id}/tags": {
      "get": {
        "tags": [
          "PodTags"
        ],
        "summary": "Get a list of tags assigned to a pod",
        "description": "### Permission authorization\r\n- Required: POD_MANAGE\r\n- Accessible: POD_VIEW_ACCESSIBLE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pod_id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteTagResponsePagedResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "PodTags"
        ],
        "summary": "[Feature Validation] Add or remove tags from pod",
        "description": "### Permission authorization\r\n- Required: POD_MANAGE\r\n            \r\n### Subscription Feature validation\r\nThis endpoint includes feature-level validation. API calls to this endpoint are only allowed when the site subscription includes the Pods feature.\r\n            \r\nMake sure to verify beforehand that the subscription package contains the required Pods feature for this endpoint.\r\n            \r\nFor more information, contact your local Salto representative.",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pod_id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchPodTagsRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PatchPodTagsRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PatchPodTagsRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.1/sites/{site_id}/pods/{pod_id}/users": {
      "get": {
        "tags": [
          "PodUsers"
        ],
        "summary": "Get a list of Pod Members and Guests that belong to pod",
        "description": "### Permission authorization\r\n- Required: POD_MANAGE\r\n- Accessible: POD_VIEW_ACCESSIBLE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pod_id",
            "in": "path",
            "description": "Id of the pod",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PodUserResponsePagedResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/repeaters": {
      "get": {
        "tags": [
          "Repeaters"
        ],
        "summary": "Gets the list of repeaters the current user can view in the site",
        "description": "### Permission authorization\r\n- Required: HARDWARE_VIEW_ALL",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RepeaterResponsePagedResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Repeaters"
        ],
        "summary": "Adds a new repeater to the site",
        "description": "### Permission authorization\r\n- Required: HARDWARE_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PostRepeaterRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PostRepeaterRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PostRepeaterRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RepeaterResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/repeaters/{id}": {
      "get": {
        "tags": [
          "Repeaters"
        ],
        "summary": "Gets a single Repeater by id",
        "description": "### Permission authorization\r\n- Required: HARDWARE_VIEW_ALL",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Id of the repeater",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RepeaterResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Repeaters"
        ],
        "summary": "Updates repeater info",
        "description": "### Permission authorization\r\n- Required: HARDWARE_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Id of the repeater",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchRepeaterRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PatchRepeaterRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PatchRepeaterRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RepeaterResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Repeaters"
        ],
        "summary": "Deletes a Repeater",
        "description": "### Permission authorization\r\n- Required: HARDWARE_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "repeater id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.1/sites/{site_id}/reports/timeattendance": {
      "post": {
        "tags": [
          "Reports"
        ],
        "summary": "[Feature Validation] Requests time and attendance report for site.\r\nuser will get an email with csv attachment once report is generated.",
        "description": "### Permission authorization\r\n- Required: TIME_AND_ATTENDANCE_REPORT\r\n            \r\n### Subscription Feature validation\r\nThis endpoint includes feature-level validation. API calls to this endpoint are only allowed when the site subscription includes the Time And Attendance Report feature.\r\n            \r\nMake sure to verify beforehand that the subscription package contains the required Time And Attendance Report feature for this endpoint.\r\n            \r\nFor more information, contact your local Salto representative.",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TimeAttendanceReportRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TimeAttendanceReportRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/TimeAttendanceReportRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/roles": {
      "get": {
        "tags": [
          "Roles"
        ],
        "summary": "Lists the available roles for the current accessing client",
        "description": "### Permission authorization\r\n- Required: None",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoleResponsePagedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}": {
      "get": {
        "tags": [
          "Sites"
        ],
        "summary": "Gets a single site",
        "description": "### Permission authorization\r\n- Required: None",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedSiteResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites": {
      "get": {
        "tags": [
          "Sites"
        ],
        "summary": "Gets the list of sites the current user can view",
        "description": "### Permission authorization\r\n- Required: None",
        "parameters": [
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteResponsePagedResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Sites"
        ],
        "summary": "Creates a new site. Not available on Production.",
        "description": "### Permission authorization\r\n- Required: None",
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PostSiteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PostSiteRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PostSiteRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseSiteResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/me": {
      "get": {
        "tags": [
          "Sites"
        ],
        "summary": "Gets the site user's own information, with the site user's specific data",
        "description": "### Permission authorization\r\n- Required: None",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "include_pod_info",
            "in": "query",
            "description": "Optional. If true - response will be populated with 2 more\r\n            properties ('member_of_pods' and 'guest_of_pods') that contains information about Pods\r\n            related to the user",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteMeResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/installer_company": {
      "get": {
        "tags": [
          "Sites"
        ],
        "summary": "Returns the default installer company information for the site",
        "description": "### Permission authorization\r\n- Required: None",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InstallerCompanyResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{id}": {
      "patch": {
        "tags": [
          "Sites"
        ],
        "summary": "Updates a site",
        "description": "### Permission authorization\r\n- Required: SITE_MANAGE",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Site id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchSiteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PatchSiteRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PatchSiteRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Sites"
        ],
        "summary": "Deletes the site",
        "description": "### Permission authorization\r\n- Required: SITE_MANAGE",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Site Id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/terms_of_service": {
      "get": {
        "tags": [
          "SiteTermsOfServices"
        ],
        "summary": "Get the current Terms of Service information of a site with assigned site owner",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Site id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteTermsOfServiceResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "SiteTermsOfServices"
        ],
        "summary": "Consent to the site's Terms of Service",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Site id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/terms_of_service/notification": {
      "post": {
        "tags": [
          "SiteTermsOfServices"
        ],
        "summary": "Sends e-mail notification reminder for owner with pending consent to the Terms of Service",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "site id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/users/{site_user_id}/access_groups": {
      "get": {
        "tags": [
          "SiteUserAccessGroups"
        ],
        "summary": "Returns the list of access groups by site user id",
        "description": "### Permission authorization\r\n- Required: ACCESSGROUP_VIEW",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Site Id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "site_user_id",
            "in": "path",
            "description": "Id of the site user",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessGroupResponsePagedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/users/{site_user_id}/keys": {
      "get": {
        "tags": [
          "SiteUserKeys"
        ],
        "summary": "Returns the list of keys for the specific user",
        "description": "### Permission authorization\r\n- Required: USER_KEY_MANAGE\r\n- Accessible: USER_KEY_MANAGE_OWN",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "site_user_id",
            "in": "path",
            "description": "Id of the site user",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteUserKeyResponsePagedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/users/{site_user_id}/keys/{id}": {
      "patch": {
        "tags": [
          "SiteUserKeys"
        ],
        "summary": "Block/unblocks a site user key by its id, enables/disables offline access for the key",
        "description": "### Permission authorization\r\n- Required: USER_KEY_MANAGE\r\n- Accessible: USER_KEY_MANAGE_OWN / USER_KEY_OFFLINE_ACCESS_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "site_user_id",
            "in": "path",
            "description": "Id of the site user",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Id of the key",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "PatchKeyRequest request",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchKeyRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PatchKeyRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PatchKeyRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteUserKeyResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/users/{site_user_id}/pin/custom": {
      "put": {
        "tags": [
          "SiteUserPins"
        ],
        "summary": "[Feature Validation] Create or update custom site user pin",
        "description": "### Permission authorization\r\n- Required: PIN_CUSTOM_CREATE\r\n- Accessible: PIN_CUSTOM_CREATE_OWN\r\n            \r\n### Subscription Feature validation\r\nThis endpoint includes feature-level validation. API calls to this endpoint are only allowed when the site subscription includes the Custom Pin feature.\r\n            \r\nMake sure to verify beforehand that the subscription package contains the required Custom Pin feature for this endpoint.\r\n            \r\nFor more information, contact your local Salto representative.\r\n            \r\n ### Custom pin requirements\r\n- Must be more than 4 digits\r\n- Must be only numbers\r\n- Must not all be the same number eg: *1111*\r\n- Must not repeat the same pattern eg: *1212, 123123*\r\n- Must not be sequential eg: *1234, 5678*",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "site_user_id",
            "in": "path",
            "description": "Id of the site user",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PutSiteUserCustomPinRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PutSiteUserCustomPinRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PutSiteUserCustomPinRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/users/{site_user_id}/pin": {
      "put": {
        "tags": [
          "SiteUserPins"
        ],
        "summary": "Create or update site user pin",
        "description": "### Permission authorization\r\n- Required: PIN_CREATE\r\n- Accessible: PIN_CREATE_OWN",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "site_user_id",
            "in": "path",
            "description": "Id of the site user",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PutSiteUserPinRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PutSiteUserPinRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PutSiteUserPinRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/users": {
      "get": {
        "tags": [
          "SiteUsers"
        ],
        "summary": "Gets the list of site users the current user can view",
        "description": "### Permission authorization\r\n- Required: SITE_USERS_VIEW\r\n- Accessible: USER_VIEW_OWN / USER_VIEW_HIERARCHICALLY / POD_VIEW_ACCESSIBLE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "include_pod_info",
            "in": "query",
            "description": "Optional. If true - response will be populated with 2 more\r\n            properties ('member_of_pods' and 'guest_of_pods') that contains information about Pods\r\n            related to the user",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteUserWithPodInfoResponsePagedResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "SiteUsers"
        ],
        "summary": "Adds a new user to the site",
        "description": "### Permission authorization\r\n- Required: USER_CREATE (USER_OVERRIDE_PRIVACY_MANAGE when setting override_privacy_mode)",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Request body",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PostNewSiteUserRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PostNewSiteUserRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PostNewSiteUserRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteUserResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/users/{id}": {
      "get": {
        "tags": [
          "SiteUsers"
        ],
        "summary": "Gets a site user by id if the current user can view",
        "description": "### Permission authorization\r\n- Required: SITE_USERS_VIEW\r\n- Accessible: USER_VIEW_OWN / USER_VIEW_HIERARCHICALLY / POD_VIEW_ACCESSIBLE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Id of the site user",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "include_pod_info",
            "in": "query",
            "description": "Optional. If true - response will be populated with 2 more\r\n            properties ('member_of_pods' and 'guest_of_pods') that contains information about Pods\r\n            related to the user",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteUserResponse"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "SiteUsers"
        ],
        "summary": "Deletes a site user by id if the current user has permissions",
        "description": "### Permission authorization\r\n- Required: USER_DELETE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Id of the site user",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/users/existing": {
      "post": {
        "tags": [
          "SiteUsers"
        ],
        "summary": "Adds an existing user to the site.\r\nDeprecated: Do not integrate, Opt for POST /sites/{site_id}/users instead.",
        "description": "### Permission authorization\r\n- Required: USER_CREATE (USER_OVERRIDE_PRIVACY_MANAGE when setting override_privacy_mode)",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Request body",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PostExistingSiteUserRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PostExistingSiteUserRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PostExistingSiteUserRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteUserResponse"
                }
              }
            }
          }
        },
        "deprecated": true
      }
    },
    "/v1.2/sites/{site_id}/users/{site_user_id}": {
      "patch": {
        "tags": [
          "SiteUsers"
        ],
        "summary": "Edit a site user by id if the current user has permissions",
        "description": "### Permission authorization\r\n- Required: USER_EDIT (USER_OVERRIDE_PRIVACY_MANAGE when setting override_privacy_mode)",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "site_user_id",
            "in": "path",
            "description": "Id of the site user",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Request body",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchSiteUserRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PatchSiteUserRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PatchSiteUserRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteUserResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/users/{id}/activated_iqs": {
      "get": {
        "tags": [
          "SiteUsers"
        ],
        "summary": "Returns the list of activated IQs for the specific user",
        "description": "### Permission authorization\r\n- Required: HARDWARE_VIEW_ALL\r\n- Accessible: HARDWARE_VIEW_ACCESSIBLE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Site ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Id of the site user",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ActivatedIqResponsePagedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/users/{id}/subscription": {
      "patch": {
        "tags": [
          "SiteUsers"
        ],
        "summary": "Edit a site user's subscription state by id",
        "description": "### Permission authorization\r\n- Required: SUBSCRIPTION_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Id of the site user",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Request body",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchSiteUserSubscriptionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PatchSiteUserSubscriptionRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PatchSiteUserSubscriptionRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/users/{id}/resend_invite": {
      "patch": {
        "tags": [
          "SiteUsers"
        ],
        "summary": "Resend invitation email for a user that hasn't completed their profile",
        "description": "### Permission authorization\r\n- Required: USER_CREATE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Id of the site user",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/users/import": {
      "post": {
        "tags": [
          "SiteUsers"
        ],
        "summary": "Create users in bulk via file upload",
        "description": "### Permission authorization\r\n- Required: USER_CREATE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "required": [
                  "File"
                ],
                "type": "object",
                "properties": {
                  "File": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              },
              "encoding": {
                "File": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "415": {
            "description": "Unsupported Media Type"
          },
          "411": {
            "description": "Length Required"
          },
          "413": {
            "description": "Content Too Large"
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/subscription_history": {
      "get": {
        "tags": [
          "SubscriptionHistory"
        ],
        "summary": "Gets the subscription history for the site",
        "description": "### Permission authorization\r\n- Required: SUBSCRIPTION_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubscriptionHistoryResponsePagedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/subscription_history/{subscription_id}/vouchers": {
      "get": {
        "tags": [
          "SubscriptionHistory"
        ],
        "summary": "Gets the vouchers for a specific subscription history entry",
        "description": "### Permission authorization\r\n- Required: SUBSCRIPTION_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "subscription_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VoucherResponsePagedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/subscription": {
      "get": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "Gets the details of the current subscription of the site",
        "description": "### Permission authorization\r\n- Required: SUBSCRIPTION_VIEW",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "id of site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubscriptionResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/subscription/features": {
      "get": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "Gets the subscription features for the site",
        "description": "### Permission authorization\r\n- Required: None",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FeatureResponse"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/tags/{id}": {
      "get": {
        "tags": [
          "Tags"
        ],
        "summary": "Gets a single tag",
        "description": "### Permission authorization\r\n- Required: SITE_TAGS_VIEW",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Site id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Tag id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteTagResponse"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Tags"
        ],
        "summary": "Deletes the tag",
        "description": "### Permission authorization\r\n- Required: SITE_TAGS_MANAGE",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Site id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "id of the tag",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/v1.2/sites/{site_id}/tags": {
      "get": {
        "tags": [
          "Tags"
        ],
        "summary": "Gets the list of site tags this user can view",
        "description": "### Permission authorization\r\n- Required: SITE_TAGS_VIEW or SITE_TAGS_MANAGE (any one grants access)",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Site id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Return the total count.",
            "schema": {
              "type": "boolean",
              "default": "none",
              "example": "true"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteTagResponsePagedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/users/search": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "search for a user by tag or email",
        "description": "### Permission authorization\r\n- Required: USER_VIEW_HIERARCHICALLY",
        "parameters": [
          {
            "name": "search_for",
            "in": "query",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "for_site_id",
            "in": "query",
            "description": "",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchUserResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.1/sites/{site_id}/vouchers": {
      "get": {
        "tags": [
          "Vouchers"
        ],
        "summary": "Gets a voucher by voucher code",
        "description": "### Permission authorization\r\n- Required: VOUCHER_VIEW",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the Site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "voucher_code",
            "in": "query",
            "description": "Code of the Voucher",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VoucherResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Vouchers"
        ],
        "summary": "Redeem Voucher",
        "description": "### Permission authorization\r\n- Required: VOUCHER_REDEEM",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "Id of the site",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "request containing voucher code",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RedeemVoucherRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RedeemVoucherRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/RedeemVoucherRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VoucherResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v2/sites/{siteId}/bulk": {
      "post": {
        "tags": [
          "BulkAction"
        ],
        "summary": "Starts the bulk action",
        "operationId": "PostV2",
        "parameters": [
          {
            "name": "siteId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PostBulkActionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PostBulkActionRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "202": {
            "description": "Accepted"
          }
        }
      }
    },
    "/v2/organizations/{organizationId}/me/roles": {
      "get": {
        "tags": [
          "OrganizationMe"
        ],
        "summary": "Retrieves roles for specific organization of the current user with OData support",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Counts the total number of results.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoleResponseShortInfoPagedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v2/organizations/{organizationId}/me/permissions": {
      "get": {
        "tags": [
          "OrganizationMe"
        ],
        "summary": "Retrieves permissions for specific organization of the current user with OData support",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PermissionResponse"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/organizations/{organizationId}/roles": {
      "get": {
        "tags": [
          "OrganizationRoles"
        ],
        "summary": "Retrieves roles for specific organization with OData support",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Counts the total number of results.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoleExpandableResponsePagedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v2/sites/{siteId}/me/roles": {
      "get": {
        "tags": [
          "SiteMe"
        ],
        "summary": "Retrieves roles for specific site of the current user with OData support",
        "parameters": [
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Counts the total number of results.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoleResponseShortInfoPagedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v2/sites/{siteId}/me/permissions": {
      "get": {
        "tags": [
          "SiteMe"
        ],
        "summary": "Retrieves permissions for specific site of the current user with OData support",
        "parameters": [
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PermissionResponse"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/sites/{siteId}/permissions": {
      "get": {
        "tags": [
          "SitePermissions"
        ],
        "summary": "Retrieves available permissions for specific site",
        "parameters": [
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Counts the total number of results.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PermissionResponsePagedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v2/sites/{siteId}/roles": {
      "get": {
        "tags": [
          "SiteRoles"
        ],
        "summary": "Retrieves roles for specific site with OData support",
        "parameters": [
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Counts the total number of results.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteRoleExpandableModelPagedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v2/sites/{siteId}/roles/{roleId}": {
      "put": {
        "tags": [
          "SiteRoles"
        ],
        "summary": "Create or update the site role",
        "parameters": [
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "roleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateOrUpdateSiteRoleRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateOrUpdateSiteRoleRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoleExpandableResponse"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "SiteRoles"
        ],
        "summary": "Deletes a site role.",
        "parameters": [
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "roleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/v2/sites/{siteId}/roles/{roleId}/settings": {
      "patch": {
        "tags": [
          "SiteRoleSettings"
        ],
        "parameters": [
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "roleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSiteRoleSettingsRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSiteRoleSettingsRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/v2/sites/{siteId}/roles/settings": {
      "get": {
        "tags": [
          "SiteRoleSettings"
        ],
        "summary": "Retrieves site role settings including role relations in the same hierarchy",
        "parameters": [
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Counts the total number of results.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteRoleSettingsResponsePagedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/tenants/{tenantId}/applications/{applicationId}/{type}/consentRequests": {
      "get": {
        "tags": [
          "ConsentRequests"
        ],
        "summary": "Gets consent requests of specific type",
        "operationId": "GetConsentRequestsV1",
        "parameters": [
          {
            "name": "type",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/ConsentRequestType"
            }
          },
          {
            "name": "applicationId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "metadataKey",
            "in": "query",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "metadataValue",
            "in": "query",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Counts the total number of results.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConsentRequestResponsePagedResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "ConsentRequests"
        ],
        "summary": "Creates consent request",
        "operationId": "CreateV1",
        "parameters": [
          {
            "name": "type",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/ConsentRequestType"
            }
          },
          {
            "name": "applicationId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateConsentRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateConsentRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConsentRequestResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/tenants/{tenantId}/applications/{applicationId}/{type}/consentRequests/{id}": {
      "delete": {
        "tags": [
          "ConsentRequests"
        ],
        "summary": "Deletes consent request",
        "operationId": "DeleteConsentRequestV1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "applicationId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "type",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/ConsentRequestType"
            }
          },
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/v1/tenants/{tenantId}/users": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Gets tenant users",
        "operationId": "GetUsersV1",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Counts the total number of results.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserResponsePagedResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Users"
        ],
        "summary": "Creates a user if not exists",
        "operationId": "PutV1",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateOrGetExistingUserRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateOrGetExistingUserRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v2/organizations/{organizationId}/me/sites": {
      "get": {
        "tags": [
          "OrganizationMe"
        ],
        "summary": "Get all Sites per Organization",
        "operationId": "GetMeSitesV2",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Counts the total number of results.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteResponsePagedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v2/organizations/{organizationId}/profiles/{organizationProfileId}/roles/{roleId}": {
      "put": {
        "tags": [
          "OrganizationProfileRoles"
        ],
        "summary": "Assign role to Organization Profile",
        "operationId": "AssignOrganizationProfileRoleV2",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "Organization ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationProfileId",
            "in": "path",
            "description": "Organization Profile ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "roleId",
            "in": "path",
            "description": "Role Id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "OrganizationProfileRoles"
        ],
        "summary": "Unassign organization profile role",
        "operationId": "DeleteOrganizationProfileRoleV2",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "Organization ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationProfileId",
            "in": "path",
            "description": "Organization Profile ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "roleId",
            "in": "path",
            "description": "Role ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/v2/organizations/{organizationId}/profiles": {
      "get": {
        "tags": [
          "OrganizationProfiles"
        ],
        "summary": "Returns Organization Profiles filtered with OData",
        "operationId": "GetOrganizationProfilesV2",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "Organization ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Counts the total number of results.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationProfileExpandableResponsePagedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v2/organizations/{organizationId}/profiles/{organizationProfileId}/siteProfiles": {
      "delete": {
        "tags": [
          "OrganizationSiteProfiles"
        ],
        "summary": "Delete all site profiles of the organization profile",
        "operationId": "DeleteSiteProfilesV2",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "Organization ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationProfileId",
            "in": "path",
            "description": "Organization Profile ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/v2/sites/{siteId}/profiles/{siteProfileId}/roles/{roleId}": {
      "put": {
        "tags": [
          "SiteProfileRoles"
        ],
        "summary": "Assign a role to a site profile. Requires site_profiles_edit permission",
        "operationId": "AssignSiteProfileRoleV2",
        "parameters": [
          {
            "name": "siteId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "siteProfileId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "roleId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteProfileRoleResponse"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "SiteProfileRoles"
        ],
        "summary": "Unassigns a role from site profile",
        "operationId": "RevokeSiteProfileRoleV2",
        "parameters": [
          {
            "name": "siteId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "siteProfileId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "roleId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v2/tenants/{tenantId}/me/sites": {
      "get": {
        "tags": [
          "TenantMe"
        ],
        "summary": "Gets sites in a user's tenant profile",
        "operationId": "GetMeSitesV2",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Counts the total number of results.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteProfileExpandableResponsePagedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v2/tenants/{tenantId}/me/organizations": {
      "get": {
        "tags": [
          "TenantMe"
        ],
        "summary": "Get Organizations in a user's tenant profile\r\nExpands on roles",
        "operationId": "GetMeOrganizationsV2",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Counts the total number of results.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationWithRolesAndSitesCountResponsePagedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v2/organizations/{organizationId}/sites": {
      "get": {
        "tags": [
          "Sites"
        ],
        "operationId": "GetSitesV2",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "Filter the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order the results using OData syntax.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "description": "The number of results to skip.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "description": "The number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "description": "Counts the total number of results.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteResponsePagedResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Sites"
        ],
        "operationId": "PostSiteV2",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PostSiteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PostSiteRequest"
              }
            }
          }
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseSiteResponse"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AccessGroupResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Id of the access group",
            "format": "uuid"
          },
          "customer_reference": {
            "type": "string",
            "description": "Name of the access group",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AccessGroupResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccessGroupResponse"
            },
            "nullable": true
          },
          "next_page_link": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AccessGroupSummaryResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Id of the access group",
            "format": "uuid"
          },
          "customer_reference": {
            "type": "string",
            "description": "Name of the access group",
            "nullable": true
          },
          "lock_count": {
            "type": "integer",
            "description": "Number of locks that are part of this access group",
            "format": "int32"
          },
          "user_count": {
            "type": "integer",
            "description": "Number of users that are part of this access group",
            "format": "int32"
          },
          "floor_count": {
            "type": "integer",
            "description": "Number of floors that are part of this access group",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "AccessGroupSummaryResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccessGroupSummaryResponse"
            },
            "nullable": true
          },
          "next_page_link": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AccessScheduleResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Access schedule Id",
            "format": "uuid"
          },
          "monday": {
            "type": "boolean",
            "description": "is TimeSchedule enabled on Monday, set to true if enabled"
          },
          "tuesday": {
            "type": "boolean",
            "description": "is TimeSchedule enabled on Tuesday, set to true if enabled"
          },
          "wednesday": {
            "type": "boolean",
            "description": "is TimeSchedule enabled on Wednesday, set to true if enabled"
          },
          "thursday": {
            "type": "boolean",
            "description": "is TimeSchedule enabled on Thursday, set to true if enabled"
          },
          "friday": {
            "type": "boolean",
            "description": "is TimeSchedule enabled on Friday, set to true if enabled"
          },
          "saturday": {
            "type": "boolean",
            "description": "is TimeSchedule enabled on Saturday, set to true if enabled"
          },
          "sunday": {
            "type": "boolean",
            "description": "is TimeSchedule enabled on Sunday, set to true if enabled"
          },
          "start_time": {
            "type": "string",
            "description": "TimeSchedule start time",
            "format": "date-span",
            "example": "10:00"
          },
          "end_time": {
            "type": "string",
            "description": "TimeSchedule end time",
            "format": "date-span",
            "example": "17:00"
          },
          "start_date": {
            "type": "string",
            "description": "TimeSchedule start date",
            "format": "date-time",
            "nullable": true,
            "example": "2026-03-30T01:23:45.678"
          },
          "end_date": {
            "type": "string",
            "description": "TimeSchedule end date",
            "format": "date-time",
            "nullable": true,
            "example": "2026-03-30T01:23:45.678"
          }
        },
        "additionalProperties": false
      },
      "AccessScheduleResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccessScheduleResponse"
            },
            "nullable": true
          },
          "next_page_link": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ActionType": {
        "enum": [
          "enable",
          "disable"
        ],
        "type": "string"
      },
      "ActivatedIqResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Id of the IQ",
            "format": "uuid"
          },
          "customer_reference": {
            "type": "string",
            "description": "Name of the IQ",
            "nullable": true
          },
          "otp_enabled": {
            "type": "boolean",
            "description": "Iq Otp state"
          }
        },
        "additionalProperties": false
      },
      "ActivatedIqResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ActivatedIqResponse"
            },
            "nullable": true
          },
          "next_page_link": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Address": {
        "type": "object",
        "properties": {
          "country": {
            "type": "string",
            "nullable": true
          },
          "countryCode": {
            "type": "string",
            "nullable": true
          },
          "region": {
            "type": "string",
            "nullable": true
          },
          "settlement": {
            "type": "string",
            "nullable": true
          },
          "zipCode": {
            "type": "string",
            "nullable": true
          },
          "street": {
            "type": "string",
            "nullable": true
          },
          "buildingNumber": {
            "type": "string",
            "nullable": true
          },
          "latitude": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "longitude": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ApplicationResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The Application Id",
            "format": "uuid"
          },
          "customerReference": {
            "type": "string",
            "description": "The Application Name",
            "nullable": true
          },
          "companyName": {
            "type": "string",
            "description": "The Company Name",
            "nullable": true
          },
          "privacyPolicyUri": {
            "type": "string",
            "description": "Link to the Privacy policy",
            "nullable": true
          },
          "integrationType": {
            "type": "string",
            "description": "Integration Type",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "The Application response"
      },
      "ApplicationResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ApplicationResponse"
            },
            "nullable": true
          },
          "nextPageLink": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AuditActionTypes": {
        "enum": [
          "custom",
          "insert",
          "update",
          "delete",
          "post",
          "put",
          "patch",
          "send"
        ],
        "type": "string"
      },
      "AuditActorResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "actor_type": {
            "$ref": "#/components/schemas/AuditActorTypes"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "first_name": {
            "type": "string",
            "nullable": true
          },
          "last_name": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AuditActorTypes": {
        "enum": [
          "user",
          "service"
        ],
        "type": "string"
      },
      "AuditAggregatedResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "product_id": {
            "type": "string",
            "format": "uuid"
          },
          "tenant_id": {
            "type": "string",
            "format": "uuid"
          },
          "site_id": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "correlation_id": {
            "type": "string",
            "format": "uuid"
          },
          "object_id": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "object_secondary_id": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "application_name": {
            "type": "string",
            "nullable": true
          },
          "origin": {
            "$ref": "#/components/schemas/AuditOrigins"
          },
          "category": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "start_date": {
            "type": "string",
            "format": "date-time",
            "example": "2026-03-30T01:23:45.678"
          },
          "end_date": {
            "type": "string",
            "format": "date-time",
            "example": "2026-03-30T01:23:45.678"
          },
          "duration": {
            "type": "string",
            "format": "date-span"
          },
          "success": {
            "type": "boolean",
            "nullable": true
          },
          "actor_id": {
            "type": "string",
            "format": "uuid"
          },
          "actor_type": {
            "$ref": "#/components/schemas/AuditActorTypes"
          },
          "actor": {
            "$ref": "#/components/schemas/AuditActorResponse"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "action": {
            "$ref": "#/components/schemas/AuditActionTypes"
          },
          "audit_data": {
            "$ref": "#/components/schemas/AuditResponse"
          },
          "enrichment": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AuditEnrichmentResponse"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AuditAggregatedResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AuditAggregatedResponse"
            },
            "nullable": true
          },
          "next_page_link": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AuditEnrichmentResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "customer_reference": {
            "type": "string",
            "nullable": true
          },
          "extra_info": {
            "type": "object",
            "additionalProperties": { },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AuditEntityColumnChangeData": {
        "type": "object",
        "properties": {
          "column_name": {
            "type": "string",
            "nullable": true
          },
          "original_value": {
            "type": "string",
            "nullable": true
          },
          "new_value": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AuditOrigins": {
        "enum": [
          "database",
          "api",
          "queue",
          "custom"
        ],
        "type": "string"
      },
      "AuditResponse": {
        "type": "object",
        "properties": {
          "changes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AuditEntityColumnChangeData"
            },
            "nullable": true
          },
          "properties": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true
          },
          "target": {
            "type": "string",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          },
          "request_body": {
            "type": "string",
            "nullable": true
          },
          "request_properties": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true
          },
          "response_body": {
            "type": "string",
            "nullable": true
          },
          "response_properties": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true
          },
          "message_body": {
            "type": "string",
            "nullable": true
          },
          "message_properties": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BaseSiteResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The id of the site",
            "format": "uuid"
          },
          "customer_reference": {
            "type": "string",
            "description": "The name of the site",
            "nullable": true
          },
          "subscribed_user_amount": {
            "type": "integer",
            "description": "Shows the number of users allowed by the site's subscription\r\n(this is not the number of actually subscribed users).\r\n0 means, that no users are allowed by subscription / there is no valid subscription.\r\nnull means unlimited number of users allowed.",
            "format": "int32",
            "nullable": true
          },
          "subscription_valid": {
            "type": "boolean",
            "description": "Subscription state of the site"
          },
          "country_code": {
            "type": "string",
            "description": "The country of the site",
            "nullable": true
          },
          "time_zone": {
            "type": "string",
            "description": "The time zone the site is in",
            "nullable": true
          },
          "owner": {
            "$ref": "#/components/schemas/UserSummaryResponse"
          },
          "installation_state": {
            "$ref": "#/components/schemas/InstallationState"
          },
          "mkey_compatible": {
            "type": "boolean",
            "description": "Indicates whether site is mobile key compatible"
          },
          "store_events_ttl": {
            "type": "string",
            "description": "Indicates the retention time set for entries",
            "format": "date-span"
          }
        },
        "additionalProperties": false
      },
      "BaseTimeScheduleResponse": {
        "type": "object",
        "properties": {
          "monday": {
            "type": "boolean",
            "description": "is TimeSchedule enabled on Monday, set to true if enabled"
          },
          "tuesday": {
            "type": "boolean",
            "description": "is TimeSchedule enabled on Tuesday, set to true if enabled"
          },
          "wednesday": {
            "type": "boolean",
            "description": "is TimeSchedule enabled on Wednesday, set to true if enabled"
          },
          "thursday": {
            "type": "boolean",
            "description": "is TimeSchedule enabled on Thursday, set to true if enabled"
          },
          "friday": {
            "type": "boolean",
            "description": "is TimeSchedule enabled on Friday, set to true if enabled"
          },
          "saturday": {
            "type": "boolean",
            "description": "is TimeSchedule enabled on Saturday, set to true if enabled"
          },
          "sunday": {
            "type": "boolean",
            "description": "is TimeSchedule enabled on Sunday, set to true if enabled"
          },
          "start_time": {
            "type": "string",
            "description": "TimeSchedule start time",
            "format": "date-span",
            "example": "10:00"
          },
          "end_time": {
            "type": "string",
            "description": "TimeSchedule end time",
            "format": "date-span",
            "example": "17:00"
          },
          "start_date": {
            "type": "string",
            "description": "TimeSchedule start date",
            "format": "date-time",
            "nullable": true,
            "example": "2026-03-30T01:23:45.678"
          },
          "end_date": {
            "type": "string",
            "description": "TimeSchedule end date",
            "format": "date-time",
            "nullable": true,
            "example": "2026-03-30T01:23:45.678"
          }
        },
        "additionalProperties": false
      },
      "BatteryStates": {
        "enum": [
          "critical",
          "low",
          "good",
          "fresh",
          "none",
          "unknown"
        ],
        "type": "string"
      },
      "BusinessType": {
        "enum": [
          "None",
          "Other",
          "Coworking",
          "Coliving",
          "Security",
          "StudentHousing",
          "MultiTenantHousing",
          "ResidentialSmarthome",
          "EnterpriseCorporateBusiness",
          "Retail",
          "RealEstateAgencies",
          "RetirementHomeHomecare",
          "Gym",
          "Education",
          "Healthcare",
          "DeliveryServices",
          "Hospitality",
          "Test",
          "Demo"
        ],
        "type": "string"
      },
      "CandidateResponse": {
        "type": "object",
        "properties": {
          "candidateAssignedAt": {
            "type": "string",
            "description": "Date of assignment of candidate owner",
            "format": "date-time"
          },
          "siteProfileId": {
            "type": "string",
            "description": "SiteProfileId of candidate",
            "format": "uuid"
          },
          "tenantProfileId": {
            "type": "string",
            "description": "TenantProfileId of candidate",
            "format": "uuid"
          },
          "tenantProfile": {
            "$ref": "#/components/schemas/TenantProfileResponse"
          }
        },
        "additionalProperties": false,
        "description": "Candidate response"
      },
      "CharacteristicsDto": {
        "type": "object",
        "properties": {
          "deviationFromFrontalPose": {
            "type": "number",
            "description": "Deviation from frontal pose.",
            "format": "float"
          },
          "sharpness": {
            "type": "number",
            "description": "Sharpness.",
            "format": "float"
          }
        },
        "additionalProperties": false,
        "description": "The characteristics DTO."
      },
      "ConsentRequestPictureResponse": {
        "type": "object",
        "properties": {
          "uri": {
            "type": "string",
            "description": "Uri of the picture",
            "nullable": true
          },
          "linkExpirationDate": {
            "type": "string",
            "description": "Expiration date of the picture link",
            "format": "date-time"
          },
          "pictureUploadDate": {
            "type": "string",
            "description": "Picture upload date",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Response for Consent request picture"
      },
      "ConsentRequestResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Id of consent request",
            "format": "uuid"
          },
          "user": {
            "$ref": "#/components/schemas/UserResponse"
          },
          "application": {
            "$ref": "#/components/schemas/ApplicationResponse"
          },
          "status": {
            "$ref": "#/components/schemas/ConsentRequestStatus"
          },
          "metadata": {
            "$ref": "#/components/schemas/MetadataResponse"
          },
          "modifiedOn": {
            "type": "string",
            "description": "Last update date of the request",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Response model for consent request"
      },
      "ConsentRequestResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConsentRequestResponse"
            },
            "nullable": true
          },
          "nextPageLink": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ConsentRequestStatus": {
        "enum": [
          "Pending",
          "Active",
          "Suspended"
        ],
        "type": "string"
      },
      "ConsentRequestType": {
        "enum": [
          "FaceRecognition"
        ],
        "type": "string"
      },
      "CreateConsentRequest": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "description": "The user ID",
            "format": "uuid"
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "description": "Metadata of consent request",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Consent request"
      },
      "CreateLockRequest": {
        "required": [
          "activation_code",
          "customer_reference"
        ],
        "type": "object",
        "properties": {
          "customer_reference": {
            "minLength": 1,
            "type": "string",
            "description": "The name or any sort of reference that can be used to identify the Lock by the client",
            "example": "Garage door"
          },
          "activation_code": {
            "minLength": 1,
            "type": "string",
            "description": "The activation code written on the physical lock"
          }
        },
        "additionalProperties": false
      },
      "CreateOrGetApplicationUserRequest": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "description": "Email",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "API request to create user"
      },
      "CreateOrGetExistingUserRequest": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "description": "Email",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "API request to create user"
      },
      "CreateOrUpdateApplicationRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The Application Id",
            "format": "uuid"
          },
          "customerReference": {
            "type": "string",
            "description": "The Application Name",
            "nullable": true
          },
          "companyName": {
            "type": "string",
            "description": "The Company Name",
            "nullable": true
          },
          "privacyPolicyUri": {
            "type": "string",
            "description": "Link to the Privacy policy",
            "nullable": true
          },
          "integrationType": {
            "type": "string",
            "description": "Integration Type",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "API to create or update application"
      },
      "CreateOrUpdateSiteRoleRequest": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "permissions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "isPrimary": {
            "type": "boolean"
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CustomSettingsRequest": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CustomSettingsResponse": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DataProcessingType": {
        "enum": [
          "Query",
          "DataSet"
        ],
        "type": "string"
      },
      "DataRemovalResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "site_id": {
            "type": "string",
            "format": "uuid"
          },
          "site_user_id": {
            "type": "string",
            "format": "uuid"
          },
          "state": {
            "$ref": "#/components/schemas/DataRemovalState"
          },
          "expires_at": {
            "type": "string",
            "format": "date-time"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          },
          "data_removal_state_changes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DataRemovalStateChangeResponse"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DataRemovalState": {
        "enum": [
          "pending",
          "declined",
          "extended"
        ],
        "type": "string"
      },
      "DataRemovalStateChangeResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "data_removal_id": {
            "type": "string",
            "format": "uuid"
          },
          "changed_by_site_user_id": {
            "type": "string",
            "format": "uuid"
          },
          "state": {
            "$ref": "#/components/schemas/DataRemovalState"
          },
          "reason": {
            "type": "string",
            "nullable": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "DataSyncState": {
        "enum": [
          "synced",
          "pending",
          "not_synced",
          "failed"
        ],
        "type": "string"
      },
      "DetachLockRequest": {
        "required": [
          "iq_link_state"
        ],
        "type": "object",
        "properties": {
          "iq_link_state": {
            "$ref": "#/components/schemas/IqLinkState"
          },
          "otp": {
            "type": "string",
            "description": "A valid otp",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "EasyOfficeModeScheduleResponse": {
        "type": "object",
        "properties": {
          "eom_auto_start": {
            "type": "boolean",
            "description": "is Easy Office Mode auto start enabled, set to true if enabled",
            "nullable": true
          },
          "monday": {
            "type": "boolean",
            "description": "is TimeSchedule enabled on Monday, set to true if enabled"
          },
          "tuesday": {
            "type": "boolean",
            "description": "is TimeSchedule enabled on Tuesday, set to true if enabled"
          },
          "wednesday": {
            "type": "boolean",
            "description": "is TimeSchedule enabled on Wednesday, set to true if enabled"
          },
          "thursday": {
            "type": "boolean",
            "description": "is TimeSchedule enabled on Thursday, set to true if enabled"
          },
          "friday": {
            "type": "boolean",
            "description": "is TimeSchedule enabled on Friday, set to true if enabled"
          },
          "saturday": {
            "type": "boolean",
            "description": "is TimeSchedule enabled on Saturday, set to true if enabled"
          },
          "sunday": {
            "type": "boolean",
            "description": "is TimeSchedule enabled on Sunday, set to true if enabled"
          },
          "start_time": {
            "type": "string",
            "description": "TimeSchedule start time",
            "format": "date-span",
            "example": "10:00"
          },
          "end_time": {
            "type": "string",
            "description": "TimeSchedule end time",
            "format": "date-span",
            "example": "17:00"
          },
          "start_date": {
            "type": "string",
            "description": "TimeSchedule start date",
            "format": "date-time",
            "nullable": true,
            "example": "2026-03-30T01:23:45.678"
          },
          "end_date": {
            "type": "string",
            "description": "TimeSchedule end date",
            "format": "date-time",
            "nullable": true,
            "example": "2026-03-30T01:23:45.678"
          }
        },
        "additionalProperties": false
      },
      "EntryNotificationRuleRequest": {
        "type": "object",
        "properties": {
          "alias": {
            "type": "string",
            "description": "Alias of the notification rule",
            "nullable": true
          },
          "send_email": {
            "type": "boolean",
            "description": "Whether the notification by e-mail is enabled or not for this rule"
          },
          "send_push": {
            "type": "boolean",
            "description": "Whether the notification by push is enabled or not for this rule"
          },
          "send_end_notification": {
            "type": "boolean",
            "description": "If the notification should be sent when the entry ends"
          },
          "all_locks": {
            "type": "boolean",
            "description": "If all locks of the site are included in the rule"
          },
          "lock_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Ids of locks included in the rule",
            "nullable": true
          },
          "all_users": {
            "type": "boolean",
            "description": "If all users of the site are included in the rule"
          },
          "user_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Ids of users included in the rule",
            "nullable": true
          },
          "always": {
            "type": "boolean",
            "description": "If the rule is active at all times"
          },
          "schedules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EntryNotificationRulesSchedule"
            },
            "description": "Specific time schedules the rule is active for",
            "nullable": true
          },
          "type": {
            "$ref": "#/components/schemas/EntryNotificationType"
          }
        },
        "additionalProperties": false
      },
      "EntryNotificationRuleResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Id of the entry notification rule",
            "format": "uuid"
          },
          "alias": {
            "type": "string",
            "description": "Alias of the entry notification rule",
            "nullable": true
          },
          "send_email": {
            "type": "boolean",
            "description": "Whether the notification by e-mail is enabled or not for this rule"
          },
          "send_push": {
            "type": "boolean",
            "description": "Whether the notification by push is enabled or not for this rule"
          },
          "send_end_notification": {
            "type": "boolean",
            "description": "If the notification should be sent when the entry ends"
          },
          "all_locks": {
            "type": "boolean",
            "description": "If all locks of the site are included in the rule"
          },
          "lock_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Ids of locks included in the rule",
            "nullable": true
          },
          "all_users": {
            "type": "boolean",
            "description": "If all users of the site are included in the rule"
          },
          "user_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Ids of users included in the rule",
            "nullable": true
          },
          "always": {
            "type": "boolean",
            "description": "If the rule is active at all times"
          },
          "schedules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EntryNotificationRulesSchedule"
            },
            "description": "Specific time schedules the rule is active for",
            "nullable": true
          },
          "type": {
            "$ref": "#/components/schemas/EntryNotificationType"
          },
          "disabled": {
            "type": "boolean",
            "description": "If the rule is disabled or not"
          }
        },
        "additionalProperties": false
      },
      "EntryNotificationRuleResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EntryNotificationRuleResponse"
            },
            "nullable": true
          },
          "next_page_link": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "EntryNotificationRulesSchedule": {
        "required": [
          "end_time",
          "start_time"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "monday": {
            "type": "boolean",
            "description": "Whether this timeschedule is valid on a Monday between start and end datetimes"
          },
          "tuesday": {
            "type": "boolean",
            "description": "Whether this timeschedule is valid on a Tuesday between start and end datetimes"
          },
          "wednesday": {
            "type": "boolean",
            "description": "Whether this timeschedule is valid on a Wednesday between start and end datetimes"
          },
          "thursday": {
            "type": "boolean",
            "description": "Whether this timeschedule is valid on a Thursday between start and end datetimes"
          },
          "friday": {
            "type": "boolean",
            "description": "Whether this timeschedule is valid on a Friday between start and end datetimes"
          },
          "saturday": {
            "type": "boolean",
            "description": "Whether this timeschedule is valid on a Saturday between start and end datetimes"
          },
          "sunday": {
            "type": "boolean",
            "description": "Whether this timeschedule is valid on a Sunday between start and end datetimes"
          },
          "start_time": {
            "type": "string",
            "description": "The start of the time span on which this timeschedule is valid, for the selected days and date span.",
            "format": "date-span",
            "example": "10:00"
          },
          "end_time": {
            "type": "string",
            "description": "The end of the time span on which this timeschedule is valid, for the selected days and date span.",
            "format": "date-span",
            "example": "17:00"
          },
          "start_date": {
            "type": "string",
            "description": "The date at which the timeschedule starts beeing valid",
            "format": "date-time",
            "nullable": true,
            "example": "2026-03-30T01:23:45.678"
          },
          "end_date": {
            "type": "string",
            "description": "The date at which the timeschedule stops being valid",
            "format": "date-time",
            "nullable": true,
            "example": "2026-03-30T01:23:45.678"
          }
        },
        "additionalProperties": false
      },
      "EntryNotificationType": {
        "enum": [
          "lock_opened",
          "lock_rejected"
        ],
        "type": "string"
      },
      "EntryResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The id of the entry",
            "format": "uuid"
          },
          "event_category": {
            "type": "string",
            "description": "The category of the event",
            "nullable": true
          },
          "event_detail": {
            "type": "string",
            "description": "Additional details of the event",
            "nullable": true
          },
          "utc_date_time": {
            "type": "string",
            "description": "The UTC timestamp that marks when the event happened",
            "format": "date-time",
            "example": "2026-03-30T01:23:45.678"
          },
          "local_date_time": {
            "type": "string",
            "description": "The timestamp that marks when the event happened but converted to the timezone of the IQ the lock is connected to",
            "format": "date-time",
            "example": "2026-03-30T01:23:45.678"
          },
          "lock_id": {
            "type": "string",
            "description": "id of the lock",
            "format": "uuid",
            "nullable": true
          },
          "lock_mac_address": {
            "type": "string",
            "description": "Mac address of the lock",
            "nullable": true
          },
          "lock_customer_reference": {
            "type": "string",
            "description": "Name of the lock",
            "nullable": true
          },
          "user_id": {
            "type": "string",
            "description": "id of the user",
            "format": "uuid",
            "nullable": true
          },
          "user_first_name": {
            "type": "string",
            "description": "First name of the user",
            "nullable": true
          },
          "user_last_name": {
            "type": "string",
            "description": "Last name of the user",
            "nullable": true
          },
          "user_image_url": {
            "type": "string",
            "description": "The url of the profile picture",
            "nullable": true
          },
          "user_alias": {
            "type": "string",
            "description": "user's alias on the site",
            "nullable": true
          },
          "iq_id": {
            "type": "string",
            "description": "id of the IQ",
            "format": "uuid",
            "nullable": true
          },
          "iq_customer_reference": {
            "type": "string",
            "description": "Name of the IQ",
            "nullable": true
          },
          "iq_mac_address": {
            "type": "string",
            "description": "Mac address of the IQ",
            "nullable": true
          },
          "iq_revision": {
            "type": "string",
            "description": "Iq version",
            "nullable": true,
            "example": "1.0 or 2.0"
          },
          "exit_requested": {
            "type": "boolean",
            "description": "Indicates if it is an exit event."
          },
          "access_by": {
            "type": "string",
            "description": "What was used for access (tag, remote, etc.)",
            "nullable": true
          },
          "access_detail": {
            "type": "string",
            "description": "Access Details (i.e. tag number when AccessBy is tag)",
            "nullable": true
          },
          "ttl_in_seconds": {
            "type": "integer",
            "description": "Time to Live of the event in seconds",
            "format": "int32"
          },
          "expiration_date_time": {
            "type": "string",
            "description": "Event expiration time in UTC, shows when event will be deleted.",
            "format": "date-time",
            "example": "2026-03-30T01:23:45.678"
          }
        },
        "additionalProperties": false
      },
      "EntryResponsePagedResponseWithContinuationToken": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EntryResponse"
            },
            "nullable": true
          },
          "continuation_token": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ErrorResponse": {
        "type": "object",
        "properties": {
          "ErrorCode": {
            "type": "string",
            "nullable": true
          },
          "Message": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ExportEventsFilterRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "utcDateTime": {
            "type": "string",
            "format": "date-time",
            "example": "2026-03-30T01:23:45.678"
          },
          "localDateTime": {
            "type": "string",
            "format": "date-time",
            "example": "2026-03-30T01:23:45.678"
          },
          "lockId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "lockCustomerReference": {
            "type": "string",
            "nullable": true
          },
          "lockMacAddress": {
            "type": "string",
            "nullable": true
          },
          "userId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "userFirstName": {
            "type": "string",
            "nullable": true
          },
          "userLastName": {
            "type": "string",
            "nullable": true
          },
          "userImageUrl": {
            "type": "string",
            "nullable": true
          },
          "userAlias": {
            "type": "string",
            "nullable": true
          },
          "iqId": {
            "type": "string",
            "format": "uuid"
          },
          "iqCustomerReference": {
            "type": "string",
            "nullable": true
          },
          "iqMacAddress": {
            "type": "string",
            "nullable": true
          },
          "iqRevision": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "description": "event / incident",
            "nullable": true
          },
          "accessBy": {
            "type": "string",
            "description": "tag / vtag / remote",
            "nullable": true
          },
          "accessDetail": {
            "type": "string",
            "nullable": true
          },
          "eventCategory": {
            "type": "string",
            "description": "lock_opened / lock_rejected / office_mode etc",
            "nullable": true
          },
          "eventDetail": {
            "type": "string",
            "description": "start / end / low_batteries / offline etc",
            "nullable": true
          },
          "eventCode": {
            "type": "string",
            "nullable": true
          },
          "exitRequested": {
            "type": "boolean"
          },
          "ttl": {
            "type": "integer",
            "format": "int32"
          },
          "expirationDateTime": {
            "type": "string",
            "format": "date-time",
            "example": "2026-03-30T01:23:45.678"
          }
        },
        "additionalProperties": false
      },
      "ExtendedSiteUserKeyResponse": {
        "type": "object",
        "properties": {
          "user": {
            "$ref": "#/components/schemas/UserSummaryWithAliasResponse"
          },
          "blocked": {
            "type": "boolean",
            "description": "If the key is blocked for this site"
          },
          "offline_access": {
            "type": "boolean",
            "description": "Depending on the context signifies either\r\na) whether the key has offline access for this site,\r\nor b) whether the key has offline access for a certain lock"
          },
          "id": {
            "type": "string",
            "description": "The id of the key (being the relation between the User and a Tag / Digital Key / Pin / Wallet)",
            "format": "uuid"
          },
          "key_identifier": {
            "type": "string",
            "description": "The name or number identifying the key.",
            "nullable": true,
            "example": "This can be a Device name for a Digital Key ('My iPhone') - A Tag number for a physical tag ('12345678') - The word \"pin\" for a pin code key ('pin') - Name of the Wallet ('Apple Wallet Unified Credential', 'Google Unified Credential')"
          },
          "key_id": {
            "type": "string",
            "description": "The id identifying the Tag / Digital Key / Pin / Wallet",
            "format": "uuid"
          },
          "type": {
            "$ref": "#/components/schemas/KeyType"
          },
          "expiry_date": {
            "type": "string",
            "description": "The expiry date of the key.\r\nNull if there is no expiration date for the key",
            "format": "date-time",
            "nullable": true,
            "example": "2026-03-30T01:23:45.678"
          },
          "registration_date": {
            "type": "string",
            "description": "The registration date of the key",
            "format": "date-time",
            "nullable": true,
            "example": "2026-03-30T01:23:45.678"
          },
          "key_uid": {
            "type": "string",
            "description": "DeviceUId when is a Digital Key\r\nRFIdUid when is a Tag",
            "nullable": true
          },
          "added_date": {
            "type": "string",
            "description": "Returns the added date for each key.",
            "format": "date-time",
            "example": "2026-03-30T01:23:45.678"
          }
        },
        "additionalProperties": false,
        "description": "Relationship between a SiteUser and a Tag / Digital Key / Pin"
      },
      "ExtendedSiteUserKeyResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtendedSiteUserKeyResponse"
            },
            "nullable": true
          },
          "next_page_link": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FeatureCodeResponse": {
        "enum": [
          "apple_wallet_key",
          "google_wallet_key",
          "events_storage",
          "events_streaming",
          "smart_tag_assignment",
          "e_loxx",
          "time_and_attendance_report",
          "nfc",
          "pods",
          "xs_com",
          "elevator_control",
          "license_plate_recognition",
          "face_recognition",
          "custom_pin",
          "activity_log"
        ],
        "type": "string"
      },
      "FeatureResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "code": {
            "$ref": "#/components/schemas/FeatureCodeResponse"
          },
          "limit": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "included_limit": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "additional_seats": {
            "type": "integer",
            "format": "int32"
          },
          "ends_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FloorSummaryResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Id of the floor",
            "format": "uuid"
          },
          "number": {
            "type": "integer",
            "description": "Floor number",
            "format": "int32",
            "nullable": true
          },
          "customer_reference": {
            "type": "string",
            "description": "The name or any sort of reference that can be used to identify the floor by the client",
            "nullable": true
          },
          "lock_count": {
            "type": "integer",
            "description": "Number of locks belonging to this floor",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "FloorSummaryResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FloorSummaryResponse"
            },
            "nullable": true
          },
          "next_page_link": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FullFrontalIsoComplianceDto": {
        "type": "object",
        "properties": {
          "onlyOneFaceVisible": {
            "type": "boolean",
            "description": "Only one face visible."
          },
          "resolution": {
            "type": "boolean",
            "description": "Good image resolution."
          },
          "goodExposure": {
            "type": "boolean",
            "description": "Good exposure."
          },
          "goodGrayScaleProfile": {
            "type": "boolean",
            "description": "Good gray scale profile."
          },
          "noHotSpots": {
            "type": "boolean",
            "description": "No hot spots."
          },
          "isFrontal": {
            "type": "boolean",
            "description": "Is frontal."
          },
          "isLightingUniform": {
            "type": "boolean",
            "description": "Is lighting uniform."
          },
          "eyesOpenBestPractice": {
            "type": "boolean",
            "description": "Eyes open best practice."
          },
          "noTintedGlasses": {
            "type": "boolean",
            "description": "No tinted glasses."
          },
          "isSharp": {
            "type": "boolean",
            "description": "Is sharp."
          },
          "mouthClosedBestPractice": {
            "type": "boolean",
            "description": "Mouth closed best practice."
          }
        },
        "additionalProperties": false,
        "description": "The full frontal ISO compliance dto."
      },
      "GetAuditRetentionSettingsResponse": {
        "type": "object",
        "properties": {
          "retention_period_in_days": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "GetMyPictureResponse": {
        "type": "object",
        "properties": {
          "pictureUrl": {
            "type": "string",
            "description": "Url of the picture",
            "nullable": true
          },
          "expiresAt": {
            "type": "string",
            "description": "Expiration date of the picture link",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Picture response for the user"
      },
      "HardwareCommunicationType": {
        "enum": [
          "rf_net",
          "blue_net"
        ],
        "type": "string"
      },
      "HardwareType": {
        "enum": [
          "lock",
          "repeater"
        ],
        "type": "string"
      },
      "IncidentNotificationRuleRequest": {
        "type": "object",
        "properties": {
          "alias": {
            "type": "string",
            "description": "Alias of the notification rule",
            "nullable": true
          },
          "send_email": {
            "type": "boolean",
            "description": "Whether the notification by e-mail is enabled or not for this rule"
          },
          "send_push": {
            "type": "boolean",
            "description": "Whether the notification by push is enabled or not for this rule"
          },
          "send_end_notification": {
            "type": "boolean",
            "description": "If the notification should be sent when the incident ends"
          },
          "all_locks": {
            "type": "boolean",
            "description": "If all locks of the site are included in the rule"
          },
          "lock_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Ids of locks included in the rule",
            "nullable": true
          },
          "type": {
            "$ref": "#/components/schemas/IncidentNotificationType"
          }
        },
        "additionalProperties": false
      },
      "IncidentNotificationRuleResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Id of the incident notification rule",
            "format": "uuid"
          },
          "alias": {
            "type": "string",
            "description": "Alias of the incident notification rule",
            "nullable": true
          },
          "send_email": {
            "type": "boolean",
            "description": "Whether the notification by e-mail is enabled or not for this rule"
          },
          "send_push": {
            "type": "boolean",
            "description": "Whether the notification by push is enabled or not for this rule"
          },
          "send_end_notification": {
            "type": "boolean",
            "description": "If the notification should be sent when the incident ends"
          },
          "all_locks": {
            "type": "boolean",
            "description": "If all locks of the site are included in the rule"
          },
          "lock_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Ids of locks included in the rule",
            "nullable": true
          },
          "type": {
            "$ref": "#/components/schemas/NotificationType"
          },
          "disabled": {
            "type": "boolean",
            "description": "If the rule is disabled or not"
          }
        },
        "additionalProperties": false
      },
      "IncidentNotificationRuleResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IncidentNotificationRuleResponse"
            },
            "nullable": true
          },
          "next_page_link": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "IncidentNotificationType": {
        "enum": [
          "intrusion_alarm",
          "tamper_alarm",
          "door_left_open_alarm",
          "low_battery",
          "easy_office_mode_end_failed"
        ],
        "type": "string"
      },
      "IncidentResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The database id of the incident",
            "format": "uuid"
          },
          "event_category": {
            "type": "string",
            "description": "The category of the event",
            "nullable": true
          },
          "event_detail": {
            "type": "string",
            "description": "Additional details of the event",
            "nullable": true
          },
          "utc_date_time": {
            "type": "string",
            "description": "The UTC timestamp that marks when the event happened",
            "format": "date-time",
            "example": "2026-03-30T01:23:45.678"
          },
          "local_date_time": {
            "type": "string",
            "description": "The timestamp that marks when the event happened but converted to the timezone of the IQ the lock is connected to",
            "format": "date-time",
            "example": "2026-03-30T01:23:45.678"
          },
          "lock_id": {
            "type": "string",
            "description": "id of the lock",
            "format": "uuid",
            "nullable": true
          },
          "lock_mac_address": {
            "type": "string",
            "description": "Mac address of the lock",
            "nullable": true
          },
          "lock_customer_reference": {
            "type": "string",
            "description": "Name of the lock",
            "nullable": true
          },
          "iq_id": {
            "type": "string",
            "description": "id of the IQ",
            "format": "uuid",
            "nullable": true
          },
          "iq_customer_reference": {
            "type": "string",
            "description": "Name of the IQ",
            "nullable": true
          },
          "iq_mac_address": {
            "type": "string",
            "description": "Mac address of the IQ",
            "nullable": true
          },
          "iq_revision": {
            "type": "string",
            "description": "Iq version",
            "nullable": true,
            "example": "1.0 or 2.0"
          },
          "ttl_in_seconds": {
            "type": "integer",
            "description": "Time to Live of the event in seconds",
            "format": "int32"
          },
          "expiration_date_time": {
            "type": "string",
            "description": "Event expiration time in UTC, shows when event will be deleted.",
            "format": "date-time",
            "example": "2026-03-30T01:23:45.678"
          }
        },
        "additionalProperties": false
      },
      "IncidentResponsePagedResponseWithContinuationToken": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IncidentResponse"
            },
            "nullable": true
          },
          "continuation_token": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "InstallationState": {
        "enum": [
          "installation",
          "released",
          "self_installed"
        ],
        "type": "string"
      },
      "InstallerAccessIqsResponse": {
        "type": "object",
        "properties": {
          "iq_id": {
            "type": "string",
            "description": "The database id of the IQ",
            "format": "uuid"
          },
          "customer_reference": {
            "type": "string",
            "description": "The name of the IQ",
            "nullable": true,
            "example": "Office IQ1"
          },
          "online": {
            "type": "boolean",
            "description": "The connection state of the IQ to the cloud."
          },
          "state": {
            "$ref": "#/components/schemas/IqState"
          },
          "enabled": {
            "type": "boolean",
            "description": "Is Installer Access enabled"
          },
          "access_expiry_date": {
            "type": "string",
            "description": "Installer Access expiration date",
            "format": "date-time",
            "nullable": true,
            "example": "2026-03-30T01:23:45.678"
          },
          "otp_enabled": {
            "type": "boolean",
            "description": "Iq Otp state"
          }
        },
        "additionalProperties": false
      },
      "InstallerAccessIqsResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InstallerAccessIqsResponse"
            },
            "nullable": true
          },
          "next_page_link": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "InstallerAccessResponse": {
        "type": "object",
        "properties": {
          "customer_uid": {
            "type": "string",
            "description": "The customer uid of the site",
            "nullable": true
          },
          "expiry_date": {
            "type": "string",
            "description": "The UTC timestamp the access expires",
            "format": "date-time",
            "example": "2026-03-30T01:23:45.678"
          },
          "is_active": {
            "type": "boolean",
            "description": "If the access is still active"
          },
          "token": {
            "type": "string",
            "description": "The token for this access",
            "nullable": true
          },
          "update_default_installer": {
            "type": "boolean",
            "description": "If the access code will update (or not) the default Installer Company"
          }
        },
        "additionalProperties": false
      },
      "InstallerCompanyResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "customer_reference": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          },
          "website": {
            "type": "string",
            "nullable": true
          },
          "contact": {
            "$ref": "#/components/schemas/InstallerContactResponse"
          }
        },
        "additionalProperties": false
      },
      "InstallerContactResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "first_name": {
            "type": "string",
            "nullable": true
          },
          "last_name": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "IntercomEntranceResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Id of the entrance",
            "format": "uuid"
          },
          "customer_reference": {
            "type": "string",
            "description": "Name of the entrance",
            "nullable": true
          },
          "soft_intercom_code": {
            "type": "string",
            "description": "Entrance intercom code",
            "nullable": true
          },
          "opening_channel": {
            "$ref": "#/components/schemas/IntercomOpeningChannel"
          },
          "geo_filter_proximity": {
            "type": "integer",
            "description": "Proximity (in meters) in which the Site can be called from",
            "format": "int32",
            "nullable": true
          },
          "lock": {
            "$ref": "#/components/schemas/LockSummaryResponse"
          }
        },
        "additionalProperties": false
      },
      "IntercomEntranceResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IntercomEntranceResponse"
            },
            "nullable": true
          },
          "next_page_link": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "IntercomIntegrationToggleRequest": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "IntercomOpeningChannel": {
        "enum": [
          "salto_ks",
          "nebula",
          "aca"
        ],
        "type": "string"
      },
      "IntercomResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "id of the intercom integration site",
            "format": "uuid"
          },
          "customer_reference": {
            "type": "string",
            "description": "Customer reference of intercom integration",
            "nullable": true
          },
          "owner_id": {
            "type": "string",
            "description": "Id of the owner of an intercom integration",
            "format": "uuid",
            "nullable": true
          },
          "tenant_id": {
            "type": "string",
            "description": "Tenant id",
            "format": "uuid"
          },
          "time_zone": {
            "type": "string",
            "description": "Time zone of intercom integration",
            "nullable": true
          },
          "subscription_status": {
            "$ref": "#/components/schemas/IntercomSubscriptionStatus"
          },
          "integration_enabled": {
            "type": "boolean",
            "description": "Indicator of whether the integration is enabled or not"
          },
          "labels": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Labels for site",
            "nullable": true
          },
          "external_id": {
            "type": "string",
            "description": "ID of the external site (SaltoKs, Nebula or Aca)",
            "nullable": true
          },
          "created_at": {
            "type": "string",
            "description": "Creation date of intercom integration",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "description": "Last modification date of intercom integration",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Info about intercom integration"
      },
      "IntercomSubscriptionStatus": {
        "enum": [
          "active",
          "inactive_expired",
          "inactive_tenants_exceeded",
          "inactive_feature_not_included"
        ],
        "type": "string"
      },
      "IqExtendedSummaryResponse": {
        "type": "object",
        "properties": {
          "mac_address": {
            "type": "string",
            "description": "Mac address of the IQ",
            "nullable": true
          },
          "is_online": {
            "type": "boolean",
            "description": "Is IQ online or not"
          },
          "revision": {
            "type": "string",
            "description": "Iq version",
            "nullable": true,
            "example": "1.0 or 2.0"
          },
          "otp_enabled": {
            "type": "boolean",
            "description": "Iq Otp state"
          },
          "id": {
            "type": "string",
            "description": "Id of the IQ",
            "format": "uuid"
          },
          "customer_reference": {
            "type": "string",
            "description": "Name of the IQ",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "IqLinkState": {
        "enum": [
          "attached_pending",
          "attached",
          "detached",
          "detached_pending"
        ],
        "type": "string"
      },
      "IqPinResponse": {
        "type": "object",
        "properties": {
          "iq_id": {
            "type": "string",
            "description": "Iq Id",
            "format": "uuid"
          },
          "activation_date": {
            "type": "string",
            "description": "Date of iq activation",
            "format": "date-time",
            "nullable": true,
            "example": "2026-03-30T01:23:45.678"
          },
          "activated": {
            "type": "boolean",
            "description": "Status of Iq pin"
          }
        },
        "additionalProperties": false
      },
      "IqPinResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IqPinResponse"
            },
            "nullable": true
          },
          "next_page_link": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "IqResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The database id of the IQ",
            "format": "uuid"
          },
          "customer_reference": {
            "type": "string",
            "description": "The name of the IQ",
            "nullable": true,
            "example": "Office IQ1"
          },
          "time_zone": {
            "type": "string",
            "description": "The IQ time zone",
            "nullable": true,
            "example": "Europe/Amsterdam"
          },
          "mac": {
            "type": "string",
            "description": "The first 6 digits of the activation code written on the physical IQ",
            "nullable": true,
            "example": "01.AB.02"
          },
          "operator": {
            "type": "string",
            "description": "The name of the Operator the IQ is connected to",
            "nullable": true
          },
          "state": {
            "$ref": "#/components/schemas/IqState"
          },
          "restore_required": {
            "type": "boolean",
            "description": "If the IQ was reset, restore actions need to be taken - like resetting the tree"
          },
          "reset_date": {
            "type": "string",
            "description": "The last time stamp when the IQ was reset",
            "format": "date-time",
            "nullable": true,
            "example": "2026-03-30T01:23:45.678"
          },
          "online": {
            "type": "boolean",
            "description": "The connection state of the IQ to the cloud."
          },
          "led_enabled": {
            "type": "boolean",
            "description": "Is LED enabled or not."
          },
          "data_sync_state": {
            "$ref": "#/components/schemas/DataSyncState"
          },
          "signal_strength": {
            "type": "integer",
            "description": "Shows the mobile network connection strength of the IQ.",
            "format": "int32",
            "nullable": true
          },
          "revision": {
            "type": "string",
            "description": "Iq version",
            "nullable": true,
            "example": "1.0 or 2.0"
          },
          "otp_enabled": {
            "type": "boolean",
            "description": "Iq Otp state"
          }
        },
        "additionalProperties": false
      },
      "IqResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IqResponse"
            },
            "nullable": true
          },
          "next_page_link": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "IqSecretResponse": {
        "type": "object",
        "properties": {
          "secret": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "IqSoftwareVersionsResponse": {
        "type": "object",
        "properties": {
          "modem_application_version": {
            "type": "string",
            "description": "The version of the application",
            "nullable": true,
            "example": "1.2.3"
          },
          "modem_firmware_version": {
            "type": "string",
            "description": "The firmware version",
            "nullable": true,
            "example": "2.1.0"
          },
          "router_firmware_version": {
            "type": "string",
            "description": "The firmware version of the router",
            "nullable": true,
            "example": "1.0"
          },
          "node_firmware_version": {
            "type": "string",
            "description": "The firmware version of the node",
            "nullable": true,
            "example": "1.0"
          }
        },
        "additionalProperties": false
      },
      "IqState": {
        "enum": [
          "factory",
          "initialized",
          "installation",
          "active",
          "dead"
        ],
        "type": "string"
      },
      "IqSummaryResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Id of the IQ",
            "format": "uuid"
          },
          "customer_reference": {
            "type": "string",
            "description": "Name of the IQ",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "JsonNode": {
        "type": "object",
        "properties": {
          "options": {
            "$ref": "#/components/schemas/JsonNodeOptions"
          },
          "parent": {
            "$ref": "#/components/schemas/JsonNode"
          },
          "root": {
            "$ref": "#/components/schemas/JsonNode"
          }
        },
        "additionalProperties": false
      },
      "JsonNodeOptions": {
        "type": "object",
        "properties": {
          "propertyNameCaseInsensitive": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "KeyType": {
        "enum": [
          "tag",
          "mkey",
          "pin",
          "wallet",
          "license_plate",
          "unknown",
          "custom_pin"
        ],
        "type": "string"
      },
      "LicensePlateResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "License plate ID",
            "format": "uuid"
          },
          "license_plate": {
            "type": "string",
            "description": "License plate number",
            "nullable": true
          },
          "blocked": {
            "type": "boolean",
            "description": "A boolean flag indicating if the license plate is blocked or not"
          }
        },
        "additionalProperties": false
      },
      "LockAction": {
        "enum": [
          "open",
          "lock"
        ],
        "type": "string"
      },
      "LockActionRequest": {
        "type": "object",
        "properties": {
          "action": {
            "$ref": "#/components/schemas/LockAction"
          }
        },
        "additionalProperties": false,
        "description": "Request to perform action over lock"
      },
      "LockMode": {
        "enum": [
          "generic",
          "dynamic_locker",
          "free_locker"
        ],
        "type": "string"
      },
      "LockResponse": {
        "required": [
          "vendor"
        ],
        "type": "object",
        "properties": {
          "mac": {
            "type": "string",
            "description": "The mac address of the lock",
            "nullable": true
          },
          "floor": {
            "$ref": "#/components/schemas/FloorSummaryResponse"
          },
          "locked_state": {
            "$ref": "#/components/schemas/LockState"
          },
          "lock_type": {
            "$ref": "#/components/schemas/LockType"
          },
          "online": {
            "type": "boolean",
            "description": "Indicates if the lock is connected to the iq"
          },
          "iq_link_state": {
            "$ref": "#/components/schemas/IqLinkState"
          },
          "tag_registration_state": {
            "$ref": "#/components/schemas/TagRegistrationState"
          },
          "battery_level": {
            "$ref": "#/components/schemas/BatteryStates"
          },
          "left_open_alarm": {
            "type": "boolean",
            "description": "Indicates if the door is left open. Applicable for escutcheons with a DLO feature."
          },
          "intrusion_alarm": {
            "type": "boolean",
            "description": "Indicates if an intrusion alarm is active."
          },
          "easy_office_mode_schedule": {
            "$ref": "#/components/schemas/EasyOfficeModeScheduleResponse"
          },
          "iq": {
            "$ref": "#/components/schemas/IqExtendedSummaryResponse"
          },
          "repeater": {
            "$ref": "#/components/schemas/RepeaterSummaryResponse"
          },
          "privacy_mode": {
            "type": "boolean",
            "description": "Indicates if locks privacy mode is enabled"
          },
          "communication_type": {
            "$ref": "#/components/schemas/HardwareCommunicationType"
          },
          "vendor": {
            "$ref": "#/components/schemas/VendorResponse"
          },
          "id": {
            "type": "string",
            "description": "id of the lock",
            "format": "uuid"
          },
          "customer_reference": {
            "type": "string",
            "description": "Name of the lock",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "LockResponseExtended": {
        "required": [
          "vendor"
        ],
        "type": "object",
        "properties": {
          "offline_access_keys_limit": {
            "type": "integer",
            "description": "Limit for number of keys that can have guaranteed offline access\r\nDepends on lock type and communication type",
            "format": "int32"
          },
          "offline_access_keys_count": {
            "type": "integer",
            "description": "Number of keys that were set to have guaranteed offline access to this lock",
            "format": "int32"
          },
          "mac": {
            "type": "string",
            "description": "The mac address of the lock",
            "nullable": true
          },
          "floor": {
            "$ref": "#/components/schemas/FloorSummaryResponse"
          },
          "locked_state": {
            "$ref": "#/components/schemas/LockState"
          },
          "lock_type": {
            "$ref": "#/components/schemas/LockType"
          },
          "online": {
            "type": "boolean",
            "description": "Indicates if the lock is connected to the iq"
          },
          "iq_link_state": {
            "$ref": "#/components/schemas/IqLinkState"
          },
          "tag_registration_state": {
            "$ref": "#/components/schemas/TagRegistrationState"
          },
          "battery_level": {
            "$ref": "#/components/schemas/BatteryStates"
          },
          "left_open_alarm": {
            "type": "boolean",
            "description": "Indicates if the door is left open. Applicable for escutcheons with a DLO feature."
          },
          "intrusion_alarm": {
            "type": "boolean",
            "description": "Indicates if an intrusion alarm is active."
          },
          "easy_office_mode_schedule": {
            "$ref": "#/components/schemas/EasyOfficeModeScheduleResponse"
          },
          "iq": {
            "$ref": "#/components/schemas/IqExtendedSummaryResponse"
          },
          "repeater": {
            "$ref": "#/components/schemas/RepeaterSummaryResponse"
          },
          "privacy_mode": {
            "type": "boolean",
            "description": "Indicates if locks privacy mode is enabled"
          },
          "communication_type": {
            "$ref": "#/components/schemas/HardwareCommunicationType"
          },
          "vendor": {
            "$ref": "#/components/schemas/VendorResponse"
          },
          "id": {
            "type": "string",
            "description": "id of the lock",
            "format": "uuid"
          },
          "customer_reference": {
            "type": "string",
            "description": "Name of the lock",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "LockResponseExtendedPagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LockResponseExtended"
            },
            "nullable": true
          },
          "next_page_link": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "LockSettingsResponse": {
        "type": "object",
        "properties": {
          "open_time": {
            "type": "integer",
            "description": "Time in seconds when lock will remain open after open event",
            "format": "int32"
          },
          "offline_access_by_audit_trail_day_count": {
            "type": "integer",
            "description": "Time in days of a valid Audit Trial for Offline Access",
            "format": "int32"
          },
          "wall_reader_near_detection_opening": {
            "type": "boolean",
            "description": "Near Mode off or on for wall readers"
          },
          "time_kept_open_on_exit": {
            "type": "integer",
            "description": "Exit Leave Open feature: ELO\r\nRepresents the time in minutes the door should stay open after someone leaves.\r\n0 means the feature is disabled. (Default)\r\n255 is the max value.",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Lock Settings"
      },
      "LockState": {
        "enum": [
          "none",
          "locked",
          "office_mode",
          "uncertain",
          "locked_pending",
          "office_mode_pending"
        ],
        "type": "string"
      },
      "LockSummaryResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "id of the lock",
            "format": "uuid"
          },
          "customer_reference": {
            "type": "string",
            "description": "Name of the lock",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "LockSummaryResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LockSummaryResponse"
            },
            "nullable": true
          },
          "next_page_link": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "LockType": {
        "enum": [
          "none",
          "unknown",
          "escutcheon",
          "cylinder",
          "wall_reader",
          "locker_lock",
          "dlok",
          "escutcheon_pin",
          "wall_reader_pin"
        ],
        "type": "string"
      },
      "LockerAssignmentResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Locker Id",
            "format": "uuid"
          },
          "customer_reference": {
            "type": "string",
            "description": "Locker Customer Reference",
            "nullable": true
          },
          "locker_group_id": {
            "type": "string",
            "description": "Locker Group Customer Reference",
            "format": "uuid",
            "nullable": true
          },
          "locker_group_customer_reference": {
            "type": "string",
            "description": "Locker Group Customer Reference",
            "nullable": true
          },
          "access_group_id": {
            "type": "string",
            "description": "Assignment Access Group Id",
            "format": "uuid",
            "nullable": true
          },
          "locker_state": {
            "$ref": "#/components/schemas/LockingState"
          },
          "is_online": {
            "type": "boolean",
            "description": "Online status of the locker"
          },
          "users_count": {
            "type": "integer",
            "description": "Users in assignment",
            "format": "int32"
          },
          "sync_state": {
            "$ref": "#/components/schemas/SyncState"
          },
          "mode": {
            "$ref": "#/components/schemas/LockMode"
          }
        },
        "additionalProperties": false
      },
      "LockerAssignmentResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LockerAssignmentResponse"
            },
            "nullable": true
          },
          "next_page_link": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "LockerGroupResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Id of the locker group",
            "format": "uuid"
          },
          "customer_reference": {
            "type": "string",
            "description": "Customer Reference of the locker group",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Locker group info"
      },
      "LockerResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Id of the locker",
            "format": "uuid"
          },
          "customer_reference": {
            "type": "string",
            "description": "Customer Reference of the locker",
            "nullable": true
          },
          "lock_group": {
            "$ref": "#/components/schemas/LockerGroupResponse"
          },
          "state": {
            "$ref": "#/components/schemas/LockingState"
          },
          "is_online": {
            "type": "boolean",
            "description": "Online status of the locker"
          },
          "sync_state": {
            "$ref": "#/components/schemas/SyncState"
          },
          "mode": {
            "$ref": "#/components/schemas/LockMode"
          }
        },
        "additionalProperties": false,
        "description": "Locker information"
      },
      "LockerResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LockerResponse"
            },
            "nullable": true
          },
          "next_page_link": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "LockingRequest": {
        "required": [
          "locked_state"
        ],
        "type": "object",
        "properties": {
          "locked_state": {
            "$ref": "#/components/schemas/RequestLockStates"
          },
          "otp": {
            "type": "string",
            "description": "A valid otp",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "LockingState": {
        "enum": [
          "open",
          "locked",
          "closed"
        ],
        "type": "string"
      },
      "MKeyDetailsResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The id of the relation between the user and the digital key",
            "format": "uuid"
          },
          "key_id": {
            "type": "string",
            "description": "The id of the digital key",
            "format": "uuid"
          },
          "expiry_date": {
            "type": "string",
            "description": "The expiry date of the key",
            "format": "date-time",
            "nullable": true,
            "example": "2026-03-30T01:23:45.678"
          },
          "registration_date": {
            "type": "string",
            "description": "The registration date of the key",
            "format": "date-time",
            "example": "2026-03-30T01:23:45.678"
          }
        },
        "additionalProperties": false,
        "description": "Details of a Digital Key"
      },
      "MKeyResponse": {
        "type": "object",
        "properties": {
          "mkey_data": {
            "type": "string",
            "description": "The digital key data of the activated device",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Digital key response"
      },
      "ManagedSiteResponse": {
        "type": "object",
        "properties": {
          "active_user_amount": {
            "type": "integer",
            "description": "Shows the number of active users for the site",
            "format": "int32"
          },
          "active_iq_amount": {
            "type": "integer",
            "description": "Shows the number of active iqs for the site.",
            "format": "int32"
          },
          "pin_enabled": {
            "type": "boolean",
            "description": "Shows whether the site is pin enabled."
          },
          "site_uid": {
            "type": "string",
            "description": "The uid of the site",
            "nullable": true
          },
          "id": {
            "type": "string",
            "description": "The id of the site",
            "format": "uuid"
          },
          "customer_reference": {
            "type": "string",
            "description": "The name of the site",
            "nullable": true
          },
          "subscribed_user_amount": {
            "type": "integer",
            "description": "Shows the number of users allowed by the site's subscription\r\n(this is not the number of actually subscribed users).\r\n0 means, that no users are allowed by subscription / there is no valid subscription.\r\nnull means unlimited number of users allowed.",
            "format": "int32",
            "nullable": true
          },
          "subscription_valid": {
            "type": "boolean",
            "description": "Subscription state of the site"
          },
          "country_code": {
            "type": "string",
            "description": "The country of the site",
            "nullable": true
          },
          "time_zone": {
            "type": "string",
            "description": "The time zone the site is in",
            "nullable": true
          },
          "owner": {
            "$ref": "#/components/schemas/UserSummaryResponse"
          },
          "installation_state": {
            "$ref": "#/components/schemas/InstallationState"
          },
          "mkey_compatible": {
            "type": "boolean",
            "description": "Indicates whether site is mobile key compatible"
          },
          "store_events_ttl": {
            "type": "string",
            "description": "Indicates the retention time set for entries",
            "format": "date-span"
          }
        },
        "additionalProperties": false
      },
      "MeResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "User id",
            "format": "uuid"
          },
          "first_name": {
            "type": "string",
            "description": "Firstname of the user",
            "nullable": true
          },
          "last_name": {
            "type": "string",
            "description": "Surname of the user",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "description": "Phone number of the user",
            "nullable": true
          },
          "email": {
            "type": "string",
            "description": "Email address of the user",
            "nullable": true
          },
          "language": {
            "type": "string",
            "description": "The UI language chosen by the user",
            "nullable": true
          },
          "tag_number": {
            "type": "string",
            "description": "User tag number",
            "nullable": true
          },
          "tag_rf_id_uid": {
            "type": "string",
            "description": "tag RfidUid",
            "nullable": true
          },
          "image_url": {
            "type": "string",
            "description": "The url of the profile picture",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Contains details of currently logged in user"
      },
      "MeSiteProfileResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "ID",
            "format": "uuid"
          },
          "tenantId": {
            "type": "string",
            "description": "Tenant ID",
            "format": "uuid"
          },
          "organizationId": {
            "type": "string",
            "description": "Organization ID",
            "format": "uuid"
          },
          "siteId": {
            "type": "string",
            "description": "Site ID",
            "format": "uuid"
          },
          "tenantProfileId": {
            "type": "string",
            "description": "Tenant Profile ID",
            "format": "uuid"
          },
          "organizationProfileId": {
            "type": "string",
            "description": "Organization Profile ID",
            "format": "uuid"
          },
          "alias": {
            "type": "string",
            "description": "Alias",
            "nullable": true
          },
          "tenantProfile": {
            "$ref": "#/components/schemas/TenantProfileResponse"
          },
          "isCandidateOwner": {
            "type": "boolean",
            "description": "Is user candidate owner for the site"
          }
        },
        "additionalProperties": false,
        "description": "Me site profile response"
      },
      "MetadataResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "description": "JSON Data of the Metadata",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Response model for Metadata"
      },
      "MyConsentRequestResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Id of consent request",
            "format": "uuid"
          },
          "application": {
            "$ref": "#/components/schemas/ApplicationResponse"
          },
          "status": {
            "$ref": "#/components/schemas/ConsentRequestStatus"
          },
          "type": {
            "$ref": "#/components/schemas/ConsentRequestType"
          }
        },
        "additionalProperties": false,
        "description": "Consent request"
      },
      "MyConsentRequestResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MyConsentRequestResponse"
            },
            "nullable": true
          },
          "nextPageLink": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "NotificationType": {
        "enum": [
          "intrusion_alarm",
          "tamper_alarm",
          "door_left_open_alarm",
          "low_battery",
          "easy_office_mode_end_failed",
          "lock_opened",
          "lock_rejected"
        ],
        "type": "string"
      },
      "OccupyLockerRequest": {
        "type": "object",
        "properties": {
          "lock_id": {
            "type": "string",
            "format": "uuid"
          }
        },
        "additionalProperties": false
      },
      "Ok": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "OrganizationProfileExpandableResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "ID",
            "format": "uuid"
          },
          "tenantId": {
            "type": "string",
            "description": "Tenant ID",
            "format": "uuid"
          },
          "organizationId": {
            "type": "string",
            "description": "Organization ID",
            "format": "uuid"
          },
          "tenantProfileId": {
            "type": "string",
            "description": "Tenant Profile ID",
            "format": "uuid"
          },
          "tenantProfile": {
            "$ref": "#/components/schemas/TenantProfileResponse"
          },
          "roles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoleResponse"
            },
            "description": "List of organization level roles (expandable)"
          },
          "siteProfiles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SiteProfileWithRolesResponse"
            },
            "description": "List of site profiles of the organization profile (expandable)"
          }
        },
        "additionalProperties": false,
        "description": "Organization Profile with expandable entities"
      },
      "OrganizationProfileExpandableResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrganizationProfileExpandableResponse"
            }
          },
          "nextPageLink": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "OrganizationProfileResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "ID",
            "format": "uuid"
          },
          "tenantId": {
            "type": "string",
            "description": "Tenant ID",
            "format": "uuid"
          },
          "organizationId": {
            "type": "string",
            "description": "Organization ID",
            "format": "uuid"
          },
          "tenantProfile": {
            "$ref": "#/components/schemas/TenantProfileResponse"
          },
          "siteProfiles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SiteProfileResponse"
            },
            "description": "List of site profiles of the organization profile"
          }
        },
        "additionalProperties": false,
        "description": "Organization Profile"
      },
      "OrganizationWithRolesAndSitesCountResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The id of the organization",
            "format": "uuid"
          },
          "tenantId": {
            "type": "string",
            "description": "The id of the tenant to which the organization belongs",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "description": "The name of the organization"
          },
          "sitesCount": {
            "type": "integer",
            "description": "Number of sites the user has access to in the organization",
            "format": "int32"
          },
          "roles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoleResponse"
            },
            "description": "Roles the user has in the organization\r\nIs expandable",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Organization response with expandable roles and sites count"
      },
      "OrganizationWithRolesAndSitesCountResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrganizationWithRolesAndSitesCountResponse"
            }
          },
          "nextPageLink": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "OrganizationWithRolesResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The id of the organization",
            "format": "uuid"
          },
          "tenantId": {
            "type": "string",
            "description": "The id of the tenant to which the organization belongs",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "description": "The name of the organization"
          },
          "roles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoleResponse"
            },
            "description": "Roles the user has in the organization\r\nIs expandable",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Organization with expandable Roles"
      },
      "OwnerResponse": {
        "type": "object",
        "properties": {
          "termsOfServiceAcceptedAt": {
            "type": "string",
            "description": "Date of acceptance of terms of service",
            "format": "date-time",
            "nullable": true
          },
          "siteProfileId": {
            "type": "string",
            "description": "SiteProfileId of owner",
            "format": "uuid",
            "nullable": true
          },
          "tenantProfileId": {
            "type": "string",
            "description": "TenantProfileId of owner",
            "format": "uuid",
            "nullable": true
          },
          "tenantProfile": {
            "$ref": "#/components/schemas/TenantProfileResponse"
          }
        },
        "additionalProperties": false,
        "description": "Owner response"
      },
      "OwnershipState": {
        "enum": [
          "site_user",
          "current_owner",
          "pending_owner"
        ],
        "type": "string"
      },
      "PatchAccessGroupFloorsRequest": {
        "type": "object",
        "properties": {
          "add_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Represents a list of floors to be added to an access group",
            "nullable": true
          },
          "remove_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Represents a list of floors to be deleted from an access group",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PatchAccessGroupLocksRequest": {
        "type": "object",
        "properties": {
          "add_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Represents a list of locks to be added to an access group",
            "nullable": true
          },
          "remove_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Represents a list of locks to be deleted from an access group",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PatchAccessGroupRequest": {
        "type": "object",
        "properties": {
          "customer_reference": {
            "type": "string",
            "description": "Name of the access group. Must be not-empty if provided",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PatchAccessGroupUsersRequest": {
        "type": "object",
        "properties": {
          "add_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Represents a list of users to be added to an access group",
            "nullable": true
          },
          "remove_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Represents a list of users to be deleted from an access group",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PatchDataRemovalRequest": {
        "type": "object",
        "properties": {
          "state": {
            "$ref": "#/components/schemas/DataRemovalState"
          },
          "reason": {
            "type": "string",
            "description": "Reason for declining or extending the deletion request",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PatchEntryNotificationRuleRequest": {
        "type": "object",
        "properties": {
          "alias": {
            "type": "string",
            "description": "Alias of the notification rule",
            "nullable": true
          },
          "send_email": {
            "type": "boolean",
            "description": "Whether the notification by e-mail is enabled or not for this rule"
          },
          "send_push": {
            "type": "boolean",
            "description": "Whether the notification by push is enabled or not for this rule"
          },
          "send_end_notification": {
            "type": "boolean",
            "description": "If the notification should be sent when the entry ends"
          },
          "all_locks": {
            "type": "boolean",
            "description": "If all locks of the site are included in the rule"
          },
          "lock_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Ids of locks included in the rule",
            "nullable": true
          },
          "all_users": {
            "type": "boolean",
            "description": "If all users of the site are included in the rule"
          },
          "user_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Ids of users included in the rule",
            "nullable": true
          },
          "always": {
            "type": "boolean",
            "description": "If the rule is active at all times"
          },
          "schedules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EntryNotificationRulesSchedule"
            },
            "description": "Specific time schedules the rule is active for",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PatchFloorRequest": {
        "type": "object",
        "properties": {
          "number": {
            "type": "integer",
            "description": "Floor Number",
            "format": "int32",
            "nullable": true
          },
          "customer_reference": {
            "type": "string",
            "description": "The name or any sort of reference that can be used to identify the floor by the client",
            "nullable": true
          },
          "locks_to_add": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "List of Lock ids to be added to the Floor",
            "nullable": true
          },
          "locks_to_remove": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "List of Lock ids to be removed from the Floor",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PatchIncidentNotificationRuleRequest": {
        "type": "object",
        "properties": {
          "alias": {
            "type": "string",
            "description": "Alias of the notification rule",
            "nullable": true
          },
          "send_email": {
            "type": "boolean",
            "description": "Whether the notification by e-mail is enabled or not for this rule"
          },
          "send_push": {
            "type": "boolean",
            "description": "Whether the notification by push is enabled or not for this rule"
          },
          "send_end_notification": {
            "type": "boolean",
            "description": "If the notification should be sent when the incident ends"
          },
          "all_locks": {
            "type": "boolean",
            "description": "If all locks of the site are included in the rule"
          },
          "lock_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Ids of locks included in the rule",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PatchInstallerAccessIqRequest": {
        "required": [
          "otp"
        ],
        "type": "object",
        "properties": {
          "otp": {
            "minLength": 1,
            "type": "string",
            "description": "A valid otp"
          },
          "enable": {
            "type": "boolean",
            "description": "Enable / disable installer access for IQ"
          }
        },
        "additionalProperties": false
      },
      "PatchIqRequest": {
        "type": "object",
        "properties": {
          "customer_reference": {
            "type": "string",
            "description": "The name or any sort of reference that can be used to identify the IQ by the client. Must be not-empty if provided",
            "nullable": true
          },
          "time_zone": {
            "type": "string",
            "description": "Timezone of the IQ. Must be not-empty if provided",
            "nullable": true
          },
          "led_enabled": {
            "type": "boolean",
            "description": "If the IQ LED heartbeat should be turned on or off",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PatchKeyRequest": {
        "type": "object",
        "properties": {
          "blocked": {
            "type": "boolean",
            "description": "Blocks the access of the key",
            "nullable": true
          },
          "offline_access": {
            "type": "boolean",
            "description": "Sets offline access for the key",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PatchLicensePlateRequest": {
        "required": [
          "license_plate"
        ],
        "type": "object",
        "properties": {
          "license_plate": {
            "minLength": 1,
            "type": "string",
            "description": "License plate number"
          }
        },
        "additionalProperties": false
      },
      "PatchLockOfflineAccessRequest": {
        "type": "object",
        "properties": {
          "add_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Represents a list of to be added relations to offline access keys/locks",
            "nullable": true
          },
          "remove_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Represents a list of to be deleted relations to offline access keys/locks",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PatchLockRequest": {
        "type": "object",
        "properties": {
          "customer_reference": {
            "type": "string",
            "description": "The new name of the lock. Must be not-empty if provided",
            "nullable": true
          },
          "floor_id": {
            "type": "string",
            "description": "Id of the floor to link to the lock",
            "format": "uuid",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PatchLockerRequest": {
        "type": "object",
        "properties": {
          "customer_reference": {
            "type": "string",
            "description": "New customer reference of the lock",
            "nullable": true
          },
          "mode": {
            "$ref": "#/components/schemas/LockMode"
          }
        },
        "additionalProperties": false,
        "description": "Request object to update the lock"
      },
      "PatchMyConsentRequest": {
        "type": "object",
        "properties": {
          "properties": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/ConsentRequestStatus"
          }
        },
        "additionalProperties": false,
        "description": "Patch my consent request"
      },
      "PatchPodGuestRequest": {
        "type": "object",
        "properties": {
          "access_rule": {
            "$ref": "#/components/schemas/PodGuestAccessRuleRequest"
          },
          "tag_id": {
            "type": "string",
            "description": "Tag assigned to the User",
            "format": "uuid",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PatchPodGuestsRequest": {
        "type": "object",
        "properties": {
          "add_guests": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PostPodGuestRequest"
            },
            "description": "List of Guests to be added to the Pod.\r\nIf a user exists in the system by email, they will be added to the site.\r\nIf a user does not exist in the system by email, they will be invited.",
            "nullable": true
          },
          "remove_guests_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "List of Guest to be removed from the Pod.\r\nIf no Guest exists in the Pod by id, id will be ignored.\r\nThis Id is PodGuest.Id",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Request to add/remove guests to/from a Pod"
      },
      "PatchPodLocksRequest": {
        "type": "object",
        "properties": {
          "lock_to_add_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "nullable": true
          },
          "lock_to_remove_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PatchPodMembersRequest": {
        "type": "object",
        "properties": {
          "add_members": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PostPodMemberRequest"
            },
            "description": "List of Members to be added to the Pod.\r\nIf a user exists in the system by email, they will be added to the site.\r\nIf a user does not exist in the system by email, they will be invited.",
            "nullable": true
          },
          "remove_member_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "List of Member ids to be removed from the Pod.\r\nIf no Member exists in the Pod by id, id will be ignored.\r\nThis id is the same as SiteUser id of the Member (but not the same as User id of the Member).",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Request to add/remove Members to/from a Pod"
      },
      "PatchPodOverrideAccessRuleLocksRequest": {
        "type": "object",
        "properties": {
          "add_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Represents a list of locks to be added to the access rule",
            "nullable": true
          },
          "remove_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Represents a list of locks to be deleted from the access rule",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PatchPodRequest": {
        "type": "object",
        "properties": {
          "customer_reference": {
            "type": "string",
            "description": "the name of the Pod.Must be not-empty if provided",
            "nullable": true
          },
          "max_guest_amount": {
            "type": "integer",
            "description": "maximum number of guests that can be invited to the Pod",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "request to update existing Pod"
      },
      "PatchPodTagsRequest": {
        "type": "object",
        "properties": {
          "tags_to_add": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "nullable": true
          },
          "tags_to_remove": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PatchRepeaterRequest": {
        "type": "object",
        "properties": {
          "customer_reference": {
            "type": "string",
            "description": "The name or any sort of reference that can be used to identify the Repeater",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PatchSiteProfileRequest": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "First Name. Ignored if the profile has a completed profile",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "description": "Last Name. Ignored if the profile has a completed profile",
            "nullable": true
          },
          "alias": {
            "type": "string",
            "description": "Alias",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Patch Site Profile Request"
      },
      "PatchSiteRequest": {
        "type": "object",
        "properties": {
          "customer_reference": {
            "type": "string",
            "description": "The name of the site",
            "nullable": true
          },
          "owner_id": {
            "type": "string",
            "description": "Swap the owner rights with another admin in the site",
            "format": "uuid"
          },
          "country_code": {
            "type": "string",
            "description": "The country where the site is located",
            "nullable": true
          },
          "time_zone": {
            "type": "string",
            "description": "The time zone the site is in",
            "nullable": true
          },
          "store_events_ttl": {
            "type": "string",
            "description": "The retention time set for the site. '365.00:00:00' for one year.",
            "format": "date-span",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Request to update the site"
      },
      "PatchSiteUserRequest": {
        "type": "object",
        "properties": {
          "first_name": {
            "type": "string",
            "description": "The first name of the user, only editable if it has no profile. Must be not-empty if provided",
            "nullable": true
          },
          "last_name": {
            "type": "string",
            "description": "The last name of the user, only editable if it has no profile. Must be not-empty if provided",
            "nullable": true
          },
          "email": {
            "type": "string",
            "description": "The email of the user, only editable if it has no profile. This will result in an invite to create a profile.",
            "nullable": true
          },
          "role_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The roles assigned to the user",
            "nullable": true
          },
          "alias": {
            "type": "string",
            "description": "The alias label for the site user",
            "nullable": true
          },
          "tag_id": {
            "type": "string",
            "description": "Tag Id of the user",
            "format": "uuid",
            "nullable": true
          },
          "toggle_easy_office_mode": {
            "type": "boolean",
            "description": "Indicates if the user can toggle easy office mode",
            "nullable": true
          },
          "toggle_manual_office_mode": {
            "type": "boolean",
            "description": "Indicates if the user can toggle manual office mode",
            "nullable": true
          },
          "blocked": {
            "type": "boolean",
            "description": "Indicates if the user is blocked in this site",
            "nullable": true
          },
          "override_privacy_mode": {
            "type": "boolean",
            "description": "Indicates if the user can override privacy mode in this site, false by default",
            "nullable": true
          },
          "use_pin": {
            "type": "boolean",
            "description": "Indicates if the user is able to use pin in this site",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PatchSiteUserSubscriptionRequest": {
        "type": "object",
        "properties": {
          "state": {
            "$ref": "#/components/schemas/UserSubscriptionState"
          }
        },
        "additionalProperties": false
      },
      "PatchTimeScheduleRequest": {
        "type": "object",
        "properties": {
          "monday": {
            "type": "boolean",
            "description": "Whether this timeschedule is valid on a Monday between start and end datetimes"
          },
          "tuesday": {
            "type": "boolean",
            "description": "Whether this timeschedule is valid on a Tuesday between start and end datetimes"
          },
          "wednesday": {
            "type": "boolean",
            "description": "Whether this timeschedule is valid on a Wednesday between start and end datetimes"
          },
          "thursday": {
            "type": "boolean",
            "description": "Whether this timeschedule is valid on a Thursday between start and end datetimes"
          },
          "friday": {
            "type": "boolean",
            "description": "Whether this timeschedule is valid on a Friday between start and end datetimes"
          },
          "saturday": {
            "type": "boolean",
            "description": "Whether this timeschedule is valid on a Saturday between start and end datetimes"
          },
          "sunday": {
            "type": "boolean",
            "description": "Whether this timeschedule is valid on a Sunday between start and end datetimes"
          },
          "start_time": {
            "type": "string",
            "description": "The start of the time span on which this timeschedule is valid, for the selected days and date span.",
            "format": "date-span",
            "example": "10:00"
          },
          "end_time": {
            "type": "string",
            "description": "The end of the time span on which this timeschedule is valid, for the selected days and date span.",
            "format": "date-span",
            "example": "17:00"
          },
          "start_date": {
            "type": "string",
            "description": "The date at which the timeschedule starts beeing valid",
            "format": "date-time",
            "nullable": true,
            "example": "2026-03-30T01:23:45.678"
          },
          "end_date": {
            "type": "string",
            "description": "The date at which the timeschedule stops being valid",
            "format": "date-time",
            "nullable": true,
            "example": "2026-03-30T01:23:45.678"
          }
        },
        "additionalProperties": false
      },
      "PermissionResponse": {
        "required": [
          "tags"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TagResponse"
            }
          }
        },
        "additionalProperties": false
      },
      "PermissionResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PermissionResponse"
            }
          },
          "nextPageLink": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PodAccessCodeResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "Generated access code",
            "nullable": true
          },
          "id": {
            "type": "string",
            "description": "Access code id",
            "format": "uuid"
          },
          "code_created_date": {
            "type": "string",
            "description": "Access code created date",
            "format": "date-time",
            "example": "2026-03-30T01:23:45.678"
          },
          "code_expiry_date": {
            "type": "string",
            "description": "Access code valid Until",
            "format": "date-time",
            "example": "2026-03-30T01:23:45.678"
          },
          "use_limit": {
            "type": "integer",
            "description": "Usage limit for the access code",
            "format": "int32"
          },
          "state": {
            "$ref": "#/components/schemas/PodAccessCodeState"
          },
          "current_user_count": {
            "type": "integer",
            "description": "How many times the code was used to retrieve an auth token",
            "format": "int32"
          },
          "failed_expiration_count": {
            "type": "integer",
            "description": "How many times the code was used after it expired",
            "format": "int32"
          },
          "failed_use_limit_count": {
            "type": "integer",
            "description": "How many times the code was used after the use limit was reached",
            "format": "int32"
          },
          "failed_revoked_count": {
            "type": "integer",
            "description": "How many times the code was used after it was revoked",
            "format": "int32"
          },
          "failed_identity_id_count": {
            "type": "integer",
            "description": "How many times the code was used by an existing identity",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "PodAccessCodeState": {
        "enum": [
          "active",
          "revoked"
        ],
        "type": "string"
      },
      "PodAccessCodeWithOwnerResponse": {
        "type": "object",
        "properties": {
          "generated_by": {
            "$ref": "#/components/schemas/UserWithEmailShortResponse"
          },
          "id": {
            "type": "string",
            "description": "Access code id",
            "format": "uuid"
          },
          "code_created_date": {
            "type": "string",
            "description": "Access code created date",
            "format": "date-time",
            "example": "2026-03-30T01:23:45.678"
          },
          "code_expiry_date": {
            "type": "string",
            "description": "Access code valid Until",
            "format": "date-time",
            "example": "2026-03-30T01:23:45.678"
          },
          "use_limit": {
            "type": "integer",
            "description": "Usage limit for the access code",
            "format": "int32"
          },
          "state": {
            "$ref": "#/components/schemas/PodAccessCodeState"
          },
          "current_user_count": {
            "type": "integer",
            "description": "How many times the code was used to retrieve an auth token",
            "format": "int32"
          },
          "failed_expiration_count": {
            "type": "integer",
            "description": "How many times the code was used after it expired",
            "format": "int32"
          },
          "failed_use_limit_count": {
            "type": "integer",
            "description": "How many times the code was used after the use limit was reached",
            "format": "int32"
          },
          "failed_revoked_count": {
            "type": "integer",
            "description": "How many times the code was used after it was revoked",
            "format": "int32"
          },
          "failed_identity_id_count": {
            "type": "integer",
            "description": "How many times the code was used by an existing identity",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "PodAccessCodeWithOwnerResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PodAccessCodeWithOwnerResponse"
            },
            "nullable": true
          },
          "next_page_link": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PodAccessRuleLockResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "id of the lock",
            "format": "uuid"
          },
          "customer_reference": {
            "type": "string",
            "description": "Name of the lock",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PodAccessRuleLockResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PodAccessRuleLockResponse"
            },
            "nullable": true
          },
          "next_page_link": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PodAccessRuleRequest": {
        "type": "object",
        "properties": {
          "access_rule_type": {
            "$ref": "#/components/schemas/PodAccessRuleTypeApi"
          },
          "schedules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PodAccessRuleScheduleRequest"
            },
            "description": "List of timetables of accessibility for selected locks\r\nAt least one should be specified if access_rule_type = checkin_checkout.\r\nNone can be specified when always",
            "nullable": true
          },
          "alias": {
            "type": "string",
            "description": "Alias of the pod access rule that is to be changed\r\nShould be unique and can't be the same as an existing alias on the same pod",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Request to create or update Pod's Access Rule"
      },
      "PodAccessRuleResponse": {
        "type": "object",
        "properties": {
          "access_rule_type": {
            "$ref": "#/components/schemas/PodAccessRuleTypeApi"
          },
          "schedules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BaseTimeScheduleResponse"
            },
            "description": "Schedules of the access rule.",
            "nullable": true
          },
          "alias": {
            "type": "string",
            "description": "Alias of the access rule.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Access Rule of the pod"
      },
      "PodAccessRuleScheduleRequest": {
        "required": [
          "end_time",
          "start_time"
        ],
        "type": "object",
        "properties": {
          "monday": {
            "type": "boolean",
            "description": "Whether this timeschedule is valid on a Monday between start and end datetimes"
          },
          "tuesday": {
            "type": "boolean",
            "description": "Whether this timeschedule is valid on a Tuesday between start and end datetimes"
          },
          "wednesday": {
            "type": "boolean",
            "description": "Whether this timeschedule is valid on a Wednesday between start and end datetimes"
          },
          "thursday": {
            "type": "boolean",
            "description": "Whether this timeschedule is valid on a Thursday between start and end datetimes"
          },
          "friday": {
            "type": "boolean",
            "description": "Whether this timeschedule is valid on a Friday between start and end datetimes"
          },
          "saturday": {
            "type": "boolean",
            "description": "Whether this timeschedule is valid on a Saturday between start and end datetimes"
          },
          "sunday": {
            "type": "boolean",
            "description": "Whether this timeschedule is valid on a Sunday between start and end datetimes"
          },
          "start_time": {
            "type": "string",
            "description": "The start of the time span on which this timeschedule is valid, for the selected days and date span.",
            "format": "date-span",
            "example": "10:00"
          },
          "end_time": {
            "type": "string",
            "description": "The end of the time span on which this timeschedule is valid, for the selected days and date span.",
            "format": "date-span",
            "example": "17:00"
          },
          "start_date": {
            "type": "string",
            "description": "The date at which the timeschedule starts beeing valid",
            "format": "date-time",
            "nullable": true,
            "example": "2026-03-30T01:23:45.678"
          },
          "end_date": {
            "type": "string",
            "description": "The date at which the timeschedule stops being valid",
            "format": "date-time",
            "nullable": true,
            "example": "2026-03-30T01:23:45.678"
          }
        },
        "additionalProperties": false
      },
      "PodAccessRuleTypeApi": {
        "enum": [
          "always",
          "custom",
          "checkin_checkout",
          "override"
        ],
        "type": "string"
      },
      "PodAccessRuleWithLockCountResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Pod's Access Rule identifier.",
            "format": "uuid"
          },
          "access_rule_type": {
            "$ref": "#/components/schemas/PodAccessRuleTypeApi"
          },
          "schedules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BaseTimeScheduleResponse"
            },
            "description": "Schedules of the access rule.",
            "nullable": true
          },
          "alias": {
            "type": "string",
            "description": "Alias of the access rule.",
            "nullable": true
          },
          "lock_count": {
            "type": "integer",
            "description": "Count of lock within pod access rule.",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Access Rule of the pod"
      },
      "PodAccessRuleWithLockCountResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PodAccessRuleWithLockCountResponse"
            },
            "nullable": true
          },
          "next_page_link": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PodAccessRuleWithLocksResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "locks": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "nullable": true
          },
          "alias": {
            "type": "string",
            "nullable": true
          },
          "access_rule_type": {
            "$ref": "#/components/schemas/PodAccessRuleTypeApi"
          },
          "schedules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BaseTimeScheduleResponse"
            },
            "description": "Schedules of the access rule.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PodGuestAccessRuleRequest": {
        "type": "object",
        "properties": {
          "locks": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "List of locks to be accessible through this access rule.\r\nAt least one should be specified if access_rule_type = custom.\r\nNone can be specified when always",
            "nullable": true
          },
          "access_rule_type": {
            "$ref": "#/components/schemas/PodAccessRuleTypeApi"
          },
          "schedules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PodAccessRuleScheduleRequest"
            },
            "description": "List of timetables of accessibility for selected locks\r\nAt least one should be specified if access_rule_type = custom.\r\nNone can be specified when always",
            "nullable": true
          },
          "alias": {
            "type": "string",
            "description": "Alias given to the access rule to make it more identifiable\r\nIt is non required\r\nIt has to be unique",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Request to setup access rule for specific pod guest"
      },
      "PodGuestAccessRuleResponse": {
        "type": "object",
        "properties": {
          "access_rule_type": {
            "$ref": "#/components/schemas/PodAccessRuleTypeApi"
          },
          "schedules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BaseTimeScheduleResponse"
            },
            "description": "Schedules of the access rule of the pod guest.",
            "nullable": true
          },
          "locks": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Locks of the access rule of the pod guest",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Access Rule of a Pod Guest"
      },
      "PodGuestResponse": {
        "type": "object",
        "properties": {
          "first_name": {
            "type": "string",
            "description": "User's First Name",
            "nullable": true
          },
          "last_name": {
            "type": "string",
            "description": "User's Last Name",
            "nullable": true
          },
          "alias": {
            "type": "string",
            "description": "User's Alias",
            "nullable": true
          },
          "email": {
            "type": "string",
            "description": "User's Email",
            "nullable": true
          },
          "tag_number": {
            "type": "string",
            "description": "Tag number",
            "nullable": true
          },
          "access_rule": {
            "$ref": "#/components/schemas/PodGuestAccessRuleResponse"
          }
        },
        "additionalProperties": false
      },
      "PodLockResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "id of the lock",
            "format": "uuid"
          },
          "customer_reference": {
            "type": "string",
            "description": "Name of the lock",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PodLockResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PodLockResponse"
            },
            "nullable": true
          },
          "next_page_link": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PodUserResponse": {
        "type": "object",
        "properties": {
          "pod_user_type": {
            "$ref": "#/components/schemas/PodUserType"
          },
          "site_user_id": {
            "type": "string",
            "description": "Id of the Pod user (unique among PodMembers and PodGuests)",
            "format": "uuid"
          },
          "id": {
            "type": "string",
            "description": "The id of the site user",
            "format": "uuid"
          },
          "user": {
            "$ref": "#/components/schemas/UserSummaryResponse"
          },
          "roles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoleResponse"
            },
            "description": "The roles assigned to the user",
            "nullable": true
          },
          "alias": {
            "type": "string",
            "description": "The alias label for the site user",
            "nullable": true
          },
          "toggle_easy_office_mode": {
            "type": "boolean",
            "description": "Indicates if the user can toggle easy office mode"
          },
          "toggle_manual_office_mode": {
            "type": "boolean",
            "description": "Indicates if the user can toggle manual office mode"
          },
          "remote_access": {
            "type": "boolean",
            "description": "Indicates if the user can execute remote openings"
          },
          "blocked": {
            "type": "boolean",
            "description": "Indicates if the user is blocked in this site (all tags and remote openings)"
          },
          "tag_owned_by_this_site": {
            "type": "boolean",
            "description": "Indicates if the users tag is owned by this site"
          },
          "subscription_state": {
            "$ref": "#/components/schemas/UserSubscriptionStateApi"
          },
          "override_privacy_mode": {
            "type": "boolean",
            "description": "Indicates if the user can override privacy mode in this site, false by default"
          },
          "use_pin": {
            "type": "boolean",
            "description": "Indicates if the user is able to use pin in this site"
          },
          "data_removal_expires_at": {
            "type": "string",
            "description": "Populated when there is a site user data removal request and indicated when it will expire and be automatically honoured. Only visible to site owner.",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PodUserResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PodUserResponse"
            },
            "nullable": true
          },
          "next_page_link": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PodUserType": {
        "enum": [
          "member",
          "guest"
        ],
        "type": "string"
      },
      "PodWithAccessRuleResponse": {
        "type": "object",
        "properties": {
          "access_rule": {
            "$ref": "#/components/schemas/PodAccessRuleResponse"
          },
          "id": {
            "type": "string",
            "description": "Pod id",
            "format": "uuid"
          },
          "customer_reference": {
            "type": "string",
            "description": "the name of the Pod",
            "nullable": true
          },
          "max_guest_amount": {
            "type": "integer",
            "description": "maximum number of guests that can be invited to the Pod",
            "format": "int32"
          },
          "member_amount": {
            "type": "integer",
            "description": "amount of members in the Pod",
            "format": "int32"
          },
          "guest_amount": {
            "type": "integer",
            "description": "amount of guests in the Pod",
            "format": "int32"
          },
          "lock_amount": {
            "type": "integer",
            "description": "amount of locks in the Pod",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Pod with Access Rule Response"
      },
      "PodWithAccessRuleResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PodWithAccessRuleResponse"
            },
            "nullable": true
          },
          "next_page_link": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PodWithPodUserResponse": {
        "type": "object",
        "properties": {
          "pod_user_id": {
            "type": "string",
            "description": "Id of the pod user(member or guest)\r\nNot the same as SiteUserId",
            "format": "uuid"
          },
          "id": {
            "type": "string",
            "description": "Pod id",
            "format": "uuid"
          },
          "customer_reference": {
            "type": "string",
            "description": "the name of the Pod",
            "nullable": true
          },
          "max_guest_amount": {
            "type": "integer",
            "description": "maximum number of guests that can be invited to the Pod",
            "format": "int32"
          },
          "member_amount": {
            "type": "integer",
            "description": "amount of members in the Pod",
            "format": "int32"
          },
          "guest_amount": {
            "type": "integer",
            "description": "amount of guests in the Pod",
            "format": "int32"
          },
          "lock_amount": {
            "type": "integer",
            "description": "amount of locks in the Pod",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Pod With Pod User Response"
      },
      "PostAccessGroupLockRequest": {
        "required": [
          "lock_id"
        ],
        "type": "object",
        "properties": {
          "lock_id": {
            "type": "string",
            "description": "The id of the lock",
            "format": "uuid"
          }
        },
        "additionalProperties": false
      },
      "PostAccessGroupRequest": {
        "required": [
          "customer_reference"
        ],
        "type": "object",
        "properties": {
          "customer_reference": {
            "minLength": 1,
            "type": "string",
            "description": "Name of the access group"
          }
        },
        "additionalProperties": false
      },
      "PostAccessGroupTimeScheduleRequest": {
        "required": [
          "end_time",
          "start_time"
        ],
        "type": "object",
        "properties": {
          "monday": {
            "type": "boolean",
            "description": "Whether this timeschedule is valid on a Monday between start and end datetimes"
          },
          "tuesday": {
            "type": "boolean",
            "description": "Whether this timeschedule is valid on a Tuesday between start and end datetimes"
          },
          "wednesday": {
            "type": "boolean",
            "description": "Whether this timeschedule is valid on a Wednesday between start and end datetimes"
          },
          "thursday": {
            "type": "boolean",
            "description": "Whether this timeschedule is valid on a Thursday between start and end datetimes"
          },
          "friday": {
            "type": "boolean",
            "description": "Whether this timeschedule is valid on a Friday between start and end datetimes"
          },
          "saturday": {
            "type": "boolean",
            "description": "Whether this timeschedule is valid on a Saturday between start and end datetimes"
          },
          "sunday": {
            "type": "boolean",
            "description": "Whether this timeschedule is valid on a Sunday between start and end datetimes"
          },
          "start_time": {
            "type": "string",
            "description": "The start of the time span on which this timeschedule is valid, for the selected days and date span.",
            "format": "date-span",
            "example": "10:00"
          },
          "end_time": {
            "type": "string",
            "description": "The end of the time span on which this timeschedule is valid, for the selected days and date span.",
            "format": "date-span",
            "example": "17:00"
          },
          "start_date": {
            "type": "string",
            "description": "The date at which the timeschedule starts beeing valid",
            "format": "date-time",
            "nullable": true,
            "example": "2026-03-30T01:23:45.678"
          },
          "end_date": {
            "type": "string",
            "description": "The date at which the timeschedule stops being valid",
            "format": "date-time",
            "nullable": true,
            "example": "2026-03-30T01:23:45.678"
          }
        },
        "additionalProperties": false
      },
      "PostAccessGroupUserRequest": {
        "required": [
          "user_id"
        ],
        "type": "object",
        "properties": {
          "user_id": {
            "type": "string",
            "description": "The id of the user",
            "format": "uuid"
          }
        },
        "additionalProperties": false
      },
      "PostBulkActionRequest": {
        "required": [
          "targetOperationBody",
          "targetOperationMethod",
          "targetOperationUrl"
        ],
        "type": "object",
        "properties": {
          "dataProcessingType": {
            "$ref": "#/components/schemas/DataProcessingType"
          },
          "dataSet": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JsonNode"
            },
            "description": "JSON array representing the data to perform bulk action over. Required if DataProcessingType=DataSet",
            "nullable": true
          },
          "dataQueryUrl": {
            "type": "string",
            "description": "Url supporting Odata. Required if DataProcessingType=Query",
            "nullable": true
          },
          "reportDataQueryMapping": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Mappings for the bulk operation report"
          },
          "targetOperationUrl": {
            "type": "string",
            "description": "Bulk operation url representing the target action"
          },
          "targetOperationMethod": {
            "type": "string",
            "description": "Bulk operation HttpMethod"
          },
          "targetOperationBody": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/JsonNode"
            },
            "description": "Body of the request of each bulk operation"
          }
        },
        "additionalProperties": false,
        "description": "Bulk action request"
      },
      "PostDataRemovalRequest": {
        "type": "object",
        "properties": {
          "reason": {
            "type": "string",
            "description": "Reason for the request",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PostExistingSiteUserRequest": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Id of the user",
            "format": "uuid"
          },
          "role_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The roles assigned to the user. Must contain at least one hierarchical role",
            "nullable": true
          },
          "alias": {
            "type": "string",
            "description": "The alias label for the site user",
            "nullable": true
          },
          "toggle_easy_office_mode": {
            "type": "boolean",
            "description": "Indicates if the user can toggle easy office mode"
          },
          "toggle_manual_office_mode": {
            "type": "boolean",
            "description": "Indicates if the user can toggle manual office mode"
          },
          "blocked": {
            "type": "boolean",
            "description": "Indicates if the user is blocked in this site"
          },
          "override_privacy_mode": {
            "type": "boolean",
            "description": "Indicates if user can override privacy mode in this site, false by default"
          },
          "use_pin": {
            "type": "boolean",
            "description": "Indicates if the user is able to use pin in this site"
          }
        },
        "additionalProperties": false
      },
      "PostFloorRequest": {
        "required": [
          "customer_reference",
          "number"
        ],
        "type": "object",
        "properties": {
          "number": {
            "type": "integer",
            "description": "Floor Number",
            "format": "int32"
          },
          "customer_reference": {
            "minLength": 1,
            "type": "string",
            "description": "The name or any sort of reference that can be used to identify the floor by the client"
          },
          "locks": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "List of Lock ids to be added to the Floor",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PostImportResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The import id",
            "format": "uuid"
          }
        },
        "additionalProperties": false,
        "description": "Response for Post Import endpoint"
      },
      "PostIqRequest": {
        "required": [
          "activation_code",
          "customer_reference",
          "time_zone"
        ],
        "type": "object",
        "properties": {
          "customer_reference": {
            "minLength": 1,
            "type": "string",
            "description": "The name or any sort of reference that can be used to identify the IQ by the client",
            "example": "Entrance IQ"
          },
          "time_zone": {
            "minLength": 1,
            "type": "string",
            "description": "The time zone of the IQ"
          },
          "activation_code": {
            "minLength": 1,
            "type": "string",
            "description": "The activation code written on the IQ"
          }
        },
        "additionalProperties": false
      },
      "PostLicensePlateRequest": {
        "required": [
          "license_plate"
        ],
        "type": "object",
        "properties": {
          "license_plate": {
            "minLength": 1,
            "type": "string",
            "description": "License plate number"
          },
          "blocked": {
            "type": "boolean",
            "description": "A boolean flag indicating if the license plate is blocked or not"
          }
        },
        "additionalProperties": false
      },
      "PostNewSiteUserDeviceRequest": {
        "required": [
          "device_uid",
          "public_key"
        ],
        "type": "object",
        "properties": {
          "device_name": {
            "type": "string",
            "description": "The human readable device name.",
            "nullable": true
          },
          "device_uid": {
            "minLength": 1,
            "type": "string",
            "description": "The unique identifier of the device."
          },
          "public_key": {
            "minLength": 1,
            "type": "string",
            "description": "The public key generated on the device."
          }
        },
        "additionalProperties": false,
        "description": "Request to create a new User Device"
      },
      "PostNewSiteUserRequest": {
        "type": "object",
        "properties": {
          "first_name": {
            "type": "string",
            "description": "The first name of the user, only editable if it has no profile.",
            "nullable": true
          },
          "last_name": {
            "type": "string",
            "description": "The last name of the user, only editable if it has no profile.",
            "nullable": true
          },
          "email": {
            "type": "string",
            "description": "The email of the user, only editable if it has no profile. This will result in an invite to create a profile.",
            "nullable": true
          },
          "tag_id": {
            "type": "string",
            "description": "Tag Id of the user",
            "format": "uuid",
            "nullable": true
          },
          "role_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The roles assigned to the user. Must contain at least one hierarchical role",
            "nullable": true
          },
          "alias": {
            "type": "string",
            "description": "The alias label for the site user",
            "nullable": true
          },
          "toggle_easy_office_mode": {
            "type": "boolean",
            "description": "Indicates if the user can toggle easy office mode"
          },
          "toggle_manual_office_mode": {
            "type": "boolean",
            "description": "Indicates if the user can toggle manual office mode"
          },
          "blocked": {
            "type": "boolean",
            "description": "Indicates if the user is blocked in this site"
          },
          "override_privacy_mode": {
            "type": "boolean",
            "description": "Indicates if user can override privacy mode in this site, false by default"
          },
          "use_pin": {
            "type": "boolean",
            "description": "Indicates if the user is able to use pin in this site"
          }
        },
        "additionalProperties": false
      },
      "PostOverrideAccessRuleRequest": {
        "type": "object",
        "properties": {
          "schedules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PodAccessRuleScheduleRequest"
            },
            "description": "List of timetables of accessibility for selected locks.",
            "nullable": true
          },
          "locks": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "List of locks to be added to the access rule. All locks should be in the main access rule.",
            "nullable": true
          },
          "alias": {
            "type": "string",
            "description": "Alias for the post access rule",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PostPodGuestByAccessCodeRequest": {
        "type": "object",
        "properties": {
          "first_name": {
            "type": "string",
            "description": "Guest's First Name",
            "nullable": true
          },
          "last_name": {
            "type": "string",
            "description": "Guest's Last Name",
            "nullable": true
          },
          "alias": {
            "type": "string",
            "description": "Guest's alias",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Request to Add an anonymous Guest to the Pod by using an Access Code"
      },
      "PostPodGuestRequest": {
        "type": "object",
        "properties": {
          "access_rule": {
            "$ref": "#/components/schemas/PodGuestAccessRuleRequest"
          },
          "tag_id": {
            "type": "string",
            "description": "Tag assigned to the User. If user already has a tag, this property will be ignored",
            "format": "uuid",
            "nullable": true
          },
          "alias": {
            "type": "string",
            "description": "Alias of pod guest's site user",
            "nullable": true
          },
          "first_name": {
            "type": "string",
            "description": "User's First Name",
            "nullable": true
          },
          "last_name": {
            "type": "string",
            "description": "User's Last Name",
            "nullable": true
          },
          "email": {
            "type": "string",
            "description": "User's Email.\r\nOnly one PodMember per Pod is required to have an email.\r\nFor all other PodUsers it's optional",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Request to Add a Guest to the Pod"
      },
      "PostPodMemberRequest": {
        "type": "object",
        "properties": {
          "tag_id": {
            "type": "string",
            "description": "Tag assigned to the User",
            "format": "uuid",
            "nullable": true
          },
          "site_user_settings": {
            "$ref": "#/components/schemas/SiteUserSettingsRequest"
          },
          "first_name": {
            "type": "string",
            "description": "User's First Name",
            "nullable": true
          },
          "last_name": {
            "type": "string",
            "description": "User's Last Name",
            "nullable": true
          },
          "email": {
            "type": "string",
            "description": "User's Email.\r\nOnly one PodMember per Pod is required to have an email.\r\nFor all other PodUsers it's optional",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Request to Add a Member to the Pod"
      },
      "PostPodRequest": {
        "required": [
          "customer_reference",
          "max_guest_amount"
        ],
        "type": "object",
        "properties": {
          "customer_reference": {
            "minLength": 1,
            "type": "string",
            "description": "the name of the Pod"
          },
          "max_guest_amount": {
            "type": "integer",
            "description": "maximum number of guests that can be invited to the Pod",
            "format": "int32"
          },
          "locks": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "List of Lock ids to be added to the Pod",
            "nullable": true
          },
          "members": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PostPodMemberRequest"
            },
            "description": "List of Members to add to the Pod\r\nIf a user exists in the system by email, they will be added to the site.\r\nIf a user does not exist in the system by email, they will be invited",
            "nullable": true
          },
          "access_rule": {
            "$ref": "#/components/schemas/PodAccessRuleRequest"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "List of Tag ids to be added to the Pod",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "request to create a new Pod"
      },
      "PostRepeaterRequest": {
        "required": [
          "activation_code",
          "customer_reference"
        ],
        "type": "object",
        "properties": {
          "customer_reference": {
            "minLength": 1,
            "type": "string",
            "description": "The name or any sort of reference that can be used to identify the Repeater by the client",
            "example": "Top floor repeater"
          },
          "activation_code": {
            "minLength": 1,
            "type": "string",
            "description": "The activation code written on the physical repeater"
          }
        },
        "additionalProperties": false,
        "description": "Request to add and activate a repeater"
      },
      "PostSiteRequest": {
        "required": [
          "country_code",
          "customer_reference",
          "time_zone"
        ],
        "type": "object",
        "properties": {
          "customer_reference": {
            "minLength": 1,
            "type": "string",
            "description": "The name of the site"
          },
          "country_code": {
            "minLength": 1,
            "type": "string",
            "description": "The country where the site is located"
          },
          "time_zone": {
            "minLength": 1,
            "type": "string",
            "description": "The time zone the site is in"
          }
        },
        "additionalProperties": false
      },
      "PrimaryFacialDataDto": {
        "type": "object",
        "properties": {
          "characteristics": {
            "$ref": "#/components/schemas/CharacteristicsDto"
          },
          "fullFrontalIsoCompliance": {
            "$ref": "#/components/schemas/FullFrontalIsoComplianceDto"
          },
          "noFaceFound": {
            "type": "boolean",
            "description": "Indicates that no face found in the image"
          },
          "multipleFacesFound": {
            "type": "boolean",
            "description": "Indicates that multiple faces found in the image"
          },
          "fileSizeExceeded": {
            "type": "boolean",
            "description": "Indicates that file size has been exceeded"
          }
        },
        "additionalProperties": false,
        "description": "The primary facial data dto."
      },
      "ProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": { }
      },
      "ProductResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Id of the product",
            "format": "uuid"
          },
          "createdAt": {
            "type": "string",
            "description": "UTC time of when entity was created",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "description": "UTC time of when entity was last updated",
            "format": "date-time"
          },
          "name": {
            "type": "string",
            "description": "Title of the product"
          },
          "description": {
            "type": "string",
            "description": "Description of the product"
          }
        },
        "additionalProperties": false,
        "description": "Product object"
      },
      "ProductResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductResponse"
            }
          },
          "nextPageLink": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ProfileType": {
        "enum": [
          "User",
          "Virtual",
          "Service"
        ],
        "type": "string"
      },
      "PutAssignmentRequest": {
        "type": "object",
        "properties": {
          "lock_id": {
            "type": "string",
            "description": "Id of the lock",
            "format": "uuid"
          },
          "user_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "List of the users that should be present in locker assignment",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PutAuditRetentionSettingsRequest": {
        "type": "object",
        "properties": {
          "retention_period_in_days": {
            "type": "integer",
            "description": "The retention period in days",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "The create or update retention settings request"
      },
      "PutAuditRetentionSettingsResponse": {
        "type": "object",
        "properties": {
          "retention_period_in_days": {
            "type": "integer",
            "description": "The retention period in days",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "The create or update retention settings response"
      },
      "PutEomScheduleRequest": {
        "required": [
          "end_time",
          "start_time"
        ],
        "type": "object",
        "properties": {
          "eom_auto_start": {
            "type": "boolean",
            "description": "Whether the lock will unlock and lock automatically. If set to true the lock will open at StartTime\r\n and automatically lock at EndTime"
          },
          "monday": {
            "type": "boolean",
            "description": "Whether this timeschedule is valid on a Monday between start and end datetimes"
          },
          "tuesday": {
            "type": "boolean",
            "description": "Whether this timeschedule is valid on a Tuesday between start and end datetimes"
          },
          "wednesday": {
            "type": "boolean",
            "description": "Whether this timeschedule is valid on a Wednesday between start and end datetimes"
          },
          "thursday": {
            "type": "boolean",
            "description": "Whether this timeschedule is valid on a Thursday between start and end datetimes"
          },
          "friday": {
            "type": "boolean",
            "description": "Whether this timeschedule is valid on a Friday between start and end datetimes"
          },
          "saturday": {
            "type": "boolean",
            "description": "Whether this timeschedule is valid on a Saturday between start and end datetimes"
          },
          "sunday": {
            "type": "boolean",
            "description": "Whether this timeschedule is valid on a Sunday between start and end datetimes"
          },
          "start_time": {
            "type": "string",
            "description": "The start of the time span on which this timeschedule is valid, for the selected days and date span.",
            "format": "date-span",
            "example": "10:00"
          },
          "end_time": {
            "type": "string",
            "description": "The end of the time span on which this timeschedule is valid, for the selected days and date span.",
            "format": "date-span",
            "example": "17:00"
          },
          "start_date": {
            "type": "string",
            "description": "The date at which the timeschedule starts beeing valid",
            "format": "date-time",
            "nullable": true,
            "example": "2026-03-30T01:23:45.678"
          },
          "end_date": {
            "type": "string",
            "description": "The date at which the timeschedule stops being valid",
            "format": "date-time",
            "nullable": true,
            "example": "2026-03-30T01:23:45.678"
          }
        },
        "additionalProperties": false
      },
      "PutInstallerAccessRequest": {
        "required": [
          "action"
        ],
        "type": "object",
        "properties": {
          "action": {
            "$ref": "#/components/schemas/ActionType"
          },
          "update_default_installer": {
            "type": "boolean",
            "description": "Wether or not to update the default installer via this access"
          }
        },
        "additionalProperties": false
      },
      "PutIqTreeRequest": {
        "required": [
          "otp"
        ],
        "type": "object",
        "properties": {
          "otp": {
            "minLength": 1,
            "type": "string",
            "description": "The OTP necessary for inserting new iq tree"
          },
          "iq_tree_items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TreeItemSummary"
            },
            "description": "Represents list of tree items",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PutLockSettingsRequest": {
        "required": [
          "offline_access_by_audit_trail_day_count",
          "open_time"
        ],
        "type": "object",
        "properties": {
          "open_time": {
            "type": "integer",
            "description": "Time in seconds (between 1 and 240 seconds) when lock will remain open after open event",
            "format": "int32"
          },
          "offline_access_by_audit_trail_day_count": {
            "type": "integer",
            "description": "Time in days ( between 0 and 255 days) of a valid Audit Trial for Offline Access",
            "format": "int32"
          },
          "wall_reader_near_detection_opening": {
            "type": "boolean",
            "description": "Near Mode off or on for wall readers"
          },
          "time_kept_open_on_exit": {
            "type": "integer",
            "description": "Represents the time in minutes the door should stay open after someone leaves.\r\n0 means the feature is disabled. (Default)\r\n255 is the max value.",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "PutOrganizationUserProfileRequest": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "First Name. Ignored if the profile has a completed profile"
          },
          "lastName": {
            "type": "string",
            "description": "Last Name. Ignored if the profile has a completed profile"
          },
          "email": {
            "type": "string",
            "description": "Email. Used to uniquely identify the profile within the site"
          },
          "phone": {
            "type": "string",
            "description": "Phone number. Ignored if the profile already exists",
            "nullable": true
          },
          "skipUserNotifications": {
            "type": "boolean",
            "description": "Indicates if the user, if created, should receive IDS notification"
          },
          "primaryRoleId": {
            "type": "string",
            "description": "Optional Primary Role.\r\nReplaces previous if already assigned.",
            "format": "uuid",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Create or Update Organization Profile Request"
      },
      "PutOwnCustomPinRequest": {
        "type": "object",
        "properties": {
          "pin": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PutOwnPinRequest": {
        "type": "object",
        "properties": {
          "expiry_date": {
            "type": "string",
            "description": "Sets expiry date for this accessor pin. Allowed values are from 1 day to 1 year.\r\nIf a pin must never expire please leave ExpiryDate empty",
            "format": "date-time",
            "nullable": true,
            "example": "2026-03-30T01:23:45.678"
          }
        },
        "additionalProperties": false
      },
      "PutPinRequest": {
        "required": [
          "delta",
          "otp"
        ],
        "type": "object",
        "properties": {
          "otp": {
            "minLength": 1,
            "type": "string",
            "description": "A valid OTP generated with the current pin"
          },
          "delta": {
            "minLength": 1,
            "type": "string",
            "description": "The delta from old pin to the new pin"
          }
        },
        "additionalProperties": false
      },
      "PutPodAccessCodeRequest": {
        "type": "object",
        "properties": {
          "code_expiry_date": {
            "type": "string",
            "description": "The date that the access code will be expired.\r\nShould be within the next 24 hours.\r\nOptional property. If not provided, default value is 24 hours from now",
            "format": "date-time",
            "nullable": true,
            "example": "2026-03-30T01:23:45.678"
          },
          "use_limit": {
            "type": "integer",
            "description": "Maximum usage number for the access code.\r\nUse limit should be greater than zero.\r\nOptional property. If not provided, use limit will be set as remaining pod guest count.",
            "format": "int32",
            "nullable": true,
            "example": 1
          }
        },
        "additionalProperties": false
      },
      "PutSiteAddressRequest": {
        "type": "object",
        "properties": {
          "country": {
            "type": "string",
            "nullable": true
          },
          "countryCode": {
            "type": "string",
            "nullable": true
          },
          "region": {
            "type": "string",
            "nullable": true
          },
          "settlement": {
            "type": "string",
            "nullable": true
          },
          "zipCode": {
            "type": "string",
            "nullable": true
          },
          "street": {
            "type": "string",
            "nullable": true
          },
          "buildingNumber": {
            "type": "string",
            "nullable": true
          },
          "latitude": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "longitude": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PutSiteUserCustomPinRequest": {
        "type": "object",
        "properties": {
          "pin": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PutSiteUserDeviceCertificateRequest": {
        "required": [
          "public_key"
        ],
        "type": "object",
        "properties": {
          "public_key": {
            "minLength": 1,
            "type": "string",
            "description": "The public key generated on the device."
          }
        },
        "additionalProperties": false,
        "description": "Request to replace device's certificate"
      },
      "PutSiteUserPinRequest": {
        "type": "object",
        "properties": {
          "expiry_date": {
            "type": "string",
            "description": "Sets expiry date for this accessor pin. Allowed values are from 1 day to 1 year.\r\nIf a pin must never expire please leave ExpiryDate empty",
            "format": "date-time",
            "nullable": true,
            "example": "2026-03-30T01:23:45.678"
          }
        },
        "additionalProperties": false
      },
      "PutSiteUserProfileRequest": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "First Name. Ignored if the profile has a completed profile",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "description": "Last Name. Ignored if the profile has a completed profile",
            "nullable": true
          },
          "email": {
            "type": "string",
            "description": "Email. Used to uniquely identify the profile within the site"
          },
          "alias": {
            "type": "string",
            "description": "Alias",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "description": "Phone number. Ignored if the profile already exists",
            "nullable": true
          },
          "skipUserNotifications": {
            "type": "boolean",
            "description": "Indicates if the user, if created, should receive IDS notification"
          }
        },
        "additionalProperties": false,
        "description": "Site User Profile Request"
      },
      "RedeemVoucherRequest": {
        "required": [
          "voucher_code"
        ],
        "type": "object",
        "properties": {
          "voucher_code": {
            "minLength": 1,
            "type": "string",
            "description": "Code of the voucher: an alphanumeric value of 12 characters"
          }
        },
        "additionalProperties": false
      },
      "RepeaterResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "id of the repeater",
            "format": "uuid"
          },
          "customer_reference": {
            "type": "string",
            "description": "Name of the repeater",
            "nullable": true
          },
          "mac": {
            "type": "string",
            "description": "Mac address of the repeater",
            "nullable": true
          },
          "online": {
            "type": "boolean",
            "description": "Online state of the repeater"
          },
          "iq_link_state": {
            "$ref": "#/components/schemas/IqLinkState"
          },
          "iq": {
            "$ref": "#/components/schemas/IqSummaryResponse"
          },
          "parent_repeater": {
            "$ref": "#/components/schemas/RepeaterSummaryResponse"
          },
          "communication_type": {
            "$ref": "#/components/schemas/HardwareCommunicationType"
          }
        },
        "additionalProperties": false
      },
      "RepeaterResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RepeaterResponse"
            },
            "nullable": true
          },
          "next_page_link": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RepeaterSummaryResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Id of the repeater",
            "format": "uuid"
          },
          "customer_reference": {
            "type": "string",
            "description": "Name of the repeater",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ReplaceIqRequest": {
        "required": [
          "activation_code"
        ],
        "type": "object",
        "properties": {
          "activation_code": {
            "minLength": 1,
            "type": "string",
            "description": "The activation code as written on the physical IQ"
          }
        },
        "additionalProperties": false
      },
      "ReplaceLockRequest": {
        "required": [
          "activation_code"
        ],
        "type": "object",
        "properties": {
          "activation_code": {
            "minLength": 1,
            "type": "string",
            "description": "The activation code as written on the physical Lock",
            "example": "01.AB.02.03"
          },
          "otp": {
            "type": "string",
            "description": "OneTimePassword. Required only if the iq is otp enabled. Otp must be generated by the accessor initiating the request.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RequestLockStates": {
        "enum": [
          "none",
          "locked",
          "office_mode",
          "uncertain",
          "unlocked"
        ],
        "type": "string"
      },
      "RoleExpandableResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "visibilityLevel": {
            "type": "string"
          },
          "assignmentLevel": {
            "type": "string"
          },
          "visibilityResourceId": {
            "type": "string",
            "format": "uuid"
          },
          "isPrimary": {
            "type": "boolean"
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "permissions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PermissionResponse"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RoleExpandableResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoleExpandableResponse"
            }
          },
          "nextPageLink": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RoleResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The id of the role",
            "format": "uuid"
          },
          "customer_reference": {
            "type": "string",
            "description": "The name of the role",
            "nullable": true
          },
          "code": {
            "type": "string",
            "description": "The code of the role",
            "nullable": true
          },
          "parent_id": {
            "type": "string",
            "description": "The id of the parent role",
            "format": "uuid",
            "nullable": true
          },
          "is_hierarchical": {
            "type": "boolean",
            "description": "Is role hierarchical"
          }
        },
        "additionalProperties": false
      },
      "RoleResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoleResponse"
            },
            "nullable": true
          },
          "next_page_link": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RoleResponseShortInfo": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RoleResponseShortInfoPagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoleResponseShortInfo"
            }
          },
          "nextPageLink": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RoleSettingsResponse": {
        "type": "object",
        "properties": {
          "roleId": {
            "type": "string",
            "format": "uuid"
          },
          "role": {
            "$ref": "#/components/schemas/RoleResponse"
          },
          "canAssign": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoleResponse"
            }
          },
          "canBeAssignedBy": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoleResponse"
            }
          },
          "isTopRole": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "RoleSettingsResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoleSettingsResponse"
            }
          },
          "nextPageLink": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SearchUserResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "id of the user",
            "format": "uuid"
          },
          "first_name": {
            "type": "string",
            "description": "Firstname of the user",
            "nullable": true
          },
          "last_name": {
            "type": "string",
            "description": "Surname of the user",
            "nullable": true
          },
          "image_url": {
            "type": "string",
            "description": "The url of the profile picture",
            "nullable": true
          },
          "is_managed": {
            "type": "boolean",
            "description": "If the user is managed by another system"
          },
          "has_identity": {
            "type": "boolean",
            "description": "If the user is able to login and manage it's own identity"
          },
          "is_linked": {
            "type": "boolean",
            "description": "If the user is already linked to the site"
          },
          "alias": {
            "type": "string",
            "description": "The alias label for the site user",
            "nullable": true
          },
          "role_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The roles assigned to the user",
            "nullable": true
          },
          "site_user_id": {
            "type": "string",
            "description": "The site user id if user linked to the site",
            "format": "uuid",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Contains user details"
      },
      "SignalStrengthResponse": {
        "type": "object",
        "properties": {
          "signal_strength": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "SiteMeResponse": {
        "type": "object",
        "properties": {
          "ownership_state": {
            "$ref": "#/components/schemas/OwnershipState"
          },
          "member_of_pods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PodWithPodUserResponse"
            },
            "description": "The list of Pods where user is member",
            "nullable": true
          },
          "guest_of_pods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PodWithPodUserResponse"
            },
            "description": "The list of Pods where user is guest",
            "nullable": true
          },
          "id": {
            "type": "string",
            "description": "The id of the site user",
            "format": "uuid"
          },
          "user": {
            "$ref": "#/components/schemas/UserSummaryResponse"
          },
          "roles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoleResponse"
            },
            "description": "The roles assigned to the user",
            "nullable": true
          },
          "alias": {
            "type": "string",
            "description": "The alias label for the site user",
            "nullable": true
          },
          "toggle_easy_office_mode": {
            "type": "boolean",
            "description": "Indicates if the user can toggle easy office mode"
          },
          "toggle_manual_office_mode": {
            "type": "boolean",
            "description": "Indicates if the user can toggle manual office mode"
          },
          "remote_access": {
            "type": "boolean",
            "description": "Indicates if the user can execute remote openings"
          },
          "blocked": {
            "type": "boolean",
            "description": "Indicates if the user is blocked in this site (all tags and remote openings)"
          },
          "tag_owned_by_this_site": {
            "type": "boolean",
            "description": "Indicates if the users tag is owned by this site"
          },
          "subscription_state": {
            "$ref": "#/components/schemas/UserSubscriptionStateApi"
          },
          "override_privacy_mode": {
            "type": "boolean",
            "description": "Indicates if the user can override privacy mode in this site, false by default"
          },
          "use_pin": {
            "type": "boolean",
            "description": "Indicates if the user is able to use pin in this site"
          },
          "data_removal_expires_at": {
            "type": "string",
            "description": "Populated when there is a site user data removal request and indicated when it will expire and be automatically honoured. Only visible to site owner.",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SiteOwnershipRequest": {
        "type": "object",
        "properties": {
          "siteProfileId": {
            "type": "string",
            "description": "Site profile id",
            "format": "uuid"
          }
        },
        "additionalProperties": false,
        "description": "Site ownership request"
      },
      "SiteOwnershipResponse": {
        "type": "object",
        "properties": {
          "owner": {
            "$ref": "#/components/schemas/OwnerResponse"
          },
          "candidate": {
            "$ref": "#/components/schemas/CandidateResponse"
          }
        },
        "additionalProperties": false,
        "description": "Site ownership response"
      },
      "SiteProfileEmailRequest": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "description": "Email. Used to uniquely identify the profile within the site"
          },
          "skipUserNotifications": {
            "type": "boolean",
            "description": "Indicates if the user, if created, should receive IDS notification"
          }
        },
        "additionalProperties": false,
        "description": "Site Profile Email Request"
      },
      "SiteProfileExpandableResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The id of the site",
            "format": "uuid"
          },
          "tenantId": {
            "type": "string",
            "description": "The id of the tenant to which the site belongs",
            "format": "uuid"
          },
          "organizationId": {
            "type": "string",
            "description": "The id of the organization to which the site belongs",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "description": "The name of the site"
          },
          "uid": {
            "type": "string",
            "description": "The UID of the site"
          },
          "organization": {
            "$ref": "#/components/schemas/OrganizationWithRolesResponse"
          }
        },
        "additionalProperties": false,
        "description": "Site profile response with expandable Organization"
      },
      "SiteProfileExpandableResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SiteProfileExpandableResponse"
            }
          },
          "nextPageLink": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SiteProfileResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "ID",
            "format": "uuid"
          },
          "tenantId": {
            "type": "string",
            "description": "Tenant ID",
            "format": "uuid"
          },
          "organizationId": {
            "type": "string",
            "description": "Organization ID",
            "format": "uuid"
          },
          "siteId": {
            "type": "string",
            "description": "Site ID",
            "format": "uuid"
          },
          "tenantProfileId": {
            "type": "string",
            "description": "Tenant Profile ID",
            "format": "uuid"
          },
          "organizationProfileId": {
            "type": "string",
            "description": "Organization Profile ID",
            "format": "uuid"
          },
          "alias": {
            "type": "string",
            "description": "Alias",
            "nullable": true
          },
          "tenantProfile": {
            "$ref": "#/components/schemas/TenantProfileResponse"
          }
        },
        "additionalProperties": false,
        "description": "Site Profile"
      },
      "SiteProfileResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SiteProfileResponse"
            }
          },
          "nextPageLink": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SiteProfileRoleResponse": {
        "required": [
          "role"
        ],
        "type": "object",
        "properties": {
          "siteProfileRoleAssignmentId": {
            "type": "string",
            "description": "Identifier of the assignment record",
            "format": "uuid"
          },
          "role": {
            "$ref": "#/components/schemas/RoleResponse"
          },
          "createdAt": {
            "type": "string",
            "description": "Time at which the Role was assigned to the Profile",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Site Profile Role"
      },
      "SiteProfileWithRolesResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "ID",
            "format": "uuid"
          },
          "siteId": {
            "type": "string",
            "description": "Site ID",
            "format": "uuid"
          },
          "site": {
            "$ref": "#/components/schemas/SiteResponse"
          },
          "organizationProfileId": {
            "type": "string",
            "description": "Organization Profile ID",
            "format": "uuid"
          },
          "roles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoleResponse"
            },
            "description": "List of site level roles (expandable)"
          }
        },
        "additionalProperties": false,
        "description": "Site Profile"
      },
      "SiteResponse": {
        "type": "object",
        "properties": {
          "site_uid": {
            "type": "string",
            "description": "The uid of the site",
            "nullable": true
          },
          "id": {
            "type": "string",
            "description": "The id of the site",
            "format": "uuid"
          },
          "customer_reference": {
            "type": "string",
            "description": "The name of the site",
            "nullable": true
          },
          "subscribed_user_amount": {
            "type": "integer",
            "description": "Shows the number of users allowed by the site's subscription\r\n(this is not the number of actually subscribed users).\r\n0 means, that no users are allowed by subscription / there is no valid subscription.\r\nnull means unlimited number of users allowed.",
            "format": "int32",
            "nullable": true
          },
          "subscription_valid": {
            "type": "boolean",
            "description": "Subscription state of the site"
          },
          "country_code": {
            "type": "string",
            "description": "The country of the site",
            "nullable": true
          },
          "time_zone": {
            "type": "string",
            "description": "The time zone the site is in",
            "nullable": true
          },
          "owner": {
            "$ref": "#/components/schemas/UserSummaryResponse"
          },
          "installation_state": {
            "$ref": "#/components/schemas/InstallationState"
          },
          "mkey_compatible": {
            "type": "boolean",
            "description": "Indicates whether site is mobile key compatible"
          },
          "store_events_ttl": {
            "type": "string",
            "description": "Indicates the retention time set for entries",
            "format": "date-span"
          }
        },
        "additionalProperties": false
      },
      "SiteResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SiteResponse"
            },
            "nullable": true
          },
          "next_page_link": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SiteRoleExpandableModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "visibilityLevel": {
            "type": "string"
          },
          "assignmentLevel": {
            "type": "string"
          },
          "visibilityResourceId": {
            "type": "string",
            "format": "uuid"
          },
          "isPrimary": {
            "type": "boolean"
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "isAssignable": {
            "type": "boolean"
          },
          "canAssign": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SiteRoleModel"
            },
            "nullable": true
          },
          "canBeAssignedBy": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SiteRoleModel"
            },
            "nullable": true
          },
          "permissions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SiteRolePermissionModel"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SiteRoleExpandableModelPagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SiteRoleExpandableModel"
            }
          },
          "nextPageLink": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SiteRoleModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "visibilityLevel": {
            "type": "string"
          },
          "assignmentLevel": {
            "type": "string"
          },
          "visibilityResourceId": {
            "type": "string",
            "format": "uuid"
          },
          "isPrimary": {
            "type": "boolean"
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "isAssignable": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "SiteRolePermissionModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SiteRolePermissionTagModel"
            }
          }
        },
        "additionalProperties": false
      },
      "SiteRolePermissionTagModel": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "SiteRoleSettingsResponse": {
        "type": "object",
        "properties": {
          "roleId": {
            "type": "string",
            "format": "uuid"
          },
          "role": {
            "$ref": "#/components/schemas/RoleResponse"
          },
          "canAssign": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoleResponse"
            }
          },
          "canBeAssignedBy": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoleResponse"
            }
          },
          "isTopRole": {
            "type": "boolean"
          },
          "isAssignable": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "SiteRoleSettingsResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SiteRoleSettingsResponse"
            }
          },
          "nextPageLink": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SiteStatus": {
        "enum": [
          "Installation",
          "Released"
        ],
        "type": "string"
      },
      "SiteTagResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Id of the tag",
            "format": "uuid"
          },
          "blocked": {
            "type": "boolean",
            "description": "Indicates if this tag is blocked for this site"
          },
          "creation_date": {
            "type": "string",
            "description": "Creation date of the tag",
            "format": "date-time",
            "example": "2026-03-30T01:23:45.678"
          },
          "registration_date": {
            "type": "string",
            "description": "Registration date of the tag",
            "format": "date-time",
            "nullable": true,
            "example": "2026-03-30T01:23:45.678"
          },
          "tag_number": {
            "type": "string",
            "description": "The number on the tag",
            "nullable": true
          },
          "source_iq_id": {
            "type": "string",
            "description": "Id of the IQ with the help of which this tag was registered for this site",
            "format": "uuid",
            "nullable": true
          },
          "site_user_key_id": {
            "type": "string",
            "description": "The id of the link between the site user and this tag",
            "format": "uuid",
            "nullable": true
          },
          "site_user": {
            "$ref": "#/components/schemas/SiteUserSummary"
          },
          "is_pod_tag": {
            "type": "boolean",
            "description": "Is owned by pod"
          },
          "rf_id_uid": {
            "type": "string",
            "description": "Pod tag RfidUid",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Tag within a Site"
      },
      "SiteTagResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SiteTagResponse"
            },
            "nullable": true
          },
          "next_page_link": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SiteTermsOfServiceResponse": {
        "type": "object",
        "properties": {
          "is_terms_accepted": {
            "type": "boolean",
            "description": "Indicates if the terms of service are accepted"
          },
          "created_at": {
            "type": "string",
            "description": "Creation date of the terms of service entry",
            "format": "date-time"
          },
          "owner": {
            "$ref": "#/components/schemas/UserSummaryResponse"
          }
        },
        "additionalProperties": false,
        "description": "Contains the site terms of service details"
      },
      "SiteUserDeviceResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Id of the device",
            "format": "uuid"
          },
          "device_name": {
            "type": "string",
            "description": "Name of the device",
            "nullable": true
          },
          "device_uid": {
            "type": "string",
            "description": "Uid of the device",
            "nullable": true
          },
          "mkey": {
            "$ref": "#/components/schemas/MKeyDetailsResponse"
          }
        },
        "additionalProperties": false,
        "description": "Device belonging to a site user"
      },
      "SiteUserDeviceResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SiteUserDeviceResponse"
            },
            "nullable": true
          },
          "next_page_link": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SiteUserDeviceWithCertificateResponse": {
        "type": "object",
        "properties": {
          "certificate": {
            "type": "string",
            "description": "The certificate of the activated device",
            "nullable": true
          },
          "id": {
            "type": "string",
            "description": "Id of the device",
            "format": "uuid"
          },
          "device_name": {
            "type": "string",
            "description": "Name of the device",
            "nullable": true
          },
          "device_uid": {
            "type": "string",
            "description": "Uid of the device",
            "nullable": true
          },
          "mkey": {
            "$ref": "#/components/schemas/MKeyDetailsResponse"
          }
        },
        "additionalProperties": false,
        "description": "Created Device belonging to a Site User"
      },
      "SiteUserKeyResponse": {
        "type": "object",
        "properties": {
          "blocked": {
            "type": "boolean",
            "description": "If the key is blocked for this site"
          },
          "offline_access": {
            "type": "boolean",
            "description": "Depending on the context signifies either\r\na) whether the key has offline access for this site,\r\nor b) whether the key has offline access for a certain lock"
          },
          "id": {
            "type": "string",
            "description": "The id of the key (being the relation between the User and a Tag / Digital Key / Pin / Wallet)",
            "format": "uuid"
          },
          "key_identifier": {
            "type": "string",
            "description": "The name or number identifying the key.",
            "nullable": true,
            "example": "This can be a Device name for a Digital Key ('My iPhone') - A Tag number for a physical tag ('12345678') - The word \"pin\" for a pin code key ('pin') - Name of the Wallet ('Apple Wallet Unified Credential', 'Google Unified Credential')"
          },
          "key_id": {
            "type": "string",
            "description": "The id identifying the Tag / Digital Key / Pin / Wallet",
            "format": "uuid"
          },
          "type": {
            "$ref": "#/components/schemas/KeyType"
          },
          "expiry_date": {
            "type": "string",
            "description": "The expiry date of the key.\r\nNull if there is no expiration date for the key",
            "format": "date-time",
            "nullable": true,
            "example": "2026-03-30T01:23:45.678"
          },
          "registration_date": {
            "type": "string",
            "description": "The registration date of the key",
            "format": "date-time",
            "nullable": true,
            "example": "2026-03-30T01:23:45.678"
          },
          "key_uid": {
            "type": "string",
            "description": "DeviceUId when is a Digital Key\r\nRFIdUid when is a Tag",
            "nullable": true
          },
          "added_date": {
            "type": "string",
            "description": "Returns the added date for each key.",
            "format": "date-time",
            "example": "2026-03-30T01:23:45.678"
          }
        },
        "additionalProperties": false,
        "description": "Relationship between a SiteUser and a Tag / Digital Key / Pin"
      },
      "SiteUserKeyResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SiteUserKeyResponse"
            },
            "nullable": true
          },
          "next_page_link": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SiteUserResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The id of the site user",
            "format": "uuid"
          },
          "user": {
            "$ref": "#/components/schemas/UserSummaryResponse"
          },
          "roles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoleResponse"
            },
            "description": "The roles assigned to the user",
            "nullable": true
          },
          "alias": {
            "type": "string",
            "description": "The alias label for the site user",
            "nullable": true
          },
          "toggle_easy_office_mode": {
            "type": "boolean",
            "description": "Indicates if the user can toggle easy office mode"
          },
          "toggle_manual_office_mode": {
            "type": "boolean",
            "description": "Indicates if the user can toggle manual office mode"
          },
          "remote_access": {
            "type": "boolean",
            "description": "Indicates if the user can execute remote openings"
          },
          "blocked": {
            "type": "boolean",
            "description": "Indicates if the user is blocked in this site (all tags and remote openings)"
          },
          "tag_owned_by_this_site": {
            "type": "boolean",
            "description": "Indicates if the users tag is owned by this site"
          },
          "subscription_state": {
            "$ref": "#/components/schemas/UserSubscriptionStateApi"
          },
          "override_privacy_mode": {
            "type": "boolean",
            "description": "Indicates if the user can override privacy mode in this site, false by default"
          },
          "use_pin": {
            "type": "boolean",
            "description": "Indicates if the user is able to use pin in this site"
          },
          "data_removal_expires_at": {
            "type": "string",
            "description": "Populated when there is a site user data removal request and indicated when it will expire and be automatically honoured. Only visible to site owner.",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Contains the site user details"
      },
      "SiteUserSettingsRequest": {
        "type": "object",
        "properties": {
          "remote_access": {
            "type": "boolean",
            "description": "Indicates if the remote opening feature is enabled for the site user, true by default"
          }
        },
        "additionalProperties": false
      },
      "SiteUserSummary": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The id of the site user",
            "format": "uuid"
          },
          "user": {
            "$ref": "#/components/schemas/UserShortSummary"
          }
        },
        "additionalProperties": false,
        "description": "Site User summary"
      },
      "SiteUserWithPodInfoResponse": {
        "type": "object",
        "properties": {
          "member_of_pods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PodWithPodUserResponse"
            },
            "description": "The list of Pods where user is member",
            "nullable": true
          },
          "guest_of_pods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PodWithPodUserResponse"
            },
            "description": "The list of Pods where user is guest",
            "nullable": true
          },
          "id": {
            "type": "string",
            "description": "The id of the site user",
            "format": "uuid"
          },
          "user": {
            "$ref": "#/components/schemas/UserSummaryResponse"
          },
          "roles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoleResponse"
            },
            "description": "The roles assigned to the user",
            "nullable": true
          },
          "alias": {
            "type": "string",
            "description": "The alias label for the site user",
            "nullable": true
          },
          "toggle_easy_office_mode": {
            "type": "boolean",
            "description": "Indicates if the user can toggle easy office mode"
          },
          "toggle_manual_office_mode": {
            "type": "boolean",
            "description": "Indicates if the user can toggle manual office mode"
          },
          "remote_access": {
            "type": "boolean",
            "description": "Indicates if the user can execute remote openings"
          },
          "blocked": {
            "type": "boolean",
            "description": "Indicates if the user is blocked in this site (all tags and remote openings)"
          },
          "tag_owned_by_this_site": {
            "type": "boolean",
            "description": "Indicates if the users tag is owned by this site"
          },
          "subscription_state": {
            "$ref": "#/components/schemas/UserSubscriptionStateApi"
          },
          "override_privacy_mode": {
            "type": "boolean",
            "description": "Indicates if the user can override privacy mode in this site, false by default"
          },
          "use_pin": {
            "type": "boolean",
            "description": "Indicates if the user is able to use pin in this site"
          },
          "data_removal_expires_at": {
            "type": "string",
            "description": "Populated when there is a site user data removal request and indicated when it will expire and be automatically honoured. Only visible to site owner.",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SiteUserWithPodInfoResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SiteUserWithPodInfoResponse"
            },
            "nullable": true
          },
          "next_page_link": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SiteVirtualProfileRequest": {
        "type": "object",
        "properties": {
          "virtualId": {
            "type": "string",
            "description": "Arbitrary unique identifier of the profile (eg. Access Code)"
          },
          "firstName": {
            "type": "string",
            "description": "First Name"
          },
          "lastName": {
            "type": "string",
            "description": "Last Name"
          },
          "alias": {
            "type": "string",
            "description": "Alias",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Site Virtual Profile Request"
      },
      "SubscriptionHistoryResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "voucher_count": {
            "type": "integer",
            "format": "int32"
          },
          "voucher_label": {
            "type": "string",
            "nullable": true
          },
          "voucher_code": {
            "type": "string",
            "nullable": true
          },
          "user_amount": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "iq_amount": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "customer_uid": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "duration": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "start_date": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "end_date": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "features": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FeatureResponse"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SubscriptionHistoryResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SubscriptionHistoryResponse"
            },
            "nullable": true
          },
          "next_page_link": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SubscriptionResponse": {
        "type": "object",
        "properties": {
          "end_date": {
            "type": "string",
            "description": "End Date of subscription. Can be null if subscription was created with unlimited month span",
            "format": "date-time",
            "nullable": true,
            "example": "2026-03-30T01:23:45.678"
          },
          "user_amount": {
            "type": "integer",
            "description": "User Amount allowed for the subscription. Null if unlimited",
            "format": "int32",
            "nullable": true
          },
          "iq_amount": {
            "type": "integer",
            "description": "IQ Amount allowed for the subscription. Null if unlimited",
            "format": "int32",
            "nullable": true
          },
          "voucher_label": {
            "type": "string",
            "description": "Voucher label of the last redeemed voucher",
            "nullable": true
          },
          "voucher_code": {
            "type": "string",
            "description": "Voucher code of the last redeemed voucher",
            "nullable": true
          },
          "is_valid": {
            "type": "boolean",
            "description": "Indication whether current subscription is valid"
          },
          "features": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FeatureResponse"
            },
            "description": "Available Features for the subscription",
            "nullable": true
          },
          "type": {
            "$ref": "#/components/schemas/SubscriptionType"
          }
        },
        "additionalProperties": false
      },
      "SubscriptionType": {
        "enum": [
          "default",
          "freeweek"
        ],
        "type": "string"
      },
      "SyncState": {
        "enum": [
          "synchronized",
          "pending",
          "error"
        ],
        "type": "string"
      },
      "TagRegistrationRequest": {
        "required": [
          "duration_in_seconds"
        ],
        "type": "object",
        "properties": {
          "duration_in_seconds": {
            "type": "integer",
            "description": "Tag registration duration in seconds",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "TagRegistrationState": {
        "enum": [
          "not_started",
          "in_progress"
        ],
        "type": "string"
      },
      "TagResponse": {
        "required": [
          "key",
          "value"
        ],
        "type": "object",
        "properties": {
          "key": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "TenantProfileResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "ID",
            "format": "uuid"
          },
          "tenantId": {
            "type": "string",
            "description": "Tenant ID",
            "format": "uuid"
          },
          "identityId": {
            "type": "string",
            "description": "Identity ID",
            "format": "uuid",
            "nullable": true
          },
          "clientId": {
            "type": "string",
            "description": "Client ID",
            "format": "uuid",
            "nullable": true
          },
          "virtualId": {
            "type": "string",
            "description": "Arbitrary unique identifier of the profile (eg. Access Code)",
            "nullable": true
          },
          "type": {
            "$ref": "#/components/schemas/ProfileType"
          },
          "firstName": {
            "type": "string",
            "description": "First Name",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "description": "First Name",
            "nullable": true
          },
          "email": {
            "type": "string",
            "description": "Email",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "description": "Phone",
            "nullable": true
          },
          "emailConfirmed": {
            "type": "boolean",
            "description": "Email Confirmed"
          },
          "phoneConfirmed": {
            "type": "boolean",
            "description": "Phone Confirmed"
          }
        },
        "additionalProperties": false,
        "description": "Profile"
      },
      "TimeAttendanceReportRequest": {
        "required": [
          "from_date",
          "lock_in_id",
          "lock_out_id",
          "to_date"
        ],
        "type": "object",
        "properties": {
          "from_date": {
            "type": "string",
            "description": "Report's starting date",
            "format": "date-time",
            "example": "2026-03-30T01:23:45.678"
          },
          "to_date": {
            "type": "string",
            "description": "Report's end date",
            "format": "date-time",
            "example": "2026-03-30T01:23:45.678"
          },
          "lock_in_id": {
            "type": "string",
            "description": "Check in lock id",
            "format": "uuid"
          },
          "lock_out_id": {
            "type": "string",
            "description": "Check out lock id",
            "format": "uuid"
          }
        },
        "additionalProperties": false
      },
      "TreeItemResponse": {
        "type": "object",
        "properties": {
          "mac": {
            "type": "string",
            "description": "The mac address of the hardware (lock|repeater)",
            "nullable": true
          },
          "customer_reference": {
            "type": "string",
            "description": "The name/reference given to the hardware by the client",
            "nullable": true
          },
          "lock_type": {
            "$ref": "#/components/schemas/LockType"
          },
          "is_online": {
            "type": "boolean",
            "description": "If the hardware is online"
          },
          "is_attached": {
            "type": "boolean",
            "description": "If the hardware is attached"
          },
          "battery_state": {
            "$ref": "#/components/schemas/BatteryStates"
          },
          "communication_type": {
            "$ref": "#/components/schemas/HardwareCommunicationType"
          },
          "iq_link_state": {
            "$ref": "#/components/schemas/IqLinkState"
          },
          "id": {
            "type": "string",
            "description": "The id of the hardware (lock|repeater)",
            "format": "uuid"
          },
          "parent_id": {
            "type": "string",
            "description": "The id of the parent HW",
            "format": "uuid",
            "nullable": true
          },
          "hardware_type": {
            "$ref": "#/components/schemas/HardwareType"
          }
        },
        "additionalProperties": false,
        "description": "Represents a tree item"
      },
      "TreeItemSummary": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The id of the hardware (lock|repeater)",
            "format": "uuid"
          },
          "parent_id": {
            "type": "string",
            "description": "The id of the parent HW",
            "format": "uuid",
            "nullable": true
          },
          "hardware_type": {
            "$ref": "#/components/schemas/HardwareType"
          }
        },
        "additionalProperties": false,
        "description": "Represents a tree item"
      },
      "UpdateRoleSettingsRequest": {
        "type": "object",
        "properties": {
          "canAssign": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "nullable": true
          },
          "canBeAssignedBy": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UpdateSiteRoleSettingsRequest": {
        "type": "object",
        "properties": {
          "canAssign": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "nullable": true
          },
          "canBeAssignedBy": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "nullable": true
          },
          "isAssignable": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "UploadPictureResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the validation succeeded."
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Validation errors.",
            "nullable": true
          },
          "primaryFacialData": {
            "$ref": "#/components/schemas/PrimaryFacialDataDto"
          }
        },
        "additionalProperties": false,
        "description": "The upload picture response class."
      },
      "UserKeyResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The id of the key (being the relation between the User and a Tag / Digital Key / Pin / Wallet)",
            "format": "uuid"
          },
          "key_identifier": {
            "type": "string",
            "description": "The name or number identifying the key.",
            "nullable": true,
            "example": "This can be a Device name for a Digital Key ('My iPhone') - A Tag number for a physical tag ('12345678') - The word \"pin\" for a pin code key ('pin') - Name of the Wallet ('Apple Wallet Unified Credential', 'Google Unified Credential')"
          },
          "key_id": {
            "type": "string",
            "description": "The id identifying the Tag / Digital Key / Pin / Wallet",
            "format": "uuid"
          },
          "type": {
            "$ref": "#/components/schemas/KeyType"
          },
          "expiry_date": {
            "type": "string",
            "description": "The expiry date of the key.\r\nNull if there is no expiration date for the key",
            "format": "date-time",
            "nullable": true,
            "example": "2026-03-30T01:23:45.678"
          },
          "registration_date": {
            "type": "string",
            "description": "The registration date of the key",
            "format": "date-time",
            "nullable": true,
            "example": "2026-03-30T01:23:45.678"
          },
          "key_uid": {
            "type": "string",
            "description": "DeviceUId when is a Digital Key\r\nRFIdUid when is a Tag",
            "nullable": true
          },
          "added_date": {
            "type": "string",
            "description": "Returns the added date for each key.",
            "format": "date-time",
            "example": "2026-03-30T01:23:45.678"
          }
        },
        "additionalProperties": false,
        "description": "Relationship between a user and a Tag / Digital Key / Pin"
      },
      "UserKeyResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserKeyResponse"
            },
            "nullable": true
          },
          "next_page_link": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UserResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The user Id",
            "format": "uuid"
          },
          "email": {
            "type": "string",
            "description": "The user email",
            "nullable": true
          },
          "identityId": {
            "type": "string",
            "description": "The IDS identityId",
            "format": "uuid",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "The User response"
      },
      "UserResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserResponse"
            },
            "nullable": true
          },
          "nextPageLink": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UserShortResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "id of the user",
            "format": "uuid"
          },
          "first_name": {
            "type": "string",
            "description": "First name of the user",
            "nullable": true
          },
          "last_name": {
            "type": "string",
            "description": "Last name of the user",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UserShortResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserShortResponse"
            },
            "nullable": true
          },
          "next_page_link": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UserShortSummary": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "id of the user",
            "format": "uuid"
          },
          "image_url": {
            "type": "string",
            "description": "The url of the profile picture",
            "nullable": true
          },
          "first_name": {
            "type": "string",
            "description": "First name of the user",
            "nullable": true
          },
          "last_name": {
            "type": "string",
            "description": "Last name of the user",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Short summary of a user"
      },
      "UserSubscriptionState": {
        "enum": [
          "subscribed",
          "suspended"
        ],
        "type": "string"
      },
      "UserSubscriptionStateApi": {
        "enum": [
          "subscribed",
          "suspended"
        ],
        "type": "string"
      },
      "UserSummaryResponse": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "description": "email of the user",
            "nullable": true
          },
          "image_url": {
            "type": "string",
            "description": "The url of the profile picture",
            "nullable": true
          },
          "tag_number": {
            "type": "string",
            "description": "Tag number",
            "nullable": true
          },
          "is_managed_by_current_site": {
            "type": "boolean",
            "description": "Whether the user is managed by the selected site"
          },
          "has_profile": {
            "type": "boolean",
            "description": "Whether the user has its own profile"
          },
          "id": {
            "type": "string",
            "description": "id of the user",
            "format": "uuid"
          },
          "first_name": {
            "type": "string",
            "description": "First name of the user",
            "nullable": true
          },
          "last_name": {
            "type": "string",
            "description": "Last name of the user",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UserSummaryWithAliasResponse": {
        "type": "object",
        "properties": {
          "alias": {
            "type": "string",
            "description": "Alias given to a user on a certain site",
            "nullable": true
          },
          "id": {
            "type": "string",
            "description": "id of the user",
            "format": "uuid"
          },
          "first_name": {
            "type": "string",
            "description": "First name of the user",
            "nullable": true
          },
          "last_name": {
            "type": "string",
            "description": "Last name of the user",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UserWithEmailShortResponse": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "description": "Email of the user",
            "nullable": true
          },
          "id": {
            "type": "string",
            "description": "id of the user",
            "format": "uuid"
          },
          "first_name": {
            "type": "string",
            "description": "First name of the user",
            "nullable": true
          },
          "last_name": {
            "type": "string",
            "description": "Last name of the user",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "VendorResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "reference": {
            "type": "string",
            "nullable": true
          },
          "display_name": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "VoucherFeatureResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "code": {
            "$ref": "#/components/schemas/FeatureCodeResponse"
          },
          "limit": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "included_limit": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "additional_seats": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "VoucherResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Voucher's Id",
            "format": "uuid"
          },
          "code": {
            "type": "string",
            "description": "Code used to redeem the Voucher",
            "nullable": true
          },
          "tenant_id": {
            "type": "string",
            "description": "Tenant Id",
            "format": "uuid"
          },
          "user_amount": {
            "type": "integer",
            "description": "Number of users allowed per site by the voucher.\r\nIgnored if UserUnlimited is true",
            "format": "int32"
          },
          "user_unlimited": {
            "type": "boolean",
            "description": "True if voucher allows unlimited number of users"
          },
          "month_span": {
            "type": "integer",
            "description": "Number of months the subscription created from this voucher will be valid for.\r\nIgnored if MonthSpanUnlimited is true",
            "format": "int32"
          },
          "month_span_unlimited": {
            "type": "boolean",
            "description": "True if voucher will create an endless subscription"
          },
          "iq_amount": {
            "type": "integer",
            "description": "Number of IQs allowed per site by the voucher.\r\nIgnored if IqUnlimited is true",
            "format": "int32"
          },
          "iq_unlimited": {
            "type": "boolean",
            "description": "True if voucher allows unlimited number of IQs"
          },
          "type": {
            "type": "string",
            "description": "standard/expansion/renewal.\r\nthis value is for information purpose only",
            "nullable": true
          },
          "customer_uid": {
            "type": "string",
            "description": "Customer Uid of the site this Voucher is issued for",
            "nullable": true
          },
          "label": {
            "type": "string",
            "description": "Voucher's Label",
            "nullable": true
          },
          "activation_date": {
            "type": "string",
            "description": "Date on which the Voucher was activated.\r\nNull if the Voucher wasn't activated",
            "format": "date-time",
            "nullable": true,
            "example": "2026-03-30T01:23:45.678"
          },
          "start_date": {
            "type": "string",
            "description": "Start Date of the Subscription created from the Voucher.\r\nNull if the Voucher wasn't activated",
            "format": "date-time",
            "nullable": true,
            "example": "2026-03-30T01:23:45.678"
          },
          "end_date": {
            "type": "string",
            "description": "End Date of the Subscription created from the Voucher.\r\nNull if the Voucher wasn't activated (or if Subscription is endless)",
            "format": "date-time",
            "nullable": true,
            "example": "2026-03-30T01:23:45.678"
          },
          "features": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VoucherFeatureResponse"
            },
            "description": "A list of Features attached to the Voucher",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "VoucherResponsePagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VoucherResponse"
            },
            "nullable": true
          },
          "next_page_link": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "apiKey",
        "description": "Please insert 'Bearer {JWT}' into the field",
        "name": "Authorization",
        "in": "header"
      }
    }
  },
  "security": [
    {
      "Bearer": [ ]
    }
  ]
}