{
  "openapi": "3.0.0",
  "x-generator": "Dynamic OpenAPI Generator v1.0.0",
  "info": {
    "title": "bunny.net Compute API",
    "description": "<img src='https://bunny.net/v2/images/bunnynet-logo-dark.svg' style='width: 200px;' alt='bunny.net Logo'>\n               Edge Scripts and Compute API documentation for bunny.net. This API provides endpoints for managing edge scripts, releases, secrets, variables, and other compute-related resources.",
    "termsOfService": "https://bunny.net/tos",
    "contact": {
      "name": "bunny.net",
      "url": "https://docs.bunny.net",
      "email": "support@bunny.net"
    },
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "https://api.bunny.net",
      "description": "bunny.net API Server"
    }
  ],
  "paths": {
    "/compute/script": {
      "get": {
        "tags": [
          "Edge Script"
        ],
        "summary": "List Edge Scripts",
        "operationId": "ListEdgeScripts_ListEdgeScriptsByAccount",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "perPage",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int32",
              "minimum": 5,
              "maximum": 1000,
              "default": 1000
            }
          },
          {
            "name": "search",
            "in": "query",
            "description": "The search term that will be used to filter the results",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "includeLinkedPullzones",
            "in": "query",
            "description": "Include linked pullzones",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "integrationId",
            "in": "query",
            "description": "Filter by linked integration",
            "x-nullable": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The list of scripts on the account.",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginationListModelOfEdgeScriptModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PaginationListModelOfEdgeScriptModel"
                }
              }
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Failed removing hostname",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorData"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorData"
                }
              }
            }
          },
          "401": {
            "description": "The request authorization failed"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIManage",
              "SubuserAPIPullZones",
              "SubuserManage",
              "SubuserPullZones",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "The list of scripts on the account."
      },
      "post": {
        "tags": [
          "Edge Script"
        ],
        "summary": "AddScript",
        "operationId": "CreateEdgeScript_AddScript",
        "parameters": [],
        "responses": {
          "201": {
            "description": "The script was successfully added",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EdgeScriptModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/EdgeScriptModel"
                }
              }
            }
          },
          "400": {
            "description": "Failed adding the script. Model validation failed",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorData"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorData"
                }
              }
            }
          },
          "401": {
            "description": "The request authorization failed"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "Subuser",
              "User",
              "UserApi"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddEdgeScriptModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/AddEdgeScriptModel"
              }
            }
          },
          "required": true,
          "x-name": "edgeScriptModel",
          "x-position": 0
        }
      }
    },
    "/compute/script/{id}/statistics": {
      "get": {
        "tags": [
          "Edge Script"
        ],
        "summary": "Get Edge Script Statistics",
        "operationId": "EdgeScriptStatistics_GetEdgeScriptStatisticsEndpoint",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the Edge Script for which the statistics will be returned",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          },
          {
            "name": "dateFrom",
            "in": "query",
            "description": "(Optional) The start date of the statistics. If no value is passed, the last 30 days will be returned",
            "x-nullable": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "dateTo",
            "in": "query",
            "description": "(Optional) The end date of the statistics. If no value is passed, the last 30 days will be returned",
            "x-nullable": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "loadLatest",
            "in": "query",
            "description": "(Optional) Load most recent data as soon as it's available",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "hourly",
            "in": "query",
            "description": "(Optional) If true, the statistics data will be returned in hourly groupping.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the statistics for the Edge Script with the given ID",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EdgeScriptStatisticsModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/EdgeScriptStatisticsModel"
                }
              }
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Failed removing hostname",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorData"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorData"
                }
              }
            }
          },
          "401": {
            "description": "The request authorization failed"
          },
          "404": {
            "description": "The Edge Script with the requested ID does not exist"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIManage",
              "SubuserAPIStatistics",
              "SubuserManage",
              "SubuserStatistics",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "Returns the statistics for the Edge Script with the given ID"
      }
    },
    "/compute/script/{id}": {
      "get": {
        "tags": [
          "Edge Script"
        ],
        "summary": "Get Edge Script",
        "operationId": "GetEdgeScriptById_GetEdgeScriptById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the script that will be returned",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "The script with the requested ID",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EdgeScriptModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/EdgeScriptModel"
                }
              }
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Failed removing hostname",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorData"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorData"
                }
              }
            }
          },
          "401": {
            "description": "The request authorization failed"
          },
          "404": {
            "description": "The script with the requested ID does not exist."
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "Subuser",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "The script with the requested ID"
      },
      "delete": {
        "tags": [
          "Edge Script"
        ],
        "summary": "Delete Edge Script",
        "operationId": "DeleteEdgeScript_Delete",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the script that will be deleted.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          },
          {
            "name": "deleteLinkedPullZones",
            "in": "query",
            "description": "Deletes all pull zones linked to this edge script if true, otherwise changes origin to landing page",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The script was successfully deleted."
          },
          "400": {
            "description": "Failed deleting the script. See error response.",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorData"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorData"
                }
              }
            }
          },
          "401": {
            "description": "The request authorization failed"
          },
          "404": {
            "description": "The script with the requested ID does not exist."
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIManage",
              "SubuserAPIPullZones",
              "SubuserManage",
              "SubuserPullZones",
              "User",
              "UserApi"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "Edge Script"
        ],
        "summary": "Update Edge Script",
        "operationId": "UpdateEdgeScript_Update",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the script that will be updated",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "The script with the requested ID",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EdgeScriptModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/EdgeScriptModel"
                }
              }
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Failed removing hostname",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorData"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorData"
                }
              }
            }
          },
          "401": {
            "description": "The request authorization failed"
          },
          "404": {
            "description": "The script with the requested ID does not exist."
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "Subuser",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "The script with the requested ID",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateEdgeScriptModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/UpdateEdgeScriptModel"
              }
            }
          },
          "required": true,
          "x-name": "model",
          "x-position": 1,
          "description": "The configuration that should be applied to the script"
        }
      }
    },
    "/compute/script/{id}/deploymentKey/rotate": {
      "post": {
        "tags": [
          "Edge Script"
        ],
        "summary": "Rotate Deployment Key",
        "operationId": "RotateEdgeScriptDeploymentKey_RotateEdgeScriptDeploymentKey",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the edge script that should have deployment key rotated",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "The deployment key has been successfully rotated"
          },
          "400": {
            "x-nullable": false,
            "description": "Failed removing hostname",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorData"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorData"
                }
              }
            }
          },
          "401": {
            "description": "The request authorization failed"
          },
          "404": {
            "description": "The Edge Script with the requested ID does not exist"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "Subuser",
              "User",
              "UserApi"
            ]
          }
        ]
      }
    },
    "/compute/script/{id}/secrets/{secretId}": {
      "delete": {
        "tags": [
          "Secret"
        ],
        "summary": "Delete Secret",
        "operationId": "DeleteEdgeScriptSecret_DeleteSecret",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the script that contains the secret",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          },
          {
            "name": "secretId",
            "in": "path",
            "description": "The ID of the secret that should be deleted",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "The secret was successfully deleted."
          },
          "400": {
            "description": "Failed deleting the secret. See error response.",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorData"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorData"
                }
              }
            }
          },
          "401": {
            "description": "The request authorization failed"
          },
          "404": {
            "description": "The secret or script with the requested ID does not exist."
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "Subuser",
              "User",
              "UserApi"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "Secret"
        ],
        "summary": "Update Secret",
        "operationId": "UpdateEdgeScriptSecret_UpdateEdgeScriptSecret",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the script that will have the secret updated",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          },
          {
            "name": "secretId",
            "in": "path",
            "description": "The ID of the secret that will be updated",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "The script with the requested ID",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EdgeScriptSecretModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/EdgeScriptSecretModel"
                }
              }
            }
          },
          "400": {
            "description": "The request validation failed",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorData"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorData"
                }
              }
            }
          },
          "401": {
            "description": "The request authorization failed"
          },
          "404": {
            "description": "The script with the requested ID does not exist."
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "Subuser",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "The script with the requested ID",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EdgeScriptUpdateSecretModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/EdgeScriptUpdateSecretModel"
              }
            }
          },
          "required": true,
          "x-name": "model",
          "x-position": 2,
          "description": "The secret that will be updated"
        }
      }
    },
    "/compute/script/{id}/secrets": {
      "get": {
        "tags": [
          "Secret"
        ],
        "summary": "List Secrets",
        "operationId": "ListEdgeScriptSecrets_ListEdgeScriptSecrets",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the script to list secrets",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "The list of secrets for the script.",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListEdgeScriptSecretsModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ListEdgeScriptSecretsModel"
                }
              }
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Failed removing hostname",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorData"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorData"
                }
              }
            }
          },
          "401": {
            "description": "The request authorization failed"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "Subuser",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "The list of secrets for the script."
      },
      "post": {
        "tags": [
          "Secret"
        ],
        "summary": "Add Secret",
        "operationId": "AddEdgeScriptSecret_AddEdgeScriptSecret",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the script that will have the secret added",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "The script with the requested ID",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EdgeScriptSecretModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/EdgeScriptSecretModel"
                }
              }
            }
          },
          "400": {
            "description": "The request validation failed",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorData"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorData"
                }
              }
            }
          },
          "401": {
            "description": "The request authorization failed"
          },
          "404": {
            "description": "The script with the requested ID does not exist."
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "Subuser",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "The script with the requested ID",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EdgeScriptAddSecretModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/EdgeScriptAddSecretModel"
              }
            }
          },
          "required": true,
          "x-name": "model",
          "x-position": 1,
          "description": "The secret that will be added"
        }
      },
      "put": {
        "tags": [
          "Secret"
        ],
        "summary": "Upsert Secret",
        "operationId": "UpsertEdgeScriptSecret_UpsertEdgeScriptSecret",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the script that will have the secret upserted",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "A new secret was created",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EdgeScriptSecretModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/EdgeScriptSecretModel"
                }
              }
            }
          },
          "204": {
            "description": "The secret with existing name was updated"
          },
          "400": {
            "description": "The request validation failed",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorData"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorData"
                }
              }
            }
          },
          "401": {
            "description": "The request authorization failed"
          },
          "404": {
            "description": "The script with the requested ID does not exist."
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "Subuser",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "A new secret was created",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EdgeScriptUpsertSecretModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/EdgeScriptUpsertSecretModel"
              }
            }
          },
          "required": true,
          "x-name": "model",
          "x-position": 1,
          "description": "The secret that will be upserted"
        }
      }
    },
    "/compute/script/{id}/variables/{variableId}": {
      "get": {
        "tags": [
          "Variable"
        ],
        "summary": "Get Variable",
        "operationId": "GetEdgeScriptVariable_GetVariable",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the script that contains the variable",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          },
          {
            "name": "variableId",
            "in": "path",
            "description": "The ID of the Environment Variable that should be returned",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "The script with the requested ID",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EdgeScriptVariableModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/EdgeScriptVariableModel"
                }
              }
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Failed removing hostname",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorData"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorData"
                }
              }
            }
          },
          "401": {
            "description": "The request authorization failed"
          },
          "404": {
            "description": "The script with the requested ID does not exist."
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "Subuser",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "The script with the requested ID"
      },
      "delete": {
        "tags": [
          "Variable"
        ],
        "summary": "Delete Variable",
        "operationId": "DeleteEdgeScriptVariable_DeleteVariable",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the script that contains the Environment Variable",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          },
          {
            "name": "variableId",
            "in": "path",
            "description": "The ID of the Environment Variable that should be deleted",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "The environment variable was successfully deleted."
          },
          "400": {
            "description": "Failed deleting the environment variable. See error response.",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorData"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorData"
                }
              }
            }
          },
          "401": {
            "description": "The request authorization failed"
          },
          "404": {
            "description": "The environment variable or script with the requested ID does not exist."
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "Subuser",
              "User",
              "UserApi"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "Variable"
        ],
        "summary": "Update Variable",
        "operationId": "UpdateEdgeScriptVariable_UpdateVariable",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the script that contains the variable",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          },
          {
            "name": "variableId",
            "in": "path",
            "description": "The ID of the Environment Variable that will be updated",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "The script with the requested ID",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EdgeScriptVariableModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/EdgeScriptVariableModel"
                }
              }
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Failed removing hostname",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorData"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorData"
                }
              }
            }
          },
          "401": {
            "description": "The request authorization failed"
          },
          "404": {
            "description": "The script with the requested ID does not exist."
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "Subuser",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "The script with the requested ID",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateEdgeScriptVariableModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/UpdateEdgeScriptVariableModel"
              }
            }
          },
          "required": true,
          "x-name": "model",
          "x-position": 2,
          "description": "The variable that will be added"
        }
      }
    },
    "/compute/script/{id}/variables": {
      "put": {
        "tags": [
          "Variable"
        ],
        "summary": "Upsert Variable",
        "operationId": "UpsertEdgeScriptVariable_UpsertEdgeScriptVariable",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the script which will have the variable upserted",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "The variable was created",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EdgeScriptVariableModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/EdgeScriptVariableModel"
                }
              }
            }
          },
          "204": {
            "description": "The variable was updated",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EdgeScriptVariableModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/EdgeScriptVariableModel"
                }
              }
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Failed removing hostname",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorData"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorData"
                }
              }
            }
          },
          "401": {
            "description": "The request authorization failed"
          },
          "404": {
            "description": "The script with the requested ID does not exist."
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "Subuser",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "The variable was created",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertEdgeScriptVariableModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/UpsertEdgeScriptVariableModel"
              }
            }
          },
          "required": true,
          "x-name": "model",
          "x-position": 1,
          "description": "The variable that will be upserted"
        }
      }
    },
    "/compute/script/{id}/variables/add": {
      "post": {
        "tags": [
          "Variable"
        ],
        "summary": "Add Variable",
        "operationId": "AddEdgeScriptVariable_AddEdgeScriptVariable",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the script that will be updated",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "The script with the requested ID",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EdgeScriptVariableModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/EdgeScriptVariableModel"
                }
              }
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Failed removing hostname",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorData"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorData"
                }
              }
            }
          },
          "401": {
            "description": "The request authorization failed"
          },
          "404": {
            "description": "The script with the requested ID does not exist."
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "Subuser",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "The script with the requested ID",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddEdgeScriptVariableModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/AddEdgeScriptVariableModel"
              }
            }
          },
          "required": true,
          "x-name": "model",
          "x-position": 1,
          "description": "The variable that will be added"
        }
      }
    },
    "/compute/script/{id}/code": {
      "post": {
        "tags": [
          "Code"
        ],
        "summary": "Set Code",
        "operationId": "UploadEdgeScriptCode_SetCode",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the code for which the script that will be returned",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "The code was successfully uploaded"
          },
          "400": {
            "x-nullable": false,
            "description": "Failed removing hostname",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorData"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorData"
                }
              }
            }
          },
          "401": {
            "description": "The request authorization failed"
          },
          "404": {
            "description": "The script with the requested ID does not exist."
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPICompute",
              "SubuserAPIDns",
              "SubuserAPIManage",
              "SubuserCompute",
              "SubuserManage",
              "User",
              "UserApi"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateEdgeScriptCodeModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/UpdateEdgeScriptCodeModel"
              }
            }
          },
          "required": true,
          "x-name": "model",
          "x-position": 1
        }
      },
      "get": {
        "tags": [
          "Code"
        ],
        "summary": "Get Code",
        "operationId": "GetEdgeScriptCode_GetCode",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the code for which the script that will be returned",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "The code of the script with the requested ID",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EdgeScriptCodeModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/EdgeScriptCodeModel"
                }
              }
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Failed removing hostname",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorData"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorData"
                }
              }
            }
          },
          "401": {
            "description": "The request authorization failed"
          },
          "404": {
            "description": "The script with the requested ID does not exist."
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "Subuser",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "The code of the script with the requested ID"
      }
    },
    "/compute/script/{id}/publish": {
      "post": {
        "tags": [
          "Release"
        ],
        "summary": "Publish Release",
        "operationId": "PublishEdgeScriptRelease_Publish",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Publishes the current code as a release",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          },
          {
            "name": "uuid",
            "in": "query",
            "description": "The UUID of the script release that will be published",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The code version was successfully published"
          },
          "400": {
            "description": "The script has no active code."
          },
          "401": {
            "description": "The request authorization failed"
          },
          "404": {
            "description": "The script with the requested ID does not exist."
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPICompute",
              "SubuserAPIDns",
              "SubuserAPIManage",
              "SubuserCompute",
              "SubuserManage",
              "User",
              "UserApi"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublishEdgeScriptModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/PublishEdgeScriptModel"
              }
            }
          },
          "required": true,
          "x-name": "model",
          "x-position": 1
        }
      }
    },
    "/compute/script/{id}/publish/{uuid}": {
      "post": {
        "tags": [
          "Release"
        ],
        "summary": "Publish Release",
        "operationId": "PublishEdgeScriptRelease_Publish2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Publishes the current code as a release",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          },
          {
            "name": "uuid",
            "in": "path",
            "description": "The UUID of the script release that will be published",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "The code version was successfully published"
          },
          "400": {
            "description": "The script has no active code."
          },
          "401": {
            "description": "The request authorization failed"
          },
          "404": {
            "description": "The script with the requested ID does not exist."
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPICompute",
              "SubuserAPIDns",
              "SubuserAPIManage",
              "SubuserCompute",
              "SubuserManage",
              "User",
              "UserApi"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublishEdgeScriptModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/PublishEdgeScriptModel"
              }
            }
          },
          "required": true,
          "x-name": "model",
          "x-position": 1
        }
      }
    },
    "/compute/script/{id}/releases/active": {
      "get": {
        "tags": [
          "Release"
        ],
        "summary": "Get Active Release",
        "operationId": "GetEdgeScriptActiveRelease_GetCurrentlyActiveReleaseEndpoint",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the script for which active release would be returned",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Currently active release of the script with the requested ID",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EdgeScriptReleaseModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/EdgeScriptReleaseModel"
                }
              }
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Failed removing hostname",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorData"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorData"
                }
              }
            }
          },
          "401": {
            "description": "The request authorization failed"
          },
          "404": {
            "description": "The script with the requested ID does not exist or no active releases."
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "Subuser",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "Currently active release of the script with the requested ID"
      }
    },
    "/compute/script/{id}/releases": {
      "get": {
        "tags": [
          "Release"
        ],
        "summary": "Get Releases",
        "operationId": "GetEdgeScriptRelease_GetReleases",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the script for which published releases would be returned",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          },
          {
            "name": "page",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "perPage",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int32",
              "minimum": 5,
              "maximum": 1000,
              "default": 1000
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Published releases of the script with the requested ID",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginationListModelOfEdgeScriptReleaseModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PaginationListModelOfEdgeScriptReleaseModel"
                }
              }
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Failed removing hostname",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorData"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorData"
                }
              }
            }
          },
          "401": {
            "description": "The request authorization failed"
          },
          "404": {
            "description": "The script with the requested ID does not exist."
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "Subuser",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "Published releases of the script with the requested ID"
      }
    }
  },
  "components": {
    "schemas": {
      "DnsMonitoringStatus": {
        "type": "string",
        "description": "0 = Unknown<br/>1 = Online<br/>2 = Offline",
        "x-enumNames": [
          "Unknown",
          "Online",
          "Offline"
        ],
        "enum": [
          "Unknown",
          "Online",
          "Offline"
        ],
        "x-enum-varnames": [
          "Unknown",
          "Online",
          "Offline"
        ],
        "example": "Unknown"
      },
      "GithubRepositoryModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int64"
          },
          "Name": {
            "type": "string",
            "nullable": true
          },
          "Private": {
            "type": "boolean"
          }
        },
        "required": [
          "Id",
          "Private"
        ]
      },
      "SourceCodeIntegrationModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "IntegrationId": {
            "type": "integer",
            "format": "int64"
          },
          "RepositorySettings": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SourceCodeRepositorySettingsModel"
              }
            ]
          },
          "DeployConfiguration": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/DeployConfigurationModel"
              }
            ]
          }
        },
        "required": [
          "IntegrationId"
        ]
      },
      "TriggerTypes": {
        "type": "string",
        "enum": [
          "Url",
          "RequestHeader",
          "ResponseHeader",
          "UrlExtension",
          "CountryCode",
          "RemoteIP",
          "UrlQueryString",
          "RandomChance",
          "StatusCode",
          "RequestMethod",
          "CookieValue",
          "CountryStateCode",
          "OriginRetryAttemptCount",
          "OriginConnectionError"
        ],
        "x-enumNames": [
          "Url",
          "RequestHeader",
          "ResponseHeader",
          "UrlExtension",
          "CountryCode",
          "RemoteIP",
          "UrlQueryString",
          "RandomChance",
          "StatusCode",
          "RequestMethod",
          "CookieValue",
          "CountryStateCode",
          "OriginRetryAttemptCount",
          "OriginConnectionError"
        ],
        "description": "0 = Url\n1 = RequestHeader\n2 = ResponseHeader\n3 = UrlExtension\n4 = CountryCode\n5 = RemoteIP\n6 = UrlQueryString\n7 = RandomChance\n8 = StatusCode\n9 = RequestMethod\n10 = CookieValue\n11 = CountryStateCode\n12 = OriginRetryAttemptCount\n13 = OriginConnectionError",
        "example": "Url"
      },
      "EdgeScriptAddSecretModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Name": {
            "type": "string",
            "nullable": true,
            "maxLength": 256,
            "minLength": 1
          },
          "Secret": {
            "type": "string",
            "nullable": true,
            "maxLength": 4096
          }
        },
        "required": [
          "Name"
        ]
      },
      "LinkedPullZone": {
        "type": "object",
        "description": "Model definition for LinkedPullZone"
      },
      "EdgeScriptModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int64"
          },
          "Name": {
            "type": "string",
            "nullable": true
          },
          "LastModified": {
            "type": "string",
            "format": "date-time"
          },
          "ScriptType": {
            "$ref": "#/components/schemas/EdgeScriptTypes"
          },
          "CurrentReleaseId": {
            "type": "integer",
            "format": "int64"
          },
          "EdgeScriptVariables": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EdgeScriptVariableModel"
            },
            "nullable": true
          },
          "Deleted": {
            "type": "boolean"
          },
          "LinkedPullZones": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LinkedPullZone"
            },
            "nullable": true
          },
          "Integration": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SourceCodeIntegrationModel"
              }
            ]
          },
          "DefaultHostname": {
            "type": "string",
            "nullable": true
          },
          "SystemHostname": {
            "type": "string",
            "nullable": true
          },
          "DeploymentKey": {
            "type": "string",
            "nullable": true
          },
          "RepositoryId": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "IntegrationId": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "MonthlyCost": {
            "type": "number",
            "format": "decimal"
          },
          "MonthlyRequestCount": {
            "type": "integer",
            "format": "int64"
          },
          "MonthlyCpuTime": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "SupportTicketUploadAttachmentModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Body": {
            "type": "integer",
            "minimum": 0,
            "maximum": 255
          },
          "FileName": {
            "type": "string",
            "nullable": true
          },
          "ContentType": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "DnsRecordModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int64"
          },
          "Type": {
            "$ref": "#/components/schemas/DnsRecordTypes"
          },
          "Ttl": {
            "type": "integer",
            "format": "int32"
          },
          "Value": {
            "type": "string",
            "nullable": true
          },
          "Name": {
            "type": "string",
            "nullable": true
          },
          "Weight": {
            "type": "integer",
            "format": "int32"
          },
          "Priority": {
            "type": "integer",
            "format": "int32"
          },
          "Port": {
            "type": "integer",
            "format": "int32"
          },
          "Flags": {
            "type": "integer",
            "minimum": 0,
            "maximum": 255
          },
          "Tag": {
            "type": "string",
            "nullable": true
          },
          "Accelerated": {
            "type": "boolean"
          },
          "AcceleratedPullZoneId": {
            "type": "integer",
            "format": "int64"
          },
          "LinkName": {
            "type": "string",
            "nullable": true
          },
          "IPGeoLocationInfo": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/GeoDnsLocationModel"
              }
            ]
          },
          "GeolocationInfo": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/DnsRecordGeoLocationInfo"
              }
            ]
          },
          "MonitorStatus": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/DnsMonitoringStatus"
              }
            ]
          },
          "MonitorType": {
            "$ref": "#/components/schemas/DnsMonitoringType"
          },
          "GeolocationLatitude": {
            "type": "number",
            "format": "double"
          },
          "GeolocationLongitude": {
            "type": "number",
            "format": "double"
          },
          "EnviromentalVariables": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DnsRecordEnviromentalVariableModel"
            },
            "nullable": true
          },
          "LatencyZone": {
            "type": "string",
            "nullable": true
          },
          "SmartRoutingType": {
            "$ref": "#/components/schemas/DnsSmartRoutingType"
          },
          "Disabled": {
            "type": "boolean"
          },
          "Comment": {
            "type": "string",
            "nullable": true
          },
          "AutoSslIssuance": {
            "type": "boolean"
          }
        },
        "required": [
          "Id",
          "Ttl",
          "Weight",
          "Priority",
          "Port",
          "Accelerated",
          "AcceleratedPullZoneId",
          "GeolocationLatitude",
          "GeolocationLongitude",
          "Disabled",
          "AutoSslIssuance"
        ]
      },
      "TeamMemberModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "string",
            "nullable": true,
            "description": "The unique id of the user"
          },
          "Email": {
            "type": "string",
            "nullable": true,
            "description": "The email of the user"
          },
          "FirstName": {
            "type": "string",
            "nullable": true,
            "description": "The first name of the user"
          },
          "LastName": {
            "type": "string",
            "nullable": true,
            "description": "The last name of the user"
          },
          "DateJoined": {
            "type": "string",
            "format": "date-time",
            "description": "The date when the user joined bunny.net"
          },
          "EmailVerified": {
            "type": "boolean",
            "description": "Determines if the account's email has been successfuly verified"
          },
          "Roles": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "description": "Determines the roles that the user belongs to"
          },
          "TwoFactorAuthenticationEnabled": {
            "type": "boolean",
            "description": "Determines if the user has active 2FA configuration"
          },
          "IsMainUser": {
            "type": "boolean"
          }
        },
        "required": [
          "DateJoined",
          "EmailVerified",
          "TwoFactorAuthenticationEnabled",
          "IsMainUser"
        ]
      },
      "BunnyDBUsageBreakdown": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Usage": {
            "type": "number",
            "format": "decimal",
            "description": "The usage cost in USD"
          },
          "TotalUnits": {
            "type": "integer",
            "format": "int64",
            "description": "The total usage units (rows for reads/writes, GB for storage)"
          }
        },
        "required": [
          "Usage",
          "TotalUnits"
        ],
        "description": "BunnyDB usage breakdown containing cost and usage units"
      },
      "DnsZoneScanJobStatus": {
        "type": "string",
        "enum": [
          "Pending",
          "InProgress",
          "Completed",
          "Failed"
        ],
        "x-enumNames": [
          "Pending",
          "InProgress",
          "Completed",
          "Failed"
        ],
        "description": "0 = Pending<br/>1 = InProgress<br/>2 = Completed<br/>3 = Failed",
        "example": "Pending"
      },
      "EdgeScriptUpdateSecretModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Secret": {
            "type": "string",
            "nullable": true,
            "maxLength": 4096
          }
        }
      },
      "PullZoneLogForwarderProtocolType": {
        "type": "string",
        "description": "0 = UDP<br/>1 = TCP<br/>2 = TCPEncrypted<br/>3 = DataDog",
        "x-enumNames": [
          "UDP",
          "TCP",
          "TCPEncrypted",
          "DataDog"
        ],
        "enum": [
          "UDP",
          "TCP",
          "TCPEncrypted",
          "DataDog"
        ],
        "x-enum-varnames": [
          "UDP",
          "TCP",
          "TCPEncrypted",
          "DataDog"
        ],
        "example": "UDP"
      },
      "OptimizerWatermarkPosition": {
        "type": "integer",
        "description": "0 = BottomLeft<br/>1 = BottomRight<br/>2 = TopLeft<br/>3 = TopRight<br/>4 = Center<br/>5 = CenterStretch",
        "x-enumNames": [
          "BottomLeft",
          "BottomRight",
          "TopLeft",
          "TopRight",
          "Center",
          "CenterStretch"
        ],
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5
        ],
        "x-enum-varnames": [
          "BottomLeft",
          "BottomRight",
          "TopLeft",
          "TopRight",
          "Center",
          "CenterStretch"
        ]
      },
      "SupportTicketModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int64"
          },
          "Status": {
            "type": "string",
            "nullable": true
          },
          "Comments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SupportTicketCommentModel"
            },
            "nullable": true
          },
          "Subject": {
            "type": "string",
            "nullable": true
          },
          "CreatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "LastUpdatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "Id",
          "CreatedAt",
          "LastUpdatedAt"
        ]
      },
      "BillingRecordType": {
        "type": "string",
        "description": "0 = PayPal<br/>1 = Crypto<br/>2 = CreditCard<br/>3 = MonthlyUsage<br/>4 = Refund<br/>5 = CouponCode<br/>6 = BankTransfer<br/>7 = AffiliateCredits",
        "x-enumNames": [
          "PayPal",
          "Crypto",
          "CreditCard",
          "MonthlyUsage",
          "Refund",
          "CouponCode",
          "BankTransfer",
          "AffiliateCredits"
        ],
        "enum": [
          "PayPal",
          "Crypto",
          "CreditCard",
          "MonthlyUsage",
          "Refund",
          "CouponCode",
          "BankTransfer",
          "AffiliateCredits"
        ],
        "x-enum-varnames": [
          "PayPal",
          "Crypto",
          "CreditCard",
          "MonthlyUsage",
          "Refund",
          "CouponCode",
          "BankTransfer",
          "AffiliateCredits"
        ],
        "example": "PayPal"
      },
      "DrmCertificateModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int64"
          },
          "PrivateKey": {
            "type": "string",
            "nullable": true
          },
          "SecretKey": {
            "type": "string",
            "nullable": true
          },
          "Certificate": {
            "type": "string",
            "nullable": true
          },
          "Provider": {
            "type": "string",
            "nullable": true
          },
          "ExpirationDate": {
            "type": "string",
            "format": "date-time"
          },
          "CertificateType": {
            "$ref": "#/components/schemas/CertificateType"
          },
          "DateModified": {
            "type": "string",
            "format": "date-time"
          },
          "DateCreated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "Id",
          "ExpirationDate",
          "DateModified",
          "DateCreated"
        ]
      },
      "NotificationType": {
        "type": "string",
        "description": "0 = Info<br/>1 = Warning<br/>2 = Problem",
        "x-enumNames": [
          "Info",
          "Warning",
          "Problem"
        ],
        "enum": [
          "Info",
          "Warning",
          "Problem"
        ],
        "x-enum-varnames": [
          "Info",
          "Warning",
          "Problem"
        ],
        "example": "Info"
      },
      "PrivateKeyType": {
        "type": "string",
        "description": "0 = Ecdsa<br/>1 = Rsa",
        "x-enumNames": [
          "Ecdsa",
          "Rsa"
        ],
        "enum": [
          "Ecdsa",
          "Rsa"
        ],
        "x-enum-varnames": [
          "Ecdsa",
          "Rsa"
        ],
        "example": "Ecdsa"
      },
      "StickySessionType": {
        "type": "string",
        "enum": [
          "Off",
          "On"
        ],
        "x-enumNames": [
          "Off",
          "On"
        ],
        "description": "0 = Off<br/>1 = On",
        "example": "Off"
      },
      "StorageZoneS3Type": {
        "type": "string",
        "description": "0 = NotSupported<br/>1 = Supported",
        "x-enumNames": [
          "NotSupported",
          "Supported"
        ],
        "enum": [
          "NotSupported",
          "Supported"
        ],
        "x-enum-varnames": [
          "NotSupported",
          "Supported"
        ],
        "example": "NotSupported"
      },
      "CertificateType": {
        "type": "string",
        "description": "0 = FairPlay<br/>1 = Widevine",
        "x-enumNames": [
          "FairPlay",
          "Widevine"
        ],
        "enum": [
          "FairPlay",
          "Widevine"
        ],
        "x-enum-varnames": [
          "FairPlay",
          "Widevine"
        ],
        "example": "FairPlay"
      },
      "SupportTicketUserModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Name": {
            "type": "string",
            "nullable": true
          },
          "ExternalId": {
            "type": "string",
            "nullable": true
          },
          "Alias": {
            "type": "string",
            "nullable": true
          },
          "Verified": {
            "type": "boolean"
          },
          "Signature": {
            "type": "string",
            "nullable": true
          },
          "Role": {
            "type": "string",
            "nullable": true
          },
          "PhotoUrl": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "Verified"
        ]
      },
      "PreloadingScreenTheme": {
        "type": "string",
        "description": "0 = Light<br/>1 = Dark",
        "x-enumNames": [
          "Light",
          "Dark"
        ],
        "enum": [
          "Light",
          "Dark"
        ],
        "x-enum-varnames": [
          "Light",
          "Dark"
        ],
        "example": "Light"
      },
      "DnsZoneDiscoveredRecordModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Name": {
            "type": "string",
            "nullable": true,
            "description": "Record name relative to the zone. '@' represents apex."
          },
          "Type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DnsZoneDiscoveredRecordType"
              }
            ],
            "nullable": true
          },
          "Ttl": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "Value": {
            "type": "string",
            "nullable": true
          },
          "Priority": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "Weight": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "Port": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "IsProxied": {
            "type": "boolean"
          }
        },
        "required": [
          "IsProxied"
        ]
      },
      "ShieldDDosProtectionType": {
        "type": "string",
        "description": "0 = DetectOnly<br/>1 = ActiveStandard<br/>2 = ActiveAggressive",
        "x-enumNames": [
          "DetectOnly",
          "ActiveStandard",
          "ActiveAggressive"
        ],
        "enum": [
          "DetectOnly",
          "ActiveStandard",
          "ActiveAggressive"
        ],
        "x-enum-varnames": [
          "DetectOnly",
          "ActiveStandard",
          "ActiveAggressive"
        ],
        "example": "DetectOnly"
      },
      "PullZoneType": {
        "type": "string",
        "description": "0 = Premium<br/>1 = Volume",
        "x-enumNames": [
          "Premium",
          "Volume"
        ],
        "enum": [
          "Premium",
          "Volume"
        ],
        "x-enum-varnames": [
          "Premium",
          "Volume"
        ],
        "example": "Premium"
      },
      "AddEdgeScriptModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Name": {
            "type": "string",
            "nullable": true,
            "maxLength": 100
          },
          "Code": {
            "type": "string",
            "nullable": true
          },
          "ScriptType": {
            "$ref": "#/components/schemas/EdgeScriptTypes"
          },
          "CreateLinkedPullZone": {
            "type": "boolean"
          },
          "LinkedPullZoneName": {
            "type": "string",
            "nullable": true
          },
          "Integration": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SourceCodeIntegrationModel"
              }
            ]
          }
        },
        "required": [
          "CreateLinkedPullZone"
        ]
      },
      "DrmVersion": {
        "type": "string",
        "description": "0 = Basic<br/>1 = Enterprise<br/>2 = BasicV2",
        "x-enumNames": [
          "Basic",
          "Enterprise",
          "BasicV2"
        ],
        "enum": [
          "Basic",
          "Enterprise",
          "BasicV2"
        ],
        "x-enum-varnames": [
          "Basic",
          "Enterprise",
          "BasicV2"
        ],
        "example": "Basic"
      },
      "PullZoneOriginType": {
        "type": "string",
        "description": "0 = OriginUrl<br/>1 = DnsAccelerate<br/>2 = StorageZone<br/>3 = LoadBalancer<br/>4 = EdgeScript<br/>5 = MagicContainers<br/>6 = PushZone",
        "x-enumNames": [
          "OriginUrl",
          "DnsAccelerate",
          "StorageZone",
          "LoadBalancer",
          "EdgeScript",
          "MagicContainers",
          "PushZone"
        ],
        "enum": [
          "OriginUrl",
          "DnsAccelerate",
          "StorageZone",
          "LoadBalancer",
          "EdgeScript",
          "MagicContainers",
          "PushZone"
        ],
        "x-enum-varnames": [
          "OriginUrl",
          "DnsAccelerate",
          "StorageZone",
          "LoadBalancer",
          "EdgeScript",
          "MagicContainers",
          "PushZone"
        ],
        "example": "OriginUrl"
      },
      "DnsRecordEnviromentalVariableModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Name": {
            "type": "string",
            "nullable": true
          },
          "Value": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "DnsZoneDiscoveredRecordType": {
        "type": "string",
        "description": "0 = A<br/>1 = AAAA<br/>2 = CNAME<br/>3 = TXT<br/>4 = MX<br/>8 = SRV<br/>9 = CAA<br/>10 = PTR<br/>12 = NS<br/>13 = Svcb<br/>14 = HTTPS<br/>15 = TLSA<br/>16 = SOA",
        "x-enumNames": [
          "A",
          "AAAA",
          "CNAME",
          "TXT",
          "MX",
          "SRV",
          "CAA",
          "PTR",
          "NS",
          "Svcb",
          "HTTPS",
          "TLSA",
          "SOA"
        ],
        "enum": [
          "A",
          "AAAA",
          "CNAME",
          "TXT",
          "MX",
          "SRV",
          "CAA",
          "PTR",
          "NS",
          "Svcb",
          "HTTPS",
          "TLSA",
          "SOA"
        ],
        "x-enum-varnames": [
          "A",
          "AAAA",
          "CNAME",
          "TXT",
          "MX",
          "SRV",
          "CAA",
          "PTR",
          "NS",
          "Svcb",
          "HTTPS",
          "TLSA",
          "SOA"
        ],
        "example": "A"
      },
      "PublishEdgeScriptModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Note": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "LogOrdering": {
        "type": "string",
        "enum": [
          "Ascending",
          "Descending"
        ],
        "x-enumNames": [
          "Ascending",
          "Descending"
        ],
        "description": "0 = Ascending<br/>1 = Descending",
        "example": "Ascending"
      },
      "AbuseCaseUrlModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Url": {
            "type": "string",
            "nullable": true
          },
          "Status": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/AbuseUrlStatus"
              }
            ]
          }
        }
      },
      "ListEdgeScriptSecretsModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Secrets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EdgeScriptSecretModel"
            }
          }
        }
      },
      "PullZoneOptimizerClassModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Name": {
            "type": "string",
            "nullable": true,
            "description": "The name of the optimizer class that will be used in the query string"
          },
          "Properties": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true,
            "description": "The list of settings and values the class will send to the optimizer"
          }
        }
      },
      "GeoDnsLocationModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "CountryCode": {
            "type": "string",
            "nullable": true,
            "description": "The ISO country code of the location"
          },
          "Country": {
            "type": "string",
            "nullable": true,
            "description": "The name of the country of the location"
          },
          "ASN": {
            "type": "integer",
            "format": "int64",
            "description": "The ASN of the IP organization"
          },
          "OrganizationName": {
            "type": "string",
            "nullable": true,
            "description": "The mame of the organization that owns the IP"
          },
          "City": {
            "type": "string",
            "nullable": true,
            "description": "The name of the city of the location"
          }
        },
        "required": [
          "ASN"
        ],
        "description": "Billing model contains data summary about the user's billing"
      },
      "ApiKeyModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int64"
          },
          "Key": {
            "type": "string",
            "nullable": true
          },
          "Roles": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "required": [
          "Id"
        ]
      },
      "BillingRecordModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int64",
            "description": "The ID of the billing record"
          },
          "PaymentId": {
            "type": "string",
            "nullable": true,
            "description": "The external ID of the payment"
          },
          "Amount": {
            "type": "number",
            "format": "double",
            "description": "The amount linked to the record model"
          },
          "Payer": {
            "type": "string",
            "nullable": true,
            "description": "The payer reference that sent the payment"
          },
          "Timestamp": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the billing record was created"
          },
          "Type": {
            "description": "The type of the billing record. PayPal = 0, Crypto = 1, CreditCard = 2, MonthlyUsage = 3, Refund = 4, CouponCode = 5, BankTransfer = 6, AffiliateCredits = 7",
            "allOf": [
              {
                "$ref": "#/components/schemas/BillingRecordType"
              }
            ]
          },
          "InvoiceAvailable": {
            "type": "boolean",
            "description": "Determines if an invoice is available"
          },
          "DocumentDownloadUrl": {
            "type": "string",
            "nullable": true,
            "description": "The URL where the invoice or document can be downloaded. Null if this is not available."
          },
          "DetailedDocumentDownloadUrl": {
            "type": "string",
            "nullable": true,
            "description": "The URL where the document with product usage breakdown can be downloaded. Null if this is not available."
          }
        },
        "required": [
          "Id",
          "Amount",
          "Timestamp",
          "InvoiceAvailable"
        ]
      },
      "VideoLibraryModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int64"
          },
          "Name": {
            "type": "string",
            "nullable": true,
            "description": "The name of the Video Library."
          },
          "VideoCount": {
            "type": "integer",
            "format": "int64",
            "description": "The number of videos in the video library"
          },
          "StorageUsage": {
            "type": "integer",
            "format": "int64",
            "description": "The total amount of storage used by the library"
          },
          "DateCreated": {
            "type": "string",
            "format": "date-time",
            "description": "The date when the video library was created"
          },
          "ReplicationRegions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "description": "The geo-replication regions of the underlying storage zone"
          },
          "ApiKey": {
            "type": "string",
            "nullable": true,
            "description": "The API key used for authenticating with the video library"
          },
          "ReadOnlyApiKey": {
            "type": "string",
            "nullable": true,
            "description": "The read-only API key used for authenticating with the video library"
          },
          "HasWatermark": {
            "type": "boolean",
            "description": "Determines if the video library has a watermark configured"
          },
          "WatermarkPositionLeft": {
            "type": "integer",
            "format": "int32",
            "description": "The left offset of the watermark position (in %)"
          },
          "WatermarkPositionTop": {
            "type": "integer",
            "format": "int32",
            "description": "The top offset of the watermark position (in %)"
          },
          "WatermarkWidth": {
            "type": "integer",
            "format": "int32",
            "description": "The width of the watermark (in %)"
          },
          "PullZoneId": {
            "type": "integer",
            "format": "int64",
            "description": "The ID of the connected underlying pull zone"
          },
          "StorageZoneId": {
            "type": "integer",
            "format": "int64",
            "description": "The ID of the connected underlying storage zone"
          },
          "WatermarkHeight": {
            "type": "integer",
            "format": "int32",
            "description": "The height of the watermark (in %)"
          },
          "EnabledResolutions": {
            "type": "string",
            "nullable": true,
            "description": "The comma separated list of enabled resolutions"
          },
          "ViAiPublisherId": {
            "type": "string",
            "nullable": true,
            "description": "The vi.ai publisher id for advertising configuration"
          },
          "VastTagUrl": {
            "type": "string",
            "nullable": true,
            "description": "The URL of the VAST tag endpoint for advertising configuration"
          },
          "WebhookUrl": {
            "type": "string",
            "nullable": true,
            "description": "The webhook URL of the video library"
          },
          "CaptionsFontSize": {
            "type": "integer",
            "format": "int32",
            "description": "The captions display font size"
          },
          "CaptionsFontColor": {
            "type": "string",
            "nullable": true,
            "description": "The captions display font color"
          },
          "CaptionsBackground": {
            "type": "string",
            "nullable": true,
            "description": "The captions display background color"
          },
          "UILanguage": {
            "type": "string",
            "nullable": true,
            "description": "The UI language of the player"
          },
          "AllowEarlyPlay": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the Early-Play feature is enabled"
          },
          "PlayerTokenAuthenticationEnabled": {
            "type": "boolean",
            "description": "Determines if the player token authentication is enabled"
          },
          "AllowedReferrers": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "description": "The list of allowed referrer domains allowed to access the library"
          },
          "BlockedReferrers": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "description": "The list of blocked referrer domains blocked from accessing the library"
          },
          "BlockNoneReferrer": {
            "type": "boolean",
            "description": "Determines if the requests without a referrer are blocked"
          },
          "EnableMP4Fallback": {
            "type": "boolean",
            "description": "Determines if the MP4 fallback feature is enabled"
          },
          "KeepOriginalFiles": {
            "type": "boolean",
            "description": "Determines if the original video files should be stored after encoding"
          },
          "AllowDirectPlay": {
            "type": "boolean",
            "description": "Determines direct play URLs are enabled for the library"
          },
          "EnableDRM": {
            "type": "boolean",
            "description": "Determines if the DRM is enabled"
          },
          "DrmVersion": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/DrmVersion"
              }
            ],
            "description": "DRM version (basic or enterprise)"
          },
          "AppleFairPlayDrm": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/AppleFairPlayDrm"
              }
            ],
            "description": "Described Apple FairPlay DRM"
          },
          "GoogleWidevineDrm": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/GoogleWidevineDrm"
              }
            ],
            "description": "Describes Google Widevine DRM"
          },
          "Bitrate240p": {
            "type": "integer",
            "format": "int32",
            "description": "The bitrate used for encoding 240p videos"
          },
          "Bitrate360p": {
            "type": "integer",
            "format": "int32",
            "description": "The bitrate used for encoding 360p videos"
          },
          "Bitrate480p": {
            "type": "integer",
            "format": "int32",
            "description": "The bitrate used for encoding 480p videos"
          },
          "Bitrate720p": {
            "type": "integer",
            "format": "int32",
            "description": "The bitrate used for encoding 720p videos"
          },
          "Bitrate1080p": {
            "type": "integer",
            "format": "int32",
            "description": "The bitrate used for encoding 1080p videos"
          },
          "Bitrate1440p": {
            "type": "integer",
            "format": "int32",
            "description": "The bitrate used for encoding 1440p videos"
          },
          "Bitrate2160p": {
            "type": "integer",
            "format": "int32",
            "description": "The bitrate used for encoding 2160p videos"
          },
          "ApiAccessKey": {
            "type": "string",
            "nullable": true
          },
          "ShowHeatmap": {
            "type": "boolean",
            "description": "Determines if the video watch heatmap should be displayed in the player."
          },
          "EnableContentTagging": {
            "type": "boolean",
            "description": "Determines if content tagging should be enabled for this library."
          },
          "PullZoneType": {
            "description": "The type of the pull zone attached. Premium = 0, Volume = 1",
            "allOf": [
              {
                "$ref": "#/components/schemas/PullZoneType"
              }
            ]
          },
          "CustomHTML": {
            "type": "string",
            "nullable": true,
            "description": "The custom HTMl that is added into the head of the HTML player."
          },
          "Controls": {
            "type": "string",
            "nullable": true,
            "description": "The list of controls on the video player."
          },
          "PlaybackSpeeds": {
            "type": "string",
            "nullable": true,
            "description": "The list of playback speeds available in the video player."
          },
          "PlayerKeyColor": {
            "type": "string",
            "nullable": true,
            "description": "The key color of the player."
          },
          "FontFamily": {
            "type": "string",
            "nullable": true,
            "description": "The captions font family."
          },
          "WatermarkVersion": {
            "type": "integer",
            "format": "int64"
          },
          "EnableTranscribing": {
            "type": "boolean",
            "description": "Determines if the automatic audio transcribing is currently enabled for this zone."
          },
          "EnableTranscribingTitleGeneration": {
            "type": "boolean",
            "description": "Determines if automatic transcribing title generation is currently enabled."
          },
          "EnableTranscribingDescriptionGeneration": {
            "type": "boolean",
            "description": "Determines if automatic transcribing description generation is currently enabled."
          },
          "EnableTranscribingChaptersGeneration": {
            "type": "boolean",
            "description": "Determines if automatic transcribing chapters generation is currently enabled."
          },
          "EnableTranscribingMomentsGeneration": {
            "type": "boolean",
            "description": "Determines if automatic transcribing moments generation is currently enabled."
          },
          "TranscribingCaptionLanguages": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "description": "The list of languages that the captions will be automatically transcribed to."
          },
          "EnableCaptionsInPlaylist": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if any associated captions will be automatically signaled in the HLS master playlist via EXT-X-MEDIA tags, allowing client players to show captions."
          },
          "RememberPlayerPosition": {
            "type": "boolean",
            "description": "Determines if the player will automatically remember the playback position."
          },
          "EnableMultiAudioTrackSupport": {
            "type": "boolean",
            "description": "Determines if multiple output audio track support is enabled on video library."
          },
          "UseSeparateAudioStream": {
            "type": "boolean",
            "description": "Determines whether output audio stream should be split from video stream segments."
          },
          "JitEncodingEnabled": {
            "type": "boolean",
            "description": "Determines whether JIT encoding should be used for the library. Supported in premium encoding only."
          },
          "EncodingTier": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/EncodingTier"
              }
            ],
            "description": "Defines encoding tier to be used with video library. premium is a paid tier that offers either JIT encoding or prioritized encoding and extra codec support."
          },
          "OutputCodecs": {
            "type": "string",
            "nullable": true,
            "description": "Specifies which video codecs are used for encoding, provided as a comma-separated (CSV) string. Free encoding tier supports only x264. A premium encoding tier adds support for vp9, hevc, and av1."
          },
          "DrmBasePriceOverride": {
            "type": "number",
            "format": "decimal",
            "nullable": true,
            "description": "DRM (enterprise) monthly base price for this video library if it differs from list price."
          },
          "DrmCostPerLicenseOverride": {
            "type": "number",
            "format": "decimal",
            "nullable": true,
            "description": "DRM (enterprise) cost per license for this video library if it differs from list price."
          },
          "TranscribingPriceOverride": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          },
          "PremiumEncodingPriceOverride": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          },
          "MonthlyChargesTranscribing": {
            "type": "number",
            "format": "decimal"
          },
          "MonthlyChargesPremiumEncoding": {
            "type": "number",
            "format": "decimal"
          },
          "MonthlyChargesEnterpriseDrm": {
            "type": "number",
            "format": "decimal"
          },
          "FeatureFlags": {
            "type": "string",
            "nullable": true
          },
          "PlayerVersion": {
            "type": "integer",
            "format": "int32"
          },
          "RemoveMetadataFromFallbackVideos": {
            "type": "boolean",
            "description": "Marks whether all potential video metadata should be removed from the fallback files. Default false."
          },
          "ScaleVideoUsingBothDimensions": {
            "type": "boolean",
            "description": "Marks whether videos should be scaled using both dimensions. Prevents videos being upscaled or unexpected aspect ratio changes. Default true."
          },
          "ExposeOriginals": {
            "type": "boolean",
            "description": "Marks whether original video files should be exposed via CDN."
          },
          "ExposeVideoMetadata": {
            "type": "boolean",
            "description": "Marks whether video metadata in form of schema meta tags and LD+JSON should be exposed."
          }
        },
        "required": [
          "Id",
          "VideoCount",
          "StorageUsage",
          "DateCreated",
          "HasWatermark",
          "WatermarkPositionLeft",
          "WatermarkPositionTop",
          "WatermarkWidth",
          "PullZoneId",
          "StorageZoneId",
          "WatermarkHeight",
          "CaptionsFontSize",
          "PlayerTokenAuthenticationEnabled",
          "BlockNoneReferrer",
          "EnableMP4Fallback",
          "KeepOriginalFiles",
          "AllowDirectPlay",
          "EnableDRM",
          "Bitrate240p",
          "Bitrate360p",
          "Bitrate480p",
          "Bitrate720p",
          "Bitrate1080p",
          "Bitrate1440p",
          "Bitrate2160p",
          "ShowHeatmap",
          "EnableContentTagging",
          "WatermarkVersion",
          "EnableTranscribing",
          "EnableTranscribingTitleGeneration",
          "EnableTranscribingDescriptionGeneration",
          "EnableTranscribingChaptersGeneration",
          "EnableTranscribingMomentsGeneration",
          "RememberPlayerPosition",
          "EnableMultiAudioTrackSupport",
          "UseSeparateAudioStream",
          "JitEncodingEnabled",
          "MonthlyChargesTranscribing",
          "MonthlyChargesPremiumEncoding",
          "MonthlyChargesEnterpriseDrm",
          "PlayerVersion",
          "RemoveMetadataFromFallbackVideos",
          "ScaleVideoUsingBothDimensions",
          "ExposeOriginals",
          "ExposeVideoMetadata"
        ]
      },
      "LogAnonymizationType": {
        "type": "string",
        "description": "0 = OneDigit<br/>1 = Drop",
        "x-enumNames": [
          "OneDigit",
          "Drop"
        ],
        "enum": [
          "OneDigit",
          "Drop"
        ],
        "x-enum-varnames": [
          "OneDigit",
          "Drop"
        ],
        "example": "OneDigit"
      },
      "EdgeRuleV2ActionModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "ActionType": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/EdgeRuleV2Model"
              }
            ]
          },
          "ActionParameter1": {
            "type": "string",
            "nullable": true
          },
          "ActionParameter2": {
            "type": "string",
            "nullable": true
          },
          "ActionParameter3": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "GoogleWidevineDrm": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Enabled": {
            "type": "boolean"
          },
          "CertificateId": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "CertificateExpirationDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "Provider": {
            "type": "string",
            "nullable": true
          },
          "SdOnlyForL3": {
            "type": "boolean"
          },
          "MinClientSecurityLevel": {
            "allOf": [
              {
                "$ref": "#/components/schemas/WidevineMinClientSecurityLevel"
              }
            ],
            "nullable": true
          }
        },
        "required": [
          "Enabled",
          "SdOnlyForL3"
        ]
      },
      "EdgeScriptReleaseStatus": {
        "type": "string",
        "description": "0 = Archived<br/>1 = Live",
        "x-enumNames": [
          "Archived",
          "Live"
        ],
        "enum": [
          "Archived",
          "Live"
        ],
        "x-enum-varnames": [
          "Archived",
          "Live"
        ],
        "example": "Archived"
      },
      "AffiliateBalanceRecordModel": {
        "type": "object",
        "description": "Model definition for AffiliateBalanceRecordModel"
      },
      "EdgeScriptVariableModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int64"
          },
          "Name": {
            "type": "string",
            "nullable": true
          },
          "Required": {
            "type": "boolean"
          },
          "DefaultValue": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "Id",
          "Required"
        ]
      },
      "BunnyCDN": {
        "type": "object",
        "description": "Model definition for BunnyCDN"
      },
      "BunnyAiImageBlueprintModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Name": {
            "type": "string",
            "nullable": true
          },
          "Properties": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true
          }
        }
      },
      "UpdateEdgeScriptModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Name": {
            "type": "string",
            "nullable": true,
            "maxLength": 100
          },
          "ScriptType": {
            "$ref": "#/components/schemas/EdgeScriptTypes"
          }
        }
      },
      "EdgeScriptUpsertSecretModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Name": {
            "type": "string",
            "nullable": true,
            "maxLength": 256,
            "minLength": 1
          },
          "Secret": {
            "type": "string",
            "nullable": true,
            "maxLength": 4096
          }
        }
      },
      "DnsSmartRoutingType": {
        "type": "string",
        "description": "0 = None<br/>1 = Latency<br/>2 = Geolocation",
        "x-enumNames": [
          "None",
          "Latency",
          "Geolocation"
        ],
        "enum": [
          "None",
          "Latency",
          "Geolocation"
        ],
        "x-enum-varnames": [
          "None",
          "Latency",
          "Geolocation"
        ],
        "example": "None"
      },
      "SupportTicketCommentModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int64"
          },
          "Type": {
            "type": "string",
            "nullable": true
          },
          "Body": {
            "type": "string",
            "nullable": true
          },
          "HtmlBody": {
            "type": "string",
            "nullable": true
          },
          "Public": {
            "type": "boolean"
          },
          "AuthorId": {
            "type": "integer",
            "format": "int64"
          },
          "CreatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "User": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SupportTicketUserModel"
              }
            ]
          },
          "Attachments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SupportTicketAttachmentModel"
            },
            "nullable": true
          }
        },
        "required": [
          "Id",
          "Public",
          "AuthorId",
          "CreatedAt"
        ]
      },
      "StorageZoneModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int64",
            "description": "The ID of the storage zone"
          },
          "UserId": {
            "type": "string",
            "nullable": true,
            "description": "The ID of the user that owns the storage zone"
          },
          "Name": {
            "type": "string",
            "nullable": true,
            "description": "The name of the storage zone"
          },
          "Password": {
            "type": "string",
            "nullable": true,
            "description": "The API access key or FTP password"
          },
          "DateModified": {
            "type": "string",
            "format": "date-time",
            "description": "The date when the zone was last modified"
          },
          "Deleted": {
            "type": "boolean",
            "description": "Determines if the zone was deleted or not"
          },
          "StorageUsed": {
            "type": "integer",
            "format": "int64",
            "description": "The total amount of storage used by this zone"
          },
          "FilesStored": {
            "type": "integer",
            "format": "int64",
            "description": "The total number of files stored by this zone"
          },
          "Region": {
            "type": "string",
            "nullable": true,
            "description": "The main region used by the storage zone"
          },
          "ReplicationRegions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "description": "The replication regions enabled for this storage zone"
          },
          "PullZones": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PullZoneModel"
            },
            "nullable": true,
            "description": "The list of pull zones connected to this storage zone"
          },
          "ReadOnlyPassword": {
            "type": "string",
            "nullable": true,
            "description": "The read-only API access key or FTP password"
          },
          "Rewrite404To200": {
            "type": "boolean",
            "description": "Determines if the storage zone will rewrite 404 status codes to 200 status codes"
          },
          "Custom404FilePath": {
            "type": "string",
            "nullable": true,
            "description": "The custom 404 error path that will be returned in case of a missing file."
          },
          "StorageHostname": {
            "type": "string",
            "nullable": true,
            "description": "Determines the storage hostname for this zone"
          },
          "ZoneTier": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/StorageZoneTier"
              }
            ],
            "description": "Determines the storage zone tier that is storing the data"
          },
          "ReplicationChangeInProgress": {
            "type": "boolean",
            "description": "Determines if the storage zone is currently enabling a new replication region"
          },
          "PriceOverride": {
            "type": "number",
            "format": "decimal",
            "description": "The custom price override for this zone. Unit is $/TB/month."
          },
          "Discount": {
            "type": "integer",
            "format": "int32",
            "description": "The Storage Zone specific pricing discount."
          },
          "StorageZoneType": {
            "description": "The Storage Zone S3 support type",
            "allOf": [
              {
                "$ref": "#/components/schemas/StorageZoneS3Type"
              }
            ]
          }
        },
        "required": [
          "Id",
          "DateModified",
          "Deleted",
          "StorageUsed",
          "FilesStored",
          "Rewrite404To200",
          "ReplicationChangeInProgress",
          "PriceOverride",
          "Discount"
        ]
      },
      "CertificateProvisionType": {
        "type": "string",
        "description": "0 = Unknown<br/>1 = Http01<br/>2 = Dns01<br/>3 = Custom",
        "x-enumNames": [
          "Unknown",
          "Http01",
          "Dns01",
          "Custom"
        ],
        "enum": [
          "Unknown",
          "Http01",
          "Dns01",
          "Custom"
        ],
        "x-enum-varnames": [
          "Unknown",
          "Http01",
          "Dns01",
          "Custom"
        ],
        "example": "Unknown"
      },
      "SimpleStatistics": {
        "type": "object",
        "description": "Model definition for SimpleStatistics"
      },
      "static": {
        "type": "object",
        "description": "Model definition for static"
      },
      "EncodingTier": {
        "type": "string",
        "description": "0 = Free<br/>1 = Premium",
        "x-enumNames": [
          "Free",
          "Premium"
        ],
        "enum": [
          "Free",
          "Premium"
        ],
        "x-enum-varnames": [
          "Free",
          "Premium"
        ],
        "example": "Free"
      },
      "OptimizerClassModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Name": {
            "type": "string",
            "nullable": true,
            "description": "The name of the optimizer class that will be used in the query string"
          },
          "Properties": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true,
            "description": "The list of settings and values the class will send to the optimizer"
          }
        }
      },
      "PatternMatchingTypes": {
        "type": "integer",
        "enum": [
          0,
          1,
          2
        ],
        "x-enumNames": [
          "MatchAny",
          "MatchAll",
          "MatchNone"
        ],
        "x-enum-varnames": [
          "MatchAny",
          "MatchAll",
          "MatchNone"
        ],
        "description": "0 = MatchAny<br/>1 = MatchAll<br/>2 = MatchNone"
      },
      "ServerZoneStatisticsModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Error3xx": {
            "type": "number",
            "format": "double"
          },
          "Error4xx": {
            "type": "number",
            "format": "double"
          },
          "Error5xx": {
            "type": "number",
            "format": "double"
          },
          "RequestsHit": {
            "type": "number",
            "format": "double"
          },
          "RequestsMiss": {
            "type": "number",
            "format": "double"
          },
          "Bandwidth": {
            "type": "number",
            "format": "double"
          }
        },
        "required": [
          "Error3xx",
          "Error4xx",
          "Error5xx",
          "RequestsHit",
          "RequestsMiss",
          "Bandwidth"
        ]
      },
      "PaginationListModelOfEdgeScriptModel": {
        "type": "object",
        "required": [
          "CurrentPage",
          "TotalItems",
          "HasMoreItems"
        ],
        "properties": {
          "Items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EdgeScriptModel"
            }
          },
          "CurrentPage": {
            "type": "integer",
            "format": "int32"
          },
          "TotalItems": {
            "type": "integer",
            "format": "int32"
          },
          "HasMoreItems": {
            "type": "boolean"
          }
        }
      },
      "UserAuditLog": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Timestamp": {
            "type": "string",
            "format": "date-time"
          },
          "Product": {
            "type": "string",
            "nullable": true
          },
          "ResourceType": {
            "type": "string",
            "nullable": true
          },
          "ResourceId": {
            "type": "string",
            "nullable": true
          },
          "ResourceOwner": {
            "type": "string",
            "nullable": true
          },
          "Action": {
            "type": "string",
            "nullable": true
          },
          "ActorId": {
            "type": "string",
            "nullable": true
          },
          "ActorType": {
            "type": "string",
            "nullable": true
          },
          "Diff": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "Timestamp"
        ]
      },
      "Trigger": {
        "type": "object",
        "properties": {
          "Type": {
            "$ref": "#/components/schemas/TriggerTypes",
            "description": "The type of the trigger. Url = 0, RequestHeader = 1, ResponseHeader = 2, UrlExtension = 3, CountryCode = 4, RemoteIP = 5, UrlQueryString = 6, RandomChance = 7"
          },
          "PatternMatches": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The list of pattern matches that will trigger the edge rule"
          },
          "PatternMatchingType": {
            "description": "The type of pattern matching. MatchAny = 0, MatchAll = 1, MatchNone = 2",
            "allOf": [
              {
                "$ref": "#/components/schemas/PatternMatchingTypes"
              }
            ]
          },
          "Parameter1": {
            "type": "string",
            "description": "The trigger parameter 1. The value depends on the type of trigger."
          }
        },
        "required": [
          "Type",
          "PatternMatchingType"
        ]
      },
      "AbuseUrlStatus": {
        "type": "string",
        "description": "0 = NotResolved<br/>1 = Resolved<br/>2 = Unknown",
        "x-enumNames": [
          "NotResolved",
          "Resolved",
          "Unknown"
        ],
        "enum": [
          "NotResolved",
          "Resolved",
          "Unknown"
        ],
        "x-enum-varnames": [
          "NotResolved",
          "Resolved",
          "Unknown"
        ],
        "example": "NotResolved"
      },
      "UserModelBillingType": {
        "type": "string",
        "description": "0 = FreeTrial<br/>1 = PayAsYouGo<br/>2 = PostPaidPayAsYouGo<br/>3 = MonthlyPlan",
        "x-enumNames": [
          "FreeTrial",
          "PayAsYouGo",
          "PostPaidPayAsYouGo",
          "MonthlyPlan"
        ],
        "enum": [
          "FreeTrial",
          "PayAsYouGo",
          "PostPaidPayAsYouGo",
          "MonthlyPlan"
        ],
        "x-enum-varnames": [
          "FreeTrial",
          "PayAsYouGo",
          "PostPaidPayAsYouGo",
          "MonthlyPlan"
        ],
        "example": "FreeTrial"
      },
      "UpdateEdgeScriptVariableModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "DefaultValue": {
            "type": "string",
            "nullable": true,
            "maxLength": 4096
          },
          "Required": {
            "type": "boolean",
            "nullable": true
          }
        }
      },
      "DnsRecordTypes": {
        "type": "string",
        "description": "0 = A<br/>1 = AAAA<br/>2 = CNAME<br/>3 = TXT<br/>4 = MX<br/>5 = SPF<br/>6 = Flatten<br/>7 = PullZone<br/>8 = SRV<br/>9 = CAA<br/>10 = PTR<br/>11 = Script<br/>12 = NS",
        "x-enumNames": [
          "A",
          "AAAA",
          "CNAME",
          "TXT",
          "MX",
          "SPF",
          "Flatten",
          "PullZone",
          "SRV",
          "CAA",
          "PTR",
          "Script",
          "NS"
        ],
        "enum": [
          "A",
          "AAAA",
          "CNAME",
          "TXT",
          "MX",
          "SPF",
          "Flatten",
          "PullZone",
          "SRV",
          "CAA",
          "PTR",
          "Script",
          "NS"
        ],
        "x-enum-varnames": [
          "A",
          "AAAA",
          "CNAME",
          "TXT",
          "MX",
          "SPF",
          "Flatten",
          "PullZone",
          "SRV",
          "CAA",
          "PTR",
          "Script",
          "NS"
        ],
        "example": "A"
      },
      "ConnectedGithubAccountModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int64"
          },
          "Name": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "Id"
        ]
      },
      "UpdateEdgeScriptCodeModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Code": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "AppleFairPlayDrm": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Enabled": {
            "type": "boolean"
          },
          "CertificateId": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "CertificateExpirationDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "Provider": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "Enabled"
        ]
      },
      "BillingSavedPaymentMethod": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Token": {
            "type": "string",
            "nullable": true
          },
          "ImageUrl": {
            "type": "string",
            "nullable": true
          },
          "ExpirationDate": {
            "type": "string",
            "nullable": true
          },
          "LastFour": {
            "type": "string",
            "nullable": true
          },
          "Email": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "DeployConfigurationModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Branch": {
            "type": "string",
            "nullable": true
          },
          "InstallCommand": {
            "type": "string",
            "nullable": true
          },
          "BuildCommand": {
            "type": "string",
            "nullable": true
          },
          "EntryFile": {
            "type": "string",
            "nullable": true
          },
          "CreateWorkflow": {
            "type": "boolean"
          }
        },
        "required": [
          "CreateWorkflow"
        ]
      },
      "CouponStatus": {
        "type": "string",
        "description": "0 = Active<br/>1 = Expired<br/>2 = FullyUsed",
        "x-enumNames": [
          "Active",
          "Expired",
          "FullyUsed"
        ],
        "enum": [
          "Active",
          "Expired",
          "FullyUsed"
        ],
        "x-enum-varnames": [
          "Active",
          "Expired",
          "FullyUsed"
        ],
        "example": "Active"
      },
      "WidevineMinClientSecurityLevel": {
        "type": "string",
        "description": "0 = None<br/>1 = L1<br/>2 = L2<br/>3 = L3",
        "x-enumNames": [
          "None",
          "L1",
          "L2",
          "L3"
        ],
        "enum": [
          "None",
          "L1",
          "L2",
          "L3"
        ],
        "x-enum-varnames": [
          "None",
          "L1",
          "L2",
          "L3"
        ],
        "example": "None"
      },
      "ServerZoneResultsModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "ServerZoneId": {
            "type": "integer",
            "format": "int64"
          },
          "Results": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/ServerZoneStatisticsModel"
            },
            "nullable": true
          }
        },
        "required": [
          "ServerZoneId"
        ]
      },
      "AbuseCaseStatus": {
        "type": "string",
        "enum": [
          "Pending",
          "Reviewing",
          "Resolved",
          "AccessBlocked",
          "Appealed"
        ],
        "x-enumNames": [
          "Pending",
          "Reviewing",
          "Resolved",
          "AccessBlocked",
          "Appealed"
        ],
        "description": "0 = Pending<br/>1 = Reviewing<br/>2 = Resolved<br/>3 = AccessBlocked<br/>4 = Appealed",
        "example": "Pending"
      },
      "EdgeRuleV2Model": {
        "type": "object",
        "properties": {
          "Guid": {
            "type": "string",
            "description": "The unique GUID of the edge rule"
          },
          "ActionType": {
            "description": "The action type of the edge rule",
            "allOf": [
              {
                "$ref": "#/components/schemas/EdgeRuleActionType"
              }
            ]
          },
          "ActionParameter1": {
            "type": "string",
            "description": "The Action parameter 1. The value depends on other parameters of the edge rule."
          },
          "ActionParameter2": {
            "type": "string",
            "description": "The Action parameter 2. The value depends on other parameters of the edge rule."
          },
          "ActionParameter3": {
            "type": "string",
            "description": "The Action parameter 3. The value depends on other parameters of the edge rule."
          },
          "Triggers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Trigger"
            },
            "description": "The list of trigger that trigger the edge rule"
          },
          "ExtraActions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EdgeRuleV2ActionModel"
            },
            "description": "Additional actions to be performed"
          },
          "TriggerMatchingType": {
            "description": "The trigger matching type",
            "allOf": [
              {
                "$ref": "#/components/schemas/PatternMatchingTypes"
              }
            ]
          },
          "Description": {
            "type": "string",
            "description": "The description of the edge rule"
          },
          "Enabled": {
            "type": "boolean",
            "description": "Determines if the edge rule is currently enabled or not"
          },
          "OrderIndex": {
            "type": "integer",
            "description": "The index of the edge rule in the list of execution priority"
          }
        },
        "description": "Model definition for EdgeRuleV2Model"
      },
      "AbuseCaseModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int64"
          },
          "ActualUrl": {
            "type": "string",
            "nullable": true
          },
          "DateCreated": {
            "type": "string",
            "format": "date-time"
          },
          "DateUpdated": {
            "type": "string",
            "format": "date-time"
          },
          "Deadline": {
            "type": "string",
            "format": "date-time"
          },
          "PullZoneId": {
            "type": "integer",
            "format": "int64"
          },
          "PullZoneName": {
            "type": "string",
            "nullable": true
          },
          "Path": {
            "type": "string",
            "nullable": true
          },
          "Message": {
            "type": "string",
            "nullable": true
          },
          "Status": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/AbuseCaseStatus"
              }
            ],
            "description": "Determines if the Pull Zone is currently enabled, active and running"
          },
          "Urls": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AbuseCaseUrlModel"
            },
            "nullable": true
          }
        },
        "required": [
          "Id",
          "DateCreated",
          "DateUpdated",
          "Deadline",
          "PullZoneId"
        ]
      },
      "EdgeRuleActionType": {
        "type": "string",
        "description": "0 = ForceSSL<br/>1 = Redirect<br/>2 = OriginUrl<br/>3 = OverrideCacheTime<br/>4 = BlockRequest<br/>5 = SetResponseHeader<br/>6 = SetRequestHeader<br/>7 = ForceDownload<br/>8 = DisableTokenAuthentication<br/>9 = EnableTokenAuthentication<br/>10 = OverrideCacheTimePublic<br/>11 = IgnoreQueryString<br/>12 = DisableOptimizer<br/>13 = ForceCompression<br/>14 = SetStatusCode<br/>15 = BypassPermaCache<br/>16 = OverrideBrowserCacheTime<br/>17 = OriginStorage<br/>18 = SetNetworkRateLimit<br/>19 = SetConnectionLimit<br/>20 = SetRequestsPerSecondLimit<br/>21 = RunEdgeScript<br/>22 = OriginMagicContainers<br/>23 = DisableWAF<br/>24 = RetryOrigin<br/>25 = OverrideBrowserCacheResponseHeader<br/>26 = RemoveBrowserCacheResponseHeader<br/>27 = DisableShieldChallenge<br/>28 = DisableShield<br/>29 = DisableShieldBotDetection<br/>30 = BypassAwsS3Authentication<br/>31 = DisableShieldAccessLists<br/>32 = DisableShieldRateLimiting",
        "x-enumNames": [
          "ForceSSL",
          "Redirect",
          "OriginUrl",
          "OverrideCacheTime",
          "BlockRequest",
          "SetResponseHeader",
          "SetRequestHeader",
          "ForceDownload",
          "DisableTokenAuthentication",
          "EnableTokenAuthentication",
          "OverrideCacheTimePublic",
          "IgnoreQueryString",
          "DisableOptimizer",
          "ForceCompression",
          "SetStatusCode",
          "BypassPermaCache",
          "OverrideBrowserCacheTime",
          "OriginStorage",
          "SetNetworkRateLimit",
          "SetConnectionLimit",
          "SetRequestsPerSecondLimit",
          "RunEdgeScript",
          "OriginMagicContainers",
          "DisableWAF",
          "RetryOrigin",
          "OverrideBrowserCacheResponseHeader",
          "RemoveBrowserCacheResponseHeader",
          "DisableShieldChallenge",
          "DisableShield",
          "DisableShieldBotDetection",
          "BypassAwsS3Authentication",
          "DisableShieldAccessLists",
          "DisableShieldRateLimiting"
        ],
        "enum": [
          "ForceSSL",
          "Redirect",
          "OriginUrl",
          "OverrideCacheTime",
          "BlockRequest",
          "SetResponseHeader",
          "SetRequestHeader",
          "ForceDownload",
          "DisableTokenAuthentication",
          "EnableTokenAuthentication",
          "OverrideCacheTimePublic",
          "IgnoreQueryString",
          "DisableOptimizer",
          "ForceCompression",
          "SetStatusCode",
          "BypassPermaCache",
          "OverrideBrowserCacheTime",
          "OriginStorage",
          "SetNetworkRateLimit",
          "SetConnectionLimit",
          "SetRequestsPerSecondLimit",
          "RunEdgeScript",
          "OriginMagicContainers",
          "DisableWAF",
          "RetryOrigin",
          "OverrideBrowserCacheResponseHeader",
          "RemoveBrowserCacheResponseHeader",
          "DisableShieldChallenge",
          "DisableShield",
          "DisableShieldBotDetection",
          "BypassAwsS3Authentication",
          "DisableShieldAccessLists",
          "DisableShieldRateLimiting"
        ],
        "x-enum-varnames": [
          "ForceSSL",
          "Redirect",
          "OriginUrl",
          "OverrideCacheTime",
          "BlockRequest",
          "SetResponseHeader",
          "SetRequestHeader",
          "ForceDownload",
          "DisableTokenAuthentication",
          "EnableTokenAuthentication",
          "OverrideCacheTimePublic",
          "IgnoreQueryString",
          "DisableOptimizer",
          "ForceCompression",
          "SetStatusCode",
          "BypassPermaCache",
          "OverrideBrowserCacheTime",
          "OriginStorage",
          "SetNetworkRateLimit",
          "SetConnectionLimit",
          "SetRequestsPerSecondLimit",
          "RunEdgeScript",
          "OriginMagicContainers",
          "DisableWAF",
          "RetryOrigin",
          "OverrideBrowserCacheResponseHeader",
          "RemoveBrowserCacheResponseHeader",
          "DisableShieldChallenge",
          "DisableShield",
          "DisableShieldBotDetection",
          "BypassAwsS3Authentication",
          "DisableShieldAccessLists",
          "DisableShieldRateLimiting"
        ],
        "example": "ForceSSL"
      },
      "SupportTicketAttachmentModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "ContentUrl": {
            "type": "string",
            "nullable": true
          },
          "ContentType": {
            "type": "string",
            "nullable": true
          },
          "Size": {
            "type": "integer",
            "format": "int64"
          },
          "Thumbnails": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "FileName": {
            "type": "string",
            "nullable": true
          },
          "Id": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "Size",
          "Id"
        ]
      },
      "PullZoneModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int64",
            "description": "The unique ID of the pull zone."
          },
          "Name": {
            "type": "string",
            "nullable": true,
            "description": "The name of the pull zone."
          },
          "OriginUrl": {
            "type": "string",
            "nullable": true,
            "description": "The origin URL of the pull zone where the files are fetched from."
          },
          "Enabled": {
            "type": "boolean",
            "description": "True unless reached resource limits or account owning it ran out of funds."
          },
          "Suspended": {
            "type": "boolean"
          },
          "Hostnames": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HostnameModel"
            },
            "nullable": true,
            "description": "The list of hostnames linked to this Pull Zone"
          },
          "StorageZoneId": {
            "type": "integer",
            "format": "int64",
            "description": "The ID of the storage zone that the pull zone is linked to"
          },
          "EdgeScriptId": {
            "type": "integer",
            "format": "int64",
            "description": "The ID of the edge script that the pull zone is linked to"
          },
          "EdgeScriptExecutionPhase": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ExecutionPhase"
              }
            ],
            "description": "The phase of the request where the script will be executed"
          },
          "MiddlewareScriptId": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "MagicContainersAppId": {
            "type": "string",
            "nullable": true,
            "description": "The ID of the Magic Container application the pull zone is linked to"
          },
          "MagicContainersEndpointId": {
            "type": "string",
            "nullable": true,
            "description": "The ID of the Magic Container Endpoint the pull zone is linked to"
          },
          "AllowedReferrers": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "description": "The list of referrer hostnames that are allowed to access the pull zone.Requests containing the header Referer: hostname that is not on the list will be rejected.If empty, all the referrers are allowed"
          },
          "BlockedReferrers": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "description": "The list of referrer hostnames that are allowed to access the pull zone. Requests containing the header Referer: hostname that is not on the list will be rejected. If empty, all the referrers are allowed"
          },
          "BlockedIps": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "description": "The list of IPs that are blocked from accessing the pull zone. Requests coming from the following IPs will be rejected. If empty, all the IPs will be allowed"
          },
          "EnableGeoZoneUS": {
            "type": "boolean",
            "description": "Determines if the delivery from the North American region is enabled for this pull zone"
          },
          "EnableGeoZoneEU": {
            "type": "boolean",
            "description": "Determines if the delivery from the European region is enabled for this pull zone"
          },
          "EnableGeoZoneASIA": {
            "type": "boolean",
            "description": "Determines if the delivery from the Asian / Oceanian region is enabled for this pull zone"
          },
          "EnableGeoZoneSA": {
            "type": "boolean",
            "description": "Determines if the delivery from the South American region is enabled for this pull zone"
          },
          "EnableGeoZoneAF": {
            "type": "boolean",
            "description": "Determines if the delivery from the Africa region is enabled for this pull zone"
          },
          "ZoneSecurityEnabled": {
            "type": "boolean",
            "description": "True if the URL secure token authentication security is enabled"
          },
          "ZoneSecurityKey": {
            "type": "string",
            "nullable": true,
            "description": "The security key used for secure URL token authentication"
          },
          "ZoneSecurityIncludeHashRemoteIP": {
            "type": "boolean",
            "description": "True if the zone security hash should include the remote IP"
          },
          "IgnoreQueryStrings": {
            "type": "boolean",
            "description": "True if the Pull Zone is ignoring query strings when serving cached objects"
          },
          "MonthlyBandwidthLimit": {
            "type": "integer",
            "format": "int64",
            "description": "The monthly limit of bandwidth in bytes that the pullzone is allowed to use"
          },
          "MonthlyBandwidthUsed": {
            "type": "integer",
            "format": "int64",
            "description": "The amount of bandwidth in bytes that the pull zone used this month"
          },
          "MonthlyCharges": {
            "type": "number",
            "format": "decimal",
            "description": "The total monthly charges for this so zone so far"
          },
          "AddHostHeader": {
            "type": "boolean",
            "description": "Determines if the Pull Zone should forward the current hostname to the origin"
          },
          "OriginHostHeader": {
            "type": "string",
            "nullable": true,
            "description": "Determines the host header that will be sent to the origin"
          },
          "Type": {
            "description": "The type of the pull zone. Premium = 0, Volume = 1",
            "allOf": [
              {
                "$ref": "#/components/schemas/PullZoneType"
              }
            ]
          },
          "AccessControlOriginHeaderExtensions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "description": "The list of extensions that will return the CORS headers"
          },
          "EnableAccessControlOriginHeader": {
            "type": "boolean",
            "description": "Determines if the CORS headers should be enabled"
          },
          "DisableCookies": {
            "type": "boolean",
            "description": "Determines if the cookies are disabled for the pull zone"
          },
          "BudgetRedirectedCountries": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "description": "The list of budget redirected countries with the two-letter Alpha2 ISO codes"
          },
          "BlockedCountries": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "description": "The list of blocked countries with the two-letter Alpha2 ISO codes"
          },
          "EnableOriginShield": {
            "type": "boolean",
            "description": "If true the server will use the origin shield feature"
          },
          "CacheControlMaxAgeOverride": {
            "type": "integer",
            "format": "int64",
            "description": "The override cache time for the pull zone"
          },
          "CacheControlPublicMaxAgeOverride": {
            "type": "integer",
            "format": "int64",
            "description": "The override cache time for the pull zone for the end client"
          },
          "BurstSize": {
            "type": "integer",
            "format": "int32",
            "description": "Excessive requests are delayed until their number exceeds the maximum burst size."
          },
          "RequestLimit": {
            "type": "integer",
            "format": "int32",
            "description": "Max number of requests per IP per second"
          },
          "BlockRootPathAccess": {
            "type": "boolean",
            "description": "If true, access to root path will return a 403 error"
          },
          "BlockPostRequests": {
            "type": "boolean",
            "description": "If true, POST requests to the zone will be blocked"
          },
          "LimitRatePerSecond": {
            "type": "number",
            "format": "double",
            "description": "The maximum rate at which the zone will transfer data in kb/s. 0 for unlimited"
          },
          "LimitRateAfter": {
            "type": "number",
            "format": "double",
            "description": "The amount of data after the rate limit will be activated"
          },
          "ConnectionLimitPerIPCount": {
            "type": "integer",
            "format": "int32",
            "description": "The number of connections limited per IP for this zone"
          },
          "PriceOverride": {
            "type": "number",
            "format": "decimal",
            "description": "The custom price override for this zone. Unit is $/Byte."
          },
          "OptimizerPricing": {
            "type": "number",
            "format": "decimal",
            "description": "Monthly pricing for Bunny Optimizer for this pull zone"
          },
          "AddCanonicalHeader": {
            "type": "boolean",
            "description": "Determines if the Add Canonical Header is enabled for this Pull Zone"
          },
          "EnableLogging": {
            "type": "boolean",
            "description": "Determines if the logging is enabled for this Pull Zone"
          },
          "EnableCacheSlice": {
            "type": "boolean",
            "description": "Determines if the cache slice (Optimize for video) feature is enabled for the Pull Zone"
          },
          "EnableSmartCache": {
            "type": "boolean",
            "description": "Determines if smart caching is enabled for this zone"
          },
          "EdgeRules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EdgeRuleV2Model"
            },
            "nullable": true,
            "description": "The list of edge rules on this Pull Zone"
          },
          "EnableWebPVary": {
            "type": "boolean",
            "description": "Determines if the WebP Vary feature is enabled."
          },
          "EnableAvifVary": {
            "type": "boolean",
            "description": "Determines if the AVIF Vary feature is enabled."
          },
          "EnableCountryCodeVary": {
            "type": "boolean",
            "description": "Determines if the Country Code Vary feature is enabled."
          },
          "EnableCountryStateCodeVary": {
            "type": "boolean",
            "description": "Determines if the Country State Code Vary feature should be enabled."
          },
          "EnableMobileVary": {
            "type": "boolean",
            "description": "Determines if the Mobile Vary feature is enabled."
          },
          "EnableCookieVary": {
            "type": "boolean",
            "description": "Determines if the Cookie Vary feature is enabled."
          },
          "CookieVaryParameters": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "description": "Contains the list of vary parameters that will be used for vary cache by cookie string. If empty, cookie vary will not be used."
          },
          "EnableHostnameVary": {
            "type": "boolean",
            "description": "Determines if the Hostname Vary feature is enabled."
          },
          "CnameDomain": {
            "type": "string",
            "nullable": true,
            "description": "The CNAME domain of the pull zone for setting up custom hostnames"
          },
          "AWSSigningEnabled": {
            "type": "boolean",
            "description": "Determines if the AWS Signing is enabled"
          },
          "AWSSigningKey": {
            "type": "string",
            "nullable": true,
            "description": "The AWS Signing region key"
          },
          "AWSSigningSecret": {
            "type": "string",
            "nullable": true,
            "description": "The AWS Signing region secret"
          },
          "AWSSigningRegionName": {
            "type": "string",
            "nullable": true,
            "description": "The AWS Signing region name"
          },
          "LoggingIPAnonymizationEnabled": {
            "type": "boolean",
            "description": "Determines if the TLS 1 is enabled on the Pull Zone"
          },
          "EnableTLS1": {
            "type": "boolean",
            "description": "Determines if the TLS 1 is enabled on the Pull Zone"
          },
          "EnableTLS1_1": {
            "type": "boolean",
            "description": "Determines if the TLS 1.1 is enabled on the Pull Zone"
          },
          "VerifyOriginSSL": {
            "type": "boolean",
            "description": "Determines if the Pull Zone should verify the origin SSL certificate"
          },
          "ErrorPageEnableCustomCode": {
            "type": "boolean",
            "description": "Determines if custom error page code should be enabled."
          },
          "ErrorPageCustomCode": {
            "type": "string",
            "nullable": true,
            "description": "Contains the custom error page code that will be returned"
          },
          "ErrorPageEnableStatuspageWidget": {
            "type": "boolean",
            "description": "Determines if the statuspage widget should be displayed on the error pages"
          },
          "ErrorPageStatuspageCode": {
            "type": "string",
            "nullable": true,
            "description": "The statuspage code that will be used to build the status widget"
          },
          "ErrorPageWhitelabel": {
            "type": "boolean",
            "description": "Determines if the error pages should be whitelabel or not"
          },
          "OriginShieldZoneCode": {
            "type": "string",
            "nullable": true,
            "description": "The zone code of the origin shield"
          },
          "LogForwardingEnabled": {
            "type": "boolean",
            "description": "Determines if the log forawrding is enabled"
          },
          "LogForwardingHostname": {
            "type": "string",
            "nullable": true,
            "description": "The log forwarding hostname"
          },
          "LogForwardingPort": {
            "type": "integer",
            "format": "int32",
            "description": "The log forwarding port"
          },
          "LogForwardingToken": {
            "type": "string",
            "nullable": true,
            "description": "The log forwarding token value"
          },
          "LogForwardingProtocol": {
            "description": "Determines the log forwarding protocol type",
            "allOf": [
              {
                "$ref": "#/components/schemas/PullZoneLogForwarderProtocolType"
              }
            ]
          },
          "LoggingSaveToStorage": {
            "type": "boolean",
            "description": "Determines if the permanent logging feature is enabled"
          },
          "LoggingStorageZoneId": {
            "type": "integer",
            "format": "int64",
            "description": "The ID of the logging storage zone that is configured for this Pull Zone"
          },
          "FollowRedirects": {
            "type": "boolean",
            "description": "Determines if the zone will follow origin redirects"
          },
          "VideoLibraryId": {
            "type": "integer",
            "format": "int64",
            "description": "The ID of the video library that the zone is linked to"
          },
          "DnsRecordId": {
            "type": "integer",
            "format": "int64",
            "description": "The ID of the DNS record tied to this pull zone"
          },
          "DnsZoneId": {
            "type": "integer",
            "format": "int64",
            "description": "The ID of the DNS zone tied to this pull zone"
          },
          "DnsRecordValue": {
            "type": "string",
            "nullable": true,
            "description": "The cached version of the DNS record value"
          },
          "OptimizerEnabled": {
            "type": "boolean",
            "description": "Determines if the optimizer should be enabled for this zone"
          },
          "OptimizerTunnelEnabled": {
            "type": "boolean",
            "description": "Determines if the optimizer origin tunnel system is enabled for this zone"
          },
          "OptimizerDesktopMaxWidth": {
            "type": "integer",
            "format": "int32",
            "minimum": 0,
            "maximum": 5000,
            "description": "Determines the maximum automatic image size for desktop clients"
          },
          "OptimizerMobileMaxWidth": {
            "type": "integer",
            "format": "int32",
            "minimum": 0,
            "maximum": 5000,
            "description": "Determines the maximum automatic image size for mobile clients"
          },
          "OptimizerImageQuality": {
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "maximum": 100,
            "description": "Determines the image quality for desktop clients"
          },
          "OptimizerMobileImageQuality": {
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "maximum": 100,
            "description": "Determines the image quality for mobile clients"
          },
          "OptimizerEnableWebP": {
            "type": "boolean",
            "description": "Determines if the WebP optimization should be enabled"
          },
          "OptimizerPrerenderHtml": {
            "type": "boolean",
            "description": "Determines if the SEO HTML prerender is enabled"
          },
          "OptimizerEnableManipulationEngine": {
            "type": "boolean",
            "description": "Determines the image manipulation should be enabled"
          },
          "OptimizerMinifyCSS": {
            "type": "boolean",
            "description": "Determines if the CSS minifcation should be enabled"
          },
          "OptimizerMinifyJavaScript": {
            "type": "boolean",
            "description": "Determines if the JavaScript minifcation should be enabled"
          },
          "OptimizerWatermarkEnabled": {
            "type": "boolean",
            "description": "Determines if image watermarking should be enabled"
          },
          "OptimizerWatermarkUrl": {
            "type": "string",
            "nullable": true,
            "description": "Sets the URL of the watermark image"
          },
          "OptimizerWatermarkPosition": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/BunnyCDN"
              }
            ],
            "description": "Sets the position of the watermark image"
          },
          "OptimizerWatermarkOffset": {
            "type": "number",
            "format": "double",
            "description": "Sets the offset of the watermark image"
          },
          "OptimizerWatermarkMinImageSize": {
            "type": "integer",
            "format": "int32",
            "description": "Sets the minimum image size to which the watermark will be added"
          },
          "OptimizerAutomaticOptimizationEnabled": {
            "type": "boolean",
            "description": "Determines if the automatic image optimization should be enabled"
          },
          "PermaCacheStorageZoneId": {
            "type": "integer",
            "format": "int64",
            "description": "The IP of the storage zone used for Perma-Cache"
          },
          "PermaCacheType": {
            "description": "Determines Perma-Cache behavior",
            "allOf": [
              {
                "$ref": "#/components/schemas/PermaCacheType"
              }
            ]
          },
          "OriginRetries": {
            "type": "integer",
            "format": "int32",
            "description": "The number of retries to the origin server"
          },
          "OriginConnectTimeout": {
            "type": "integer",
            "format": "int32",
            "description": "The amount of seconds to wait when connecting to the origin. Otherwise the request will fail or retry."
          },
          "OriginResponseTimeout": {
            "type": "integer",
            "format": "int32",
            "description": "The amount of seconds to wait when waiting for the origin reply. Otherwise the request will fail or retry."
          },
          "UseStaleWhileUpdating": {
            "type": "boolean",
            "description": "Determines if we should use stale cache while cache is updating"
          },
          "UseStaleWhileOffline": {
            "type": "boolean",
            "description": "Determines if we should use stale cache while the origin is offline"
          },
          "OriginRetry5XXResponses": {
            "type": "boolean",
            "description": "Determines if we should retry the request in case of a 5XX response."
          },
          "OriginRetryConnectionTimeout": {
            "type": "boolean",
            "description": "Determines if we should retry the request in case of a connection timeout."
          },
          "OriginRetryResponseTimeout": {
            "type": "boolean",
            "description": "Determines if we should retry the request in case of a response timeout."
          },
          "OriginRetryDelay": {
            "type": "integer",
            "format": "int32",
            "description": "Determines the amount of time that the CDN should wait before retrying an origin request."
          },
          "QueryStringVaryParameters": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "description": "Contains the list of vary parameters that will be used for vary cache by query string. If empty, all parameters will be used to construct the key"
          },
          "OriginShieldEnableConcurrencyLimit": {
            "type": "boolean",
            "description": "Determines if the origin shield concurrency limit is enabled."
          },
          "OriginShieldMaxConcurrentRequests": {
            "type": "integer",
            "format": "int32",
            "description": "Determines the number of maximum concurrent requests allowed to the origin."
          },
          "EnableSafeHop": {
            "type": "boolean"
          },
          "CacheErrorResponses": {
            "type": "boolean",
            "description": "Determines if bunny.net should be caching error responses"
          },
          "OriginShieldQueueMaxWaitTime": {
            "type": "integer",
            "format": "int32",
            "description": "Determines the max queue wait time"
          },
          "OriginShieldMaxQueuedRequests": {
            "type": "integer",
            "format": "int32",
            "description": "Determines the max number of origin requests that will remain in the queu"
          },
          "OptimizerClasses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OptimizerClassModel"
            },
            "nullable": true,
            "description": "Contains the list of optimizer classes"
          },
          "OptimizerForceClasses": {
            "type": "boolean",
            "description": "Determines if the optimizer class list should be enforced"
          },
          "OptimizerStaticHtmlWordPressPath": {
            "type": "string",
            "nullable": true,
            "description": "Wordpress html path which should be bypassed by permacache in edge rule"
          },
          "OptimizerStaticHtmlWordPressBypassCookie": {
            "type": "string",
            "nullable": true,
            "description": "Wordpress cookie which should be bypassed by permacache in edge rule"
          },
          "UseBackgroundUpdate": {
            "type": "boolean",
            "description": "Determines if cache update is performed in the background."
          },
          "EnableAutoSSL": {
            "type": "boolean",
            "description": "If set to true, any hostnames added to this Pull Zone will automatically enable SSL."
          },
          "EnableQueryStringOrdering": {
            "type": "boolean",
            "description": "If set to true the query string ordering property is enabled."
          },
          "LogAnonymizationType": {
            "description": "Gets the log anonymization type for this pull zone",
            "allOf": [
              {
                "$ref": "#/components/schemas/LogAnonymizationType"
              }
            ]
          },
          "LogFormat": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/PullZoneLogFormat"
              }
            ]
          },
          "LogForwardingFormat": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/PullZoneLogFormat"
              }
            ]
          },
          "ShieldDDosProtectionType": {
            "$ref": "#/components/schemas/ShieldDDosProtectionType"
          },
          "ShieldDDosProtectionEnabled": {
            "type": "boolean"
          },
          "OriginType": {
            "description": "The type of the origin for this Pull Zone",
            "allOf": [
              {
                "$ref": "#/components/schemas/PullZoneOriginType"
              }
            ]
          },
          "EnableRequestCoalescing": {
            "type": "boolean",
            "description": "Determines if request coalescing is currently enabled."
          },
          "RequestCoalescingTimeout": {
            "type": "integer",
            "format": "int32",
            "description": "Determines the lock time for coalesced requests."
          },
          "OriginLinkValue": {
            "type": "string",
            "nullable": true,
            "description": "Returns the link short preview value for the pull zone origin connection."
          },
          "DisableLetsEncrypt": {
            "type": "boolean",
            "description": "If true, the built-in let's encrypt is disabled and requests are passed to the origin."
          },
          "EnableBunnyImageAi": {
            "type": "boolean"
          },
          "BunnyAiImageBlueprints": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BunnyAiImageBlueprintModel"
            },
            "nullable": true
          },
          "PreloadingScreenEnabled": {
            "type": "boolean",
            "description": "Determines if the preloading screen is currently enabled"
          },
          "PreloadingScreenShowOnFirstVisit": {
            "type": "boolean",
            "description": "Determines if the preloading screen is shown on the first load from a user."
          },
          "PreloadingScreenCode": {
            "type": "string",
            "nullable": true,
            "description": "The custom preloading screen code"
          },
          "PreloadingScreenLogoUrl": {
            "type": "string",
            "nullable": true,
            "description": "The preloading screen logo URL"
          },
          "PreloadingScreenCodeEnabled": {
            "type": "boolean",
            "description": "Determines if the custom preloader screen is enabled"
          },
          "PreloadingScreenTheme": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/PreloadingScreenTheme"
              }
            ],
            "description": "The currently configured preloading screem theme. (0 - Light, 1 - Dark)"
          },
          "PreloadingScreenDelay": {
            "type": "integer",
            "format": "int32",
            "description": "The delay in miliseconds after which the preloading screen will be desplayed"
          },
          "EUUSDiscount": {
            "type": "integer",
            "format": "int32",
            "description": "The Pull Zone specific pricing discount for EU and US region."
          },
          "SouthAmericaDiscount": {
            "type": "integer",
            "format": "int32",
            "description": "The Pull Zone specific pricing discount for South America region."
          },
          "AfricaDiscount": {
            "type": "integer",
            "format": "int32",
            "description": "The Pull Zone specific pricing discount for Africa region."
          },
          "AsiaOceaniaDiscount": {
            "type": "integer",
            "format": "int32",
            "description": "The Pull Zone specific pricing discount for Asia & Oceania region."
          },
          "RoutingFilters": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "description": "The list of routing filters enabled for this zone"
          },
          "BlockNoneReferrer": {
            "type": "boolean",
            "description": "Determines if direct access to files will be blocked if not coming from allowed referrers"
          },
          "StickySessionType": {
            "description": "Whether to use a Sticky Session mechanism for this pull zone",
            "allOf": [
              {
                "$ref": "#/components/schemas/StickySessionType"
              }
            ]
          },
          "StickySessionCookieName": {
            "type": "string",
            "nullable": true,
            "description": "Sticky Session Cookie Name"
          },
          "StickySessionClientHeaders": {
            "type": "string",
            "nullable": true,
            "description": "A set of comma-separated header names used to identify clients"
          },
          "UserId": {
            "type": "string",
            "nullable": true,
            "description": "User Id of the pull zone owner"
          },
          "CacheVersion": {
            "type": "integer",
            "format": "int64"
          },
          "OptimizerEnableUpscaling": {
            "type": "boolean",
            "description": "Whether to automatically upscale assets when using Optimizer."
          },
          "EnableWebSockets": {
            "type": "boolean",
            "description": "Determines if WebSocket connections are allowed for this Pull Zone."
          },
          "MaxWebSocketConnections": {
            "type": "integer",
            "format": "int32",
            "description": "The maximum global simultaneous WebSocket connections allowed for this Pull Zone."
          }
        },
        "required": [
          "Id",
          "Enabled",
          "Suspended",
          "StorageZoneId",
          "EdgeScriptId",
          "EnableGeoZoneUS",
          "EnableGeoZoneEU",
          "EnableGeoZoneASIA",
          "EnableGeoZoneSA",
          "EnableGeoZoneAF",
          "ZoneSecurityEnabled",
          "ZoneSecurityIncludeHashRemoteIP",
          "IgnoreQueryStrings",
          "MonthlyBandwidthLimit",
          "MonthlyBandwidthUsed",
          "MonthlyCharges",
          "AddHostHeader",
          "EnableAccessControlOriginHeader",
          "DisableCookies",
          "EnableOriginShield",
          "CacheControlMaxAgeOverride",
          "CacheControlPublicMaxAgeOverride",
          "BurstSize",
          "RequestLimit",
          "BlockRootPathAccess",
          "BlockPostRequests",
          "LimitRatePerSecond",
          "LimitRateAfter",
          "ConnectionLimitPerIPCount",
          "PriceOverride",
          "OptimizerPricing",
          "AddCanonicalHeader",
          "EnableLogging",
          "EnableCacheSlice",
          "EnableSmartCache",
          "EnableWebPVary",
          "EnableAvifVary",
          "EnableCountryCodeVary",
          "EnableCountryStateCodeVary",
          "EnableMobileVary",
          "EnableCookieVary",
          "EnableHostnameVary",
          "AWSSigningEnabled",
          "LoggingIPAnonymizationEnabled",
          "EnableTLS1",
          "EnableTLS1_1",
          "VerifyOriginSSL",
          "ErrorPageEnableCustomCode",
          "ErrorPageEnableStatuspageWidget",
          "ErrorPageWhitelabel",
          "LogForwardingEnabled",
          "LogForwardingPort",
          "LoggingSaveToStorage",
          "LoggingStorageZoneId",
          "FollowRedirects",
          "VideoLibraryId",
          "DnsRecordId",
          "DnsZoneId",
          "OptimizerEnabled",
          "OptimizerTunnelEnabled",
          "OptimizerDesktopMaxWidth",
          "OptimizerMobileMaxWidth",
          "OptimizerImageQuality",
          "OptimizerMobileImageQuality",
          "OptimizerEnableWebP",
          "OptimizerPrerenderHtml",
          "OptimizerEnableManipulationEngine",
          "OptimizerMinifyCSS",
          "OptimizerMinifyJavaScript",
          "OptimizerWatermarkEnabled",
          "OptimizerWatermarkOffset",
          "OptimizerWatermarkMinImageSize",
          "OptimizerAutomaticOptimizationEnabled",
          "PermaCacheStorageZoneId",
          "OriginRetries",
          "OriginConnectTimeout",
          "OriginResponseTimeout",
          "UseStaleWhileUpdating",
          "UseStaleWhileOffline",
          "OriginRetry5XXResponses",
          "OriginRetryConnectionTimeout",
          "OriginRetryResponseTimeout",
          "OriginRetryDelay",
          "OriginShieldEnableConcurrencyLimit",
          "OriginShieldMaxConcurrentRequests",
          "EnableSafeHop",
          "CacheErrorResponses",
          "OriginShieldQueueMaxWaitTime",
          "OriginShieldMaxQueuedRequests",
          "OptimizerForceClasses",
          "UseBackgroundUpdate",
          "EnableAutoSSL",
          "EnableQueryStringOrdering",
          "ShieldDDosProtectionEnabled",
          "EnableRequestCoalescing",
          "RequestCoalescingTimeout",
          "DisableLetsEncrypt",
          "EnableBunnyImageAi",
          "PreloadingScreenEnabled",
          "PreloadingScreenShowOnFirstVisit",
          "PreloadingScreenCodeEnabled",
          "PreloadingScreenDelay",
          "EUUSDiscount",
          "SouthAmericaDiscount",
          "AfricaDiscount",
          "AsiaOceaniaDiscount",
          "BlockNoneReferrer",
          "CacheVersion",
          "OptimizerEnableUpscaling",
          "EnableWebSockets",
          "MaxWebSocketConnections"
        ]
      },
      "DnsRecordGeoLocationInfo": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Country": {
            "type": "string",
            "nullable": true
          },
          "City": {
            "type": "string",
            "nullable": true
          },
          "Latitude": {
            "type": "number",
            "format": "double"
          },
          "Longitude": {
            "type": "number",
            "format": "double"
          }
        },
        "required": [
          "Latitude",
          "Longitude"
        ]
      },
      "WhatsNewModelType": {
        "type": "string",
        "description": "0 = Feature<br/>1 = Update<br/>2 = BugFix",
        "x-enumNames": [
          "Feature",
          "Update",
          "BugFix"
        ],
        "enum": [
          "Feature",
          "Update",
          "BugFix"
        ],
        "x-enum-varnames": [
          "Feature",
          "Update",
          "BugFix"
        ],
        "example": "Feature"
      },
      "ApiErrorData": {
        "type": "object",
        "properties": {
          "ErrorKey": {
            "type": "string"
          },
          "Field": {
            "type": "string"
          },
          "Message": {
            "type": "string"
          }
        }
      },
      "ExecutionPhase": {
        "type": "string",
        "description": "0 = Cache<br/>1 = LoadBalancer",
        "x-enumNames": [
          "Cache",
          "LoadBalancer"
        ],
        "enum": [
          "Cache",
          "LoadBalancer"
        ],
        "x-enum-varnames": [
          "Cache",
          "LoadBalancer"
        ],
        "example": "Cache"
      },
      "EdgeScriptReleaseModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int64"
          },
          "Deleted": {
            "type": "boolean"
          },
          "Code": {
            "type": "string",
            "nullable": true
          },
          "Uuid": {
            "type": "string",
            "nullable": true
          },
          "Note": {
            "type": "string",
            "nullable": true
          },
          "Author": {
            "type": "string",
            "nullable": true
          },
          "AuthorEmail": {
            "type": "string",
            "nullable": true
          },
          "CommitSha": {
            "type": "string",
            "nullable": true
          },
          "Status": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/EdgeScriptReleaseStatus"
              }
            ]
          },
          "DateReleased": {
            "type": "string",
            "format": "date-time"
          },
          "DatePublished": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "Id",
          "Deleted",
          "DateReleased",
          "DatePublished"
        ]
      },
      "PermaCacheType": {
        "type": "string",
        "description": "0 = Automatic<br/>1 = Manual",
        "x-enumNames": [
          "Automatic",
          "Manual"
        ],
        "enum": [
          "Automatic",
          "Manual"
        ],
        "x-enum-varnames": [
          "Automatic",
          "Manual"
        ],
        "example": "Automatic"
      },
      "EdgeScriptTypes": {
        "type": "string",
        "description": "0 = DNS<br/>1 = CDN<br/>2 = Middleware",
        "x-enumNames": [
          "DNS",
          "CDN",
          "Middleware"
        ],
        "enum": [
          "DNS",
          "CDN",
          "Middleware"
        ],
        "x-enum-varnames": [
          "DNS",
          "CDN",
          "Middleware"
        ],
        "example": "DNS"
      },
      "DnsZoneModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int64"
          },
          "Domain": {
            "type": "string",
            "nullable": true
          },
          "Records": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DnsRecordModel"
            },
            "nullable": true
          },
          "DateModified": {
            "type": "string",
            "format": "date-time"
          },
          "DateCreated": {
            "type": "string",
            "format": "date-time"
          },
          "NameserversDetected": {
            "type": "boolean"
          },
          "CustomNameserversEnabled": {
            "type": "boolean"
          },
          "Nameserver1": {
            "type": "string",
            "nullable": true
          },
          "Nameserver2": {
            "type": "string",
            "nullable": true
          },
          "SoaEmail": {
            "type": "string",
            "nullable": true
          },
          "NameserversNextCheck": {
            "type": "string",
            "format": "date-time"
          },
          "LoggingEnabled": {
            "type": "boolean"
          },
          "LoggingIPAnonymizationEnabled": {
            "type": "boolean",
            "description": "Determines if the TLS 1 is enabled on the DNS Zone"
          },
          "LogAnonymizationType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LogAnonymizationType"
              }
            ],
            "nullable": true,
            "description": "Sets the log anonymization type for this zone"
          },
          "DnsSecEnabled": {
            "type": "boolean",
            "description": "Determines if DNSSEC is enabled for this DNS Zone"
          },
          "CertificateKeyType": {
            "description": "The private key type to use for automatic certificates",
            "allOf": [
              {
                "$ref": "#/components/schemas/PrivateKeyType"
              }
            ]
          }
        },
        "required": [
          "Id",
          "DateModified",
          "DateCreated",
          "NameserversDetected",
          "CustomNameserversEnabled",
          "NameserversNextCheck",
          "LoggingEnabled",
          "LoggingIPAnonymizationEnabled",
          "DnsSecEnabled"
        ]
      },
      "DnsMonitoringType": {
        "type": "string",
        "description": "0 = None<br/>1 = Ping<br/>2 = Http<br/>3 = Monitor",
        "x-enumNames": [
          "None",
          "Ping",
          "Http",
          "Monitor"
        ],
        "enum": [
          "None",
          "Ping",
          "Http",
          "Monitor"
        ],
        "x-enum-varnames": [
          "None",
          "Ping",
          "Http",
          "Monitor"
        ],
        "example": "None"
      },
      "PullZoneConnectionType": {
        "type": "string",
        "description": "0 = CDN<br/>1 = PermaCache<br/>2 = LogStorage",
        "x-enumNames": [
          "CDN",
          "PermaCache",
          "LogStorage"
        ],
        "enum": [
          "CDN",
          "PermaCache",
          "LogStorage"
        ],
        "x-enum-varnames": [
          "CDN",
          "PermaCache",
          "LogStorage"
        ],
        "example": "CDN"
      },
      "SourceCodeRepositorySettingsModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "Name": {
            "type": "string",
            "nullable": true
          },
          "Private": {
            "type": "boolean"
          },
          "TemplateUrl": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "Private"
        ]
      },
      "PaginationListModelOfEdgeScriptReleaseModel": {
        "type": "object",
        "required": [
          "CurrentPage",
          "TotalItems",
          "HasMoreItems"
        ],
        "properties": {
          "Items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EdgeScriptReleaseModel"
            }
          },
          "CurrentPage": {
            "type": "integer",
            "format": "int32"
          },
          "TotalItems": {
            "type": "integer",
            "format": "int32"
          },
          "HasMoreItems": {
            "type": "boolean"
          }
        }
      },
      "EdgeScriptCodeModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Code": {
            "type": "string",
            "nullable": true
          },
          "LastModified": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "LastModified"
        ]
      },
      "UserModelCategoryType": {
        "type": "string",
        "description": "0 = Normal<br/>1 = Internal<br/>2 = Sponsored",
        "x-enumNames": [
          "Normal",
          "Internal",
          "Sponsored"
        ],
        "enum": [
          "Normal",
          "Internal",
          "Sponsored"
        ],
        "x-enum-varnames": [
          "Normal",
          "Internal",
          "Sponsored"
        ],
        "example": "Normal"
      },
      "GithubRepositoryBranchModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Name": {
            "type": "string",
            "nullable": true
          },
          "Protected": {
            "type": "boolean"
          },
          "Default": {
            "type": "boolean"
          }
        },
        "required": [
          "Protected",
          "Default"
        ]
      },
      "PullZoneLogFormat": {
        "type": "string",
        "description": "0 = Plain<br/>1 = JSON",
        "x-enumNames": [
          "Plain",
          "JSON"
        ],
        "enum": [
          "Plain",
          "JSON"
        ],
        "x-enum-varnames": [
          "Plain",
          "JSON"
        ],
        "example": "Plain"
      },
      "RtmpOutput": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Endpoint": {
            "type": "string",
            "nullable": true,
            "description": "The RTMP endpoint URL for the output"
          },
          "StreamKey": {
            "type": "string",
            "nullable": true,
            "description": "The RTMP stream key for the output"
          }
        }
      },
      "SearchResultItemModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Type": {
            "type": "string",
            "nullable": true,
            "description": "The type of the search result item. Possible values: cdn, storage, dns, script, stream"
          },
          "Id": {
            "type": "integer",
            "format": "int64",
            "description": "The ID of the search result item linked object"
          },
          "Name": {
            "type": "string",
            "nullable": true,
            "description": "The name of the object found"
          }
        },
        "required": [
          "Id"
        ]
      },
      "AddDnsRecordModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DnsRecordTypes"
              }
            ],
            "nullable": true
          },
          "Ttl": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "Value": {
            "type": "string",
            "nullable": true
          },
          "Name": {
            "type": "string",
            "nullable": true
          },
          "Weight": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "Priority": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "Flags": {
            "type": "integer",
            "minimum": 0,
            "maximum": 255,
            "nullable": true
          },
          "Tag": {
            "type": "string",
            "nullable": true
          },
          "Port": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "PullZoneId": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "ScriptId": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "Accelerated": {
            "type": "boolean",
            "nullable": true
          },
          "MonitorType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DnsMonitoringType"
              }
            ],
            "nullable": true
          },
          "GeolocationLatitude": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "GeolocationLongitude": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "LatencyZone": {
            "type": "string",
            "nullable": true
          },
          "SmartRoutingType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DnsSmartRoutingType"
              }
            ],
            "nullable": true
          },
          "Disabled": {
            "type": "boolean",
            "nullable": true
          },
          "EnviromentalVariables": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DnsRecordEnviromentalVariableModel"
            },
            "nullable": true
          },
          "Comment": {
            "type": "string",
            "nullable": true
          },
          "AutoSslIssuance": {
            "type": "boolean",
            "nullable": true
          }
        }
      },
      "UpsertEdgeScriptVariableModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Name": {
            "type": "string",
            "nullable": true,
            "maxLength": 256,
            "minLength": 1
          },
          "Required": {
            "type": "boolean",
            "nullable": true
          },
          "DefaultValue": {
            "type": "string",
            "nullable": true,
            "maxLength": 4096
          }
        },
        "required": [
          "Name"
        ]
      },
      "EdgeScriptStatisticsModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "TotalRequestsServed": {
            "type": "integer",
            "format": "int64"
          },
          "TotalCpuUsed": {
            "type": "number",
            "format": "double"
          },
          "TotalMonthlyCost": {
            "type": "number",
            "format": "decimal"
          },
          "AverageCpuTimePerExecution": {
            "type": "number",
            "format": "double"
          },
          "RequestsServedChart": {
            "type": "object",
            "additionalProperties": {
              "type": "number",
              "format": "double"
            },
            "nullable": true
          },
          "AverageCpuTimeChart": {
            "type": "object",
            "additionalProperties": {
              "type": "number",
              "format": "double"
            },
            "nullable": true
          },
          "TotalCpuTimeChart": {
            "type": "object",
            "additionalProperties": {
              "type": "number",
              "format": "double"
            },
            "nullable": true
          }
        },
        "required": [
          "TotalRequestsServed",
          "TotalCpuUsed",
          "TotalMonthlyCost",
          "AverageCpuTimePerExecution"
        ]
      },
      "StorageZoneTier": {
        "type": "string",
        "description": "0 = Standard<br/>1 = Edge",
        "x-enumNames": [
          "Standard",
          "Edge"
        ],
        "enum": [
          "Standard",
          "Edge"
        ],
        "x-enum-varnames": [
          "Standard",
          "Edge"
        ],
        "example": "Standard"
      },
      "HostnameModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int64",
            "description": "The unique ID of the hostname"
          },
          "Value": {
            "type": "string",
            "nullable": true,
            "description": "The hostname value for the domain name"
          },
          "ForceSSL": {
            "type": "boolean",
            "description": "Determines if the Force SSL feature is enabled"
          },
          "IsSystemHostname": {
            "type": "boolean",
            "description": "Determines if this is a system hostname controlled by bunny.net"
          },
          "IsManagedHostname": {
            "type": "boolean",
            "description": "Determines if this is a managed hostname controlled by bunny.net"
          },
          "HasCertificate": {
            "type": "boolean",
            "description": "Determines if the hostname has an SSL certificate configured"
          },
          "Certificate": {
            "type": "string",
            "nullable": true,
            "description": "Contains the Base64Url encoded certificate for the hostname"
          },
          "CertificateKey": {
            "type": "string",
            "nullable": true,
            "description": "Contains the Base64Url encoded certificate key for the hostname"
          },
          "CertificateKeyType": {
            "description": "The private key type to use for automatic certificates",
            "allOf": [
              {
                "$ref": "#/components/schemas/PrivateKeyType"
              }
            ]
          },
          "CertificateProvisionType": {
            "description": "The provisioned certificate type",
            "allOf": [
              {
                "$ref": "#/components/schemas/CertificateProvisionType"
              }
            ]
          }
        },
        "required": [
          "Id",
          "ForceSSL",
          "IsSystemHostname",
          "IsManagedHostname",
          "HasCertificate"
        ]
      },
      "AddEdgeScriptVariableModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Name": {
            "type": "string",
            "nullable": true,
            "maxLength": 256,
            "minLength": 1
          },
          "Required": {
            "type": "boolean"
          },
          "DefaultValue": {
            "type": "string",
            "nullable": true,
            "maxLength": 4096
          }
        },
        "required": [
          "Name",
          "Required"
        ]
      },
      "EdgeScriptSecretModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int64"
          },
          "Name": {
            "type": "string",
            "nullable": true
          },
          "LastModified": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "Id",
          "LastModified"
        ]
      }
    },
    "securitySchemes": {
      "AccessKey": {
        "type": "apiKey",
        "description": "API Access Key authorization header",
        "name": "AccessKey",
        "in": "header"
      }
    }
  }
}