{
  "openapi": "3.0.1",
  "info": {
    "title": "Zorus.Api",
    "version": "1.0"
  },
  "paths": {
    "/api/customers/search": {
      "post": {
        "tags": [
          "Customers"
        ],
        "summary": "Searches the customers based on search criteria, pagination, and sorting options.",
        "parameters": [
          {
            "name": "Zorus-Api-Version",
            "in": "header",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string",
              "default": "1.0"
            },
            "example": "1.0"
          }
        ],
        "requestBody": {
          "description": "The customer search, pagination, and sorting options.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerSearchAndSortingOptions"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerSearchAndSortingOptions"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerSearchAndSortingOptions"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomerListItem"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomerListItem"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomerListItem"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/customers": {
      "post": {
        "tags": [
          "Customers"
        ],
        "summary": "Creates a Zorus customer.",
        "parameters": [
          {
            "name": "Zorus-Api-Version",
            "in": "header",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string",
              "default": "1.0"
            },
            "example": "1.0"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCustomerRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCustomerRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCustomerRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CreateCustomerResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateCustomerResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateCustomerResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/deployment-tokens": {
      "post": {
        "tags": [
          "DeploymentTokens"
        ],
        "summary": "Creates a deployment token for a specified group under the relevant customer.",
        "parameters": [
          {
            "name": "Zorus-Api-Version",
            "in": "header",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string",
              "default": "1.0"
            },
            "example": "1.0"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenerateDeploymentTokenRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GenerateDeploymentTokenRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GenerateDeploymentTokenRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GenerateDeploymentTokenResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GenerateDeploymentTokenResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GenerateDeploymentTokenResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/endpoints/{endpointUuid}/actions/enable": {
      "post": {
        "tags": [
          "Endpoints"
        ],
        "summary": "Enables the specified endpoint.",
        "parameters": [
          {
            "name": "endpointUuid",
            "in": "path",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Zorus-Api-Version",
            "in": "header",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string",
              "default": "1.0"
            },
            "example": "1.0"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/endpoints/{endpointUuid}/actions/disable": {
      "post": {
        "tags": [
          "Endpoints"
        ],
        "summary": "Disables the specified endpoint.",
        "parameters": [
          {
            "name": "endpointUuid",
            "in": "path",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Zorus-Api-Version",
            "in": "header",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string",
              "default": "1.0"
            },
            "example": "1.0"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/endpoints/{endpointUuid}/actions/restart-service": {
      "post": {
        "tags": [
          "Endpoints"
        ],
        "summary": "Sends a command to restart the filtering service for a given remote agent.",
        "parameters": [
          {
            "name": "endpointUuid",
            "in": "path",
            "description": "The UUID of the endpoint.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Zorus-Api-Version",
            "in": "header",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string",
              "default": "1.0"
            },
            "example": "1.0"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/endpoints/{endpointUuid}/actions/release": {
      "post": {
        "tags": [
          "Endpoints"
        ],
        "summary": "Releases an endpoint if the endpoint is isolated.",
        "parameters": [
          {
            "name": "endpointUuid",
            "in": "path",
            "description": "The endpoint UUID.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Zorus-Api-Version",
            "in": "header",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string",
              "default": "1.0"
            },
            "example": "1.0"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/endpoints/{endpointUuid}/actions/isolate": {
      "post": {
        "tags": [
          "Endpoints"
        ],
        "summary": "Isolates an endpoint if the endpoint is not already isolated.",
        "parameters": [
          {
            "name": "endpointUuid",
            "in": "path",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Zorus-Api-Version",
            "in": "header",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string",
              "default": "1.0"
            },
            "example": "1.0"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IsolateEndpointRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/IsolateEndpointRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/IsolateEndpointRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/endpoints/search": {
      "post": {
        "tags": [
          "Endpoints"
        ],
        "summary": "Searches the endpoints based on search criteria, pagination, and sorting options.",
        "parameters": [
          {
            "name": "Zorus-Api-Version",
            "in": "header",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string",
              "default": "1.0"
            },
            "example": "1.0"
          }
        ],
        "requestBody": {
          "description": "The endpoint search, pagination, and sorting options.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EndpointSearchAndSortingOptions"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EndpointSearchAndSortingOptions"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EndpointSearchAndSortingOptions"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EndpointListItem"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EndpointListItem"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EndpointListItem"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/groups/search": {
      "post": {
        "tags": [
          "Groups"
        ],
        "summary": "Searches the groups based on search criteria, pagination, and sorting options.",
        "parameters": [
          {
            "name": "Zorus-Api-Version",
            "in": "header",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string",
              "default": "1.0"
            },
            "example": "1.0"
          }
        ],
        "requestBody": {
          "description": "The customer search, pagination, and sorting options.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GroupSearchAndSortingOptions"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GroupSearchAndSortingOptions"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GroupSearchAndSortingOptions"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GroupListItem"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GroupListItem"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GroupListItem"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/groups": {
      "post": {
        "tags": [
          "Groups"
        ],
        "summary": "",
        "parameters": [
          {
            "name": "Zorus-Api-Version",
            "in": "header",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string",
              "default": "1.0"
            },
            "example": "1.0"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateGroupRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateGroupRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateGroupRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/policies/search": {
      "post": {
        "tags": [
          "Policies"
        ],
        "summary": "Returns a sorted, paginated list of customer policies filtered by the specified criteria.",
        "parameters": [
          {
            "name": "Zorus-Api-Version",
            "in": "header",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string",
              "default": "1.0"
            },
            "example": "1.0"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PolicySearchAndSortingOptions"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PolicySearchAndSortingOptions"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PolicySearchAndSortingOptions"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PolicyListItem"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PolicyListItem"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PolicyListItem"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/unblock-requests/active/search": {
      "post": {
        "tags": [
          "UnblockRequests"
        ],
        "summary": "",
        "parameters": [
          {
            "name": "Zorus-Api-Version",
            "in": "header",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string",
              "default": "1.0"
            },
            "example": "1.0"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UnblockRequestSearchAndSortingOptions"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UnblockRequestSearchAndSortingOptions"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UnblockRequestSearchAndSortingOptions"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UnblockRequestListItem"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UnblockRequestListItem"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UnblockRequestListItem"
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "CreateCustomerRequest": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 64,
            "minLength": 1,
            "type": "string",
            "description": "The name of the new customer."
          },
          "basePolicyUuid": {
            "type": "string",
            "description": "If specified, the UUID of the policy from which the customer's\r\ndefault group's policy will have its settings copied.",
            "format": "uuid",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the POST body for creating a customer."
      },
      "CreateCustomerResponse": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "uuid": {
            "type": "string",
            "format": "uuid"
          },
          "defaultGroupUuid": {
            "type": "string",
            "format": "uuid"
          },
          "defaultGroupPolicyUuid": {
            "type": "string",
            "format": "uuid"
          }
        },
        "additionalProperties": false,
        "description": "Represents the response body for a created customer."
      },
      "CreateGroupRequest": {
        "required": [
          "customerUuid",
          "name"
        ],
        "type": "object",
        "properties": {
          "customerUuid": {
            "type": "string",
            "description": "The UUID of the customer to which this group will belong.",
            "format": "uuid"
          },
          "name": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string",
            "description": "The name of the group."
          },
          "basePolicyUuid": {
            "type": "string",
            "description": "The UUID of the policy whose settings will be copied into the policy\r\ngenerated for this group. If left unspecified, an empty policy will\r\nbe generated and the global policy's settings will be used.",
            "format": "uuid",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": ""
      },
      "CustomerListItem": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "description": "The UUID of the customer.",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "description": "The name of the customer.",
            "nullable": true
          },
          "createdDateUtc": {
            "type": "string",
            "description": "The date and time (in UTC) at which the customer was created.",
            "format": "date-time"
          },
          "isEnabled": {
            "type": "boolean",
            "description": "Whether the customer is enabled."
          },
          "deploymentInfo": {
            "$ref": "#/components/schemas/DeploymentInfo"
          },
          "integrations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IntegrationInfo"
            },
            "description": "The integrations used by the customer.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a customer in a list of customers."
      },
      "CustomerSearchAndSortingOptions": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "description": "The page of data to be returned.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "The number of items per page.",
            "format": "int32"
          },
          "sortProperty": {
            "$ref": "#/components/schemas/SortableCustomerProperties"
          },
          "sortAscending": {
            "type": "boolean",
            "description": "Whether to sort in ascending order.",
            "nullable": true
          },
          "nameContains": {
            "type": "string",
            "description": "A filter to include only customers whose name contains the specified value.",
            "nullable": true
          },
          "isEnabled": {
            "type": "boolean",
            "description": "A filter to include only enabled or disabled customers.",
            "nullable": true
          },
          "uuidEquals": {
            "type": "string",
            "description": "A filter to include only customers with the specified UUID.",
            "format": "uuid",
            "nullable": true
          },
          "createdAfter": {
            "type": "string",
            "description": "A filter to include only customers created after the specified date.",
            "format": "date-time",
            "nullable": true
          },
          "createdBefore": {
            "type": "string",
            "description": "A filter to include only customers created before the specified date.",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Options for searching and sorting customers."
      },
      "DeploymentInfo": {
        "type": "object",
        "properties": {
          "deployedEndpointCount": {
            "type": "integer",
            "description": "The number of endpoints in the Zorus system associated with the customer.",
            "format": "int32"
          },
          "filteringEnabledCount": {
            "type": "integer",
            "description": "The number of endpoints in the Zorus system associated with the customer\r\n            that are enabled.",
            "format": "int32"
          },
          "cyberSightEnabledCount": {
            "type": "integer",
            "description": "The number of endpoints in the Zorus system associated with the customer\r\n            that have CyberSight enabled.",
            "format": "int32"
          },
          "enabledNetworkCount": {
            "type": "integer",
            "description": "The number of enabled WANs associated with the customer.",
            "format": "int32"
          },
          "networkSeatCount": {
            "type": "integer",
            "description": "The number of seats in WANs associated with the customer.",
            "format": "int64"
          }
        },
        "additionalProperties": false,
        "description": "Deployment info for a customer."
      },
      "EndpointListItem": {
        "type": "object",
        "properties": {
          "customerName": {
            "type": "string",
            "nullable": true
          },
          "customerUuid": {
            "type": "string",
            "format": "uuid"
          },
          "groupName": {
            "type": "string",
            "nullable": true
          },
          "groupUuid": {
            "type": "string",
            "format": "uuid"
          },
          "policyUuid": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "uuid": {
            "type": "string",
            "format": "uuid"
          },
          "licenseId": {
            "type": "string",
            "nullable": true
          },
          "createdDateUtc": {
            "type": "string",
            "format": "date-time"
          },
          "isEnabled": {
            "type": "boolean"
          },
          "operatingSystemType": {
            "type": "string",
            "nullable": true
          },
          "operatingSystem": {
            "type": "string",
            "nullable": true
          },
          "localIp": {
            "type": "string",
            "nullable": true
          },
          "version": {
            "type": "string",
            "nullable": true
          },
          "isInErrorState": {
            "type": "boolean"
          },
          "isInheritingGroupSettings": {
            "type": "boolean"
          },
          "isFilteringEnabled": {
            "type": "boolean"
          },
          "isCyberSightEnabled": {
            "type": "boolean"
          },
          "isCyberSightBrowserExtensionEnabled": {
            "type": "boolean"
          },
          "browserExtensionState": {
            "type": "string",
            "nullable": true
          },
          "agentState": {
            "type": "string",
            "nullable": true
          },
          "lastSeenDateUtc": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "EndpointSearchAndSortingOptions": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "description": "The page of data to be returned.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "The number of items per page.",
            "format": "int32"
          },
          "sortProperty": {
            "$ref": "#/components/schemas/SortableEndpointProperties"
          },
          "sortAscending": {
            "type": "boolean",
            "description": "Whether to sort in ascending order.",
            "nullable": true
          },
          "nameContains": {
            "type": "string",
            "description": "A filter to include only endpoints whose name contains the specified value.",
            "nullable": true
          },
          "isEnabled": {
            "type": "boolean",
            "description": "A filter to include endpoints whose enabled state matches the specified value.",
            "nullable": true
          },
          "uuidEquals": {
            "type": "string",
            "description": "A filter to include only the endpoint with the specified UUID.",
            "format": "uuid",
            "nullable": true
          },
          "uuidIn": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "A filter to include only endpoints whose UUID is in the specified set.",
            "nullable": true
          },
          "licenseIdEquals": {
            "type": "string",
            "description": "A filter to include only the endpoint with the specified license id.",
            "nullable": true
          },
          "licenseIdIn": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A filter to include only the endpoint whose license id is in the specified set.",
            "nullable": true
          },
          "customerUuidEquals": {
            "type": "string",
            "description": "A filter to include only the endpoints whose customer has the specified UUID.",
            "format": "uuid",
            "nullable": true
          },
          "customerUuidIn": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "A filter to include only the endpoints whose customer UUID is in the specified set.",
            "nullable": true
          },
          "groupUuidEquals": {
            "type": "string",
            "description": "A filter to include only the endpoints whose group has the specified UUID.",
            "format": "uuid",
            "nullable": true
          },
          "groupUuidIn": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "A filter to include only the endpoints whose group UUID is in the specified set.",
            "nullable": true
          },
          "isInErrorState": {
            "type": "boolean",
            "description": "A filter to include only the endpoints whose error state matches the specified value.",
            "nullable": true
          },
          "agentStateEquals": {
            "type": "string",
            "description": "A filter to include only the endpoints whose current state matches the specified value.",
            "nullable": true
          },
          "lastSeenBefore": {
            "type": "string",
            "description": "A filter to include only the endpoints whose last seen date (in UTC) is before the specified value.",
            "format": "date-time",
            "nullable": true
          },
          "lastSeenAfter": {
            "type": "string",
            "description": "A filter to include only the endpoints whose last seen date (in UTC) is after the specified value.",
            "format": "date-time",
            "nullable": true
          },
          "isInheritingGroupSettings": {
            "type": "boolean",
            "description": "A filter to include only the endpoints whose group setting inheritance\r\nstatus matches the specified value.",
            "nullable": true
          },
          "isFilteringEnabled": {
            "type": "boolean",
            "description": "A filter to include only the endpoints whose agent's filtering state matches the specified value.",
            "nullable": true
          },
          "isCyberSightEnabled": {
            "type": "boolean",
            "description": "A filter to include only the endpoints whose agent has CyberSight enabled.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Options for searching and sorting endpoints"
      },
      "GenerateDeploymentTokenRequest": {
        "required": [
          "groupUuid"
        ],
        "type": "object",
        "properties": {
          "groupUuid": {
            "type": "string",
            "description": "The UUID of the group to which this deployment token will belong.",
            "format": "uuid"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "The name of the token. If left unspecified, a unique name will be\r\nautomatically generated.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the POST request for generating a customer deployment token."
      },
      "GenerateDeploymentTokenResponse": {
        "type": "object",
        "properties": {
          "customerName": {
            "type": "string",
            "nullable": true
          },
          "customerUuid": {
            "type": "string",
            "format": "uuid"
          },
          "groupName": {
            "type": "string",
            "nullable": true
          },
          "groupUuid": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "token": {
            "type": "string",
            "nullable": true
          },
          "uuid": {
            "type": "string",
            "format": "uuid"
          }
        },
        "additionalProperties": false,
        "description": "Represents a newly-created deployment token for a group."
      },
      "GroupListItem": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the group.",
            "nullable": true
          },
          "uuid": {
            "type": "string",
            "description": "The UUID of the group.",
            "format": "uuid"
          },
          "policyUuid": {
            "type": "string",
            "description": "The UUID of the policy used by the group.",
            "format": "uuid"
          },
          "customerName": {
            "type": "string",
            "description": "The name of the customer to which the group belongs.",
            "nullable": true
          },
          "customerUuid": {
            "type": "string",
            "description": "The UUID of the customer to which the group belongs.",
            "format": "uuid"
          },
          "syncOptionsToMembers": {
            "type": "boolean",
            "description": "Whether options are synchronized to group members."
          },
          "syncAddonsToMembers": {
            "type": "boolean",
            "description": "Whether addons are synchronized to group members."
          }
        },
        "additionalProperties": false,
        "description": "Represents a group in a list of groups."
      },
      "GroupSearchAndSortingOptions": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "description": "The page of data to be returned.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "The number of items per page.",
            "format": "int32"
          },
          "sortProperty": {
            "$ref": "#/components/schemas/SortableGroupProperties"
          },
          "sortAscending": {
            "type": "boolean",
            "description": "Whether to sort in ascending order.",
            "nullable": true
          },
          "nameContains": {
            "type": "string",
            "description": "A filter to include only groups whose name contains the specified value.",
            "nullable": true
          },
          "uuidEquals": {
            "type": "string",
            "description": "A filter to include only groups whose UUID equals the specified value.",
            "format": "uuid",
            "nullable": true
          },
          "policyUuidEquals": {
            "type": "string",
            "description": "A filter to include only groups whose assigned policy's UUID equals the specified value.",
            "format": "uuid",
            "nullable": true
          },
          "customerUuidEquals": {
            "type": "string",
            "description": "A filter to include only groups whose customer's UUID equals the specified value.",
            "format": "uuid",
            "nullable": true
          },
          "customerNameContains": {
            "type": "string",
            "description": "A filter to include only groups whose customer's name contains the specified value.",
            "nullable": true
          },
          "syncOptionsToMembers": {
            "type": "boolean",
            "description": "A filter to include only groups whose \"sync options to members\" setting is active.",
            "nullable": true
          },
          "syncAddonsToMembers": {
            "type": "boolean",
            "description": "A filter to include only groups whose \"sync addons to members\" setting is active.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Options for searching and sorting groups."
      },
      "IntegrationInfo": {
        "type": "object",
        "properties": {
          "vendorName": {
            "type": "string",
            "description": "The name of the vendor with which the integration works.",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "The name of the integration.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Info for an integration used by a customer."
      },
      "IsolateEndpointRequest": {
        "required": [
          "passphrase",
          "reason"
        ],
        "type": "object",
        "properties": {
          "reason": {
            "maxLength": 1024,
            "minLength": 1,
            "type": "string",
            "description": "The reason for isolating the endpoint"
          },
          "passphrase": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string",
            "description": "The isolation session passphrase"
          }
        },
        "additionalProperties": false,
        "description": "Request for isolating an endpoint."
      },
      "PolicyListItem": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "description": "The UUID of the policy.",
            "format": "uuid"
          },
          "groupName": {
            "type": "string",
            "description": "The name of the group to which the policy belongs.",
            "nullable": true
          },
          "groupUuid": {
            "type": "string",
            "description": "The UUID of the group to which the policy belongs.",
            "format": "uuid"
          },
          "customerName": {
            "type": "string",
            "description": "The name of the customer to which the policy belongs.",
            "nullable": true
          },
          "customerUuid": {
            "type": "string",
            "description": "The UUID of the customer to which the policy belongs.",
            "format": "uuid"
          },
          "createdDateUtc": {
            "type": "string",
            "description": "The date and time (in UTC) at which the policy was created.",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a policy in a list of policies."
      },
      "PolicySearchAndSortingOptions": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "description": "The page of data to be returned.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "The number of items per page.",
            "format": "int32"
          },
          "sortProperty": {
            "$ref": "#/components/schemas/SortablePolicyProperties"
          },
          "sortAscending": {
            "type": "boolean",
            "description": "Whether to sort in ascending order.",
            "nullable": true
          },
          "uuidEquals": {
            "type": "string",
            "description": "A filter to include only policies whose UUID equals the specified value.",
            "format": "uuid",
            "nullable": true
          },
          "groupUuidEquals": {
            "type": "string",
            "description": "A filter to include only policies whose group's UUID equals the specified value.",
            "format": "uuid",
            "nullable": true
          },
          "groupNameContains": {
            "type": "string",
            "description": "A filter to include only policies whose group's name contains the specified value.",
            "nullable": true
          },
          "customerNameContains": {
            "type": "string",
            "description": "A filter to include only policies whose customer's name contains the specified value.",
            "nullable": true
          },
          "customerUuidEquals": {
            "type": "string",
            "description": "A filter to include only policies whose customer's UUID equals the specified value.",
            "format": "uuid",
            "nullable": true
          },
          "createdBefore": {
            "type": "string",
            "description": "A filter to include only policies created before the specified date.",
            "format": "date-time",
            "nullable": true
          },
          "createdAfter": {
            "type": "string",
            "description": "A filter to include only policies created after the specified date.",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Options for searching and sorting policies."
      },
      "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": { }
      },
      "SortableCustomerProperties": {
        "enum": [
          "Name"
        ],
        "type": "string",
        "description": "Options for searching and sorting customers."
      },
      "SortableEndpointProperties": {
        "enum": [
          "Name"
        ],
        "type": "string",
        "description": "Options for searching and sorting endpoints."
      },
      "SortableGroupProperties": {
        "enum": [
          "Name",
          "CustomerName",
          "SyncOptionsToMembers",
          "SyncAddonsToMembers"
        ],
        "type": "string",
        "description": "Options for searching and sorting groups."
      },
      "SortablePolicyProperties": {
        "enum": [
          "CustomerName",
          "GroupName",
          "CreatedDateUtc"
        ],
        "type": "string",
        "description": "Defines properties by which the policy result set can be sorted."
      },
      "SortableUnblockRequestProperties": {
        "enum": [
          "CustomerName",
          "LoggedOnUser",
          "EndpointName",
          "Website"
        ],
        "type": "string",
        "description": "Options for sorting active unblock requests."
      },
      "UnblockRequestListItem": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "description": "The UUID of the unblock request.",
            "format": "uuid"
          },
          "customerUuid": {
            "type": "string",
            "description": "The UUID of the customer to which the endpoint belongs.",
            "format": "uuid"
          },
          "customerName": {
            "type": "string",
            "description": "The name of the customer to which the endpoint belongs.",
            "nullable": true
          },
          "policyUuid": {
            "type": "string",
            "description": "The UUID of the policy responsible for blocking the page in question.",
            "format": "uuid"
          },
          "loggedOnUser": {
            "type": "string",
            "description": "The remote username of the submitter.",
            "nullable": true
          },
          "endpointName": {
            "type": "string",
            "description": "The hostname of the computer from which the request originated.",
            "nullable": true
          },
          "website": {
            "type": "string",
            "description": "The URL that was blocked.",
            "nullable": true
          },
          "blockReason": {
            "type": "string",
            "description": "The Zorus-provided reason that the URL was blocked.",
            "nullable": true
          },
          "categoryNames": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The categories to which the website or URL belongs.",
            "nullable": true
          },
          "requestReason": {
            "type": "string",
            "description": "The user-supplied reason for the unblock request.",
            "nullable": true
          },
          "requestDateUtc": {
            "type": "string",
            "description": "The timestamp (in UTC) at which this unblock request was submitted.",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": ""
      },
      "UnblockRequestSearchAndSortingOptions": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "description": "The page of data to be returned.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "The number of items per page.",
            "format": "int32"
          },
          "sortProperty": {
            "$ref": "#/components/schemas/SortableUnblockRequestProperties"
          },
          "sortAscending": {
            "type": "boolean",
            "description": "Whether to sort in ascending order.",
            "nullable": true
          },
          "customerUuidIn": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "If specified, limits the result set to items whose customer UUID is within the specified set.",
            "nullable": true
          },
          "policyUuidIn": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "If specified, limits the result set to items whose policy UUID is within the specified set.",
            "nullable": true
          },
          "loggedOnUserContains": {
            "type": "string",
            "description": "If specified, limits the result set to items whose logged on user contains the specified substring.",
            "nullable": true
          },
          "requestedBefore": {
            "type": "string",
            "description": "If specified, limits the result set to items whose request date (UTC) is before the specified value.",
            "format": "date-time",
            "nullable": true
          },
          "requestedAfter": {
            "type": "string",
            "description": "If specified, limits the result set to items whose request date (UTC) is after the specified value.",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": ""
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "apiKey",
        "name": "Authorization",
        "in": "header"
      }
    }
  },
  "security": [
    {
      "Bearer": [ ]
    }
  ]
}