{
  "openapi": "3.0.0",
  "x-generator": "Dynamic OpenAPI Generator v1.0.0",
  "info": {
    "title": "bunny.net API",
    "description": "<img src='https://bunny.net/v2/images/bunnynet-logo-dark.svg' style='width: 200px;' alt='bunny.net Logo'>\n               Learn how to use the [bunny.net](https://bunny.net \"bunny.net - The content delivery platform that truly hops.\") API. Everything that can be done with the control panel can also be achieved with our API documented on this page. To learn how to use the storage API, have a look at our <a href='https://bunnycdnstorage.docs.apiary.io/#'>storage API documentation</a>\n               <h2>Third party API clients:</h2> \n               <br/>\n               We currently do not maintain an official API library, but you can use one of the third party ones provided here:<br/><br/>\n               <a rel='nofollow' href='https://github.com/codewithmark/bunnycdn'>https://github.com/codewithmark/bunnycdn</a> (bunny.net PHP library, thanks to <a rel=\"nofollow\" href='https://codewithmark.com'>Code With Mark</a>)\n               <br/><br/>\n               <i style='font-size: 11px;'><b>Note that third party clients are not maintained or developed by bunny.net so we unfortunately cannot offer support for them.</b></i>",
    "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": {
    "/country": {
      "get": {
        "tags": [
          "Countries"
        ],
        "summary": "Get Country List",
        "operationId": "CountriesPublic_GetCountryList",
        "parameters": [],
        "responses": {
          "200": {
            "description": "The list of countries and tax rates",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CountryModel"
                  }
                }
              },
              "application/xml": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CountryModel"
                  }
                }
              }
            }
          },
          "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 countries and tax rates"
      }
    },
    "/dnszone": {
      "get": {
        "tags": [
          "DNS Zone"
        ],
        "summary": "List DNS Zones",
        "operationId": "DnsZonePublic_Index",
        "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"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The list of DNS Zones on the account.",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginationListModelOfDnsZoneModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PaginationListModelOfDnsZoneModel"
                }
              }
            }
          },
          "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": [
              "SubuserAPIDns",
              "SubuserAPIManage",
              "SubuserDns",
              "SubuserManage",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "The list of DNS Zones on the account."
      },
      "post": {
        "tags": [
          "DNS Zone"
        ],
        "summary": "Add DNS Zone",
        "operationId": "DnsZonePublic_Add",
        "parameters": [],
        "responses": {
          "201": {
            "description": "The DNS Zone was successfuly added"
          },
          "400": {
            "description": "Failed adding the DNS Zone. 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": [
              "SubuserAPIDns",
              "SubuserAPIManage",
              "SubuserDns",
              "SubuserManage",
              "User",
              "UserApi"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DnsZoneAddModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/DnsZoneAddModel"
              }
            }
          },
          "required": true
        }
      }
    },
    "/dnszone/{id}": {
      "get": {
        "tags": [
          "DNS Zone"
        ],
        "summary": "Get DNS Zone",
        "operationId": "DnsZonePublic_Index2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the DNS Zone that will be returned",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "The DNS Zone with the requested ID",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DnsZoneModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/DnsZoneModel"
                }
              }
            }
          },
          "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 DNS Zone with the requested ID does not exist."
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIDns",
              "SubuserAPIManage",
              "SubuserDns",
              "SubuserManage",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "The DNS Zone with the requested ID"
      },
      "post": {
        "tags": [
          "DNS Zone"
        ],
        "summary": "Update DNS Zones",
        "operationId": "DnsZonePublic_Update",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the DNS Zone that will be updated",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "The DNS Zone with the requested ID",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DnsZoneModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/DnsZoneModel"
                }
              }
            }
          },
          "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 DNS Zone with the requested ID does not exist."
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIDns",
              "SubuserAPIManage",
              "SubuserDns",
              "SubuserManage",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "The DNS Zone with the requested ID",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDnsZoneModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDnsZoneModel"
              }
            }
          },
          "required": true
        }
      },
      "delete": {
        "tags": [
          "DNS Zone"
        ],
        "summary": "Delete DNS Zone",
        "operationId": "DnsZonePublic_Delete",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The DNS Zone ID that will be deleted.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "The DNS Zone was successfuly deleted."
          },
          "400": {
            "description": "Failed deleting the DNS Zone. 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 DNS Zone with the requested ID does not exist."
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIDns",
              "SubuserAPIManage",
              "SubuserDns",
              "SubuserManage",
              "User",
              "UserApi"
            ]
          }
        ]
      }
    },
    "/dnszone/{id}/export": {
      "get": {
        "tags": [
          "DNS Zone"
        ],
        "summary": "Export",
        "operationId": "DnsZonePublic_Export",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the model determinining if the zone is available or not"
          },
          "400": {
            "description": "Failed checking the zone availability",
            "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": [
              "SubuserAPIDns",
              "SubuserAPIManage",
              "SubuserDns",
              "SubuserManage",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "Returns the model determinining if the zone is available or not"
      }
    },
    "/dnszone/checkavailability": {
      "post": {
        "tags": [
          "DNS Zone"
        ],
        "summary": "Check the DNS zone availability",
        "operationId": "DnsZonePublic_CheckAvailability",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Returns the model determinining if the zone is available or not"
          },
          "400": {
            "description": "Failed checking the zone availability",
            "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": [
              "SubuserAPIDns",
              "SubuserAPIManage",
              "SubuserDns",
              "SubuserManage",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "Returns the model determinining if the zone is available or not",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ZoneAvailabilityRequestModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ZoneAvailabilityRequestModel"
              }
            }
          },
          "required": true
        }
      }
    },
    "/dnszone/{zoneId}/records/{id}": {
      "post": {
        "tags": [
          "DNS Zone"
        ],
        "summary": "Update DNS Record",
        "operationId": "DnsZonePublic_UpdateRecord",
        "parameters": [
          {
            "name": "zoneId",
            "in": "path",
            "description": "The DNS Zone ID that contains the record.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          },
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the DNS record that will be updated.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "The DNS record was successfuly updated."
          },
          "400": {
            "description": "Failed updating the DNS record. 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"
          },
          "404": {
            "description": "The DNS Zone or DNS Record with the requested ID does not exist."
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIDns",
              "SubuserAPIManage",
              "SubuserDns",
              "SubuserManage",
              "User",
              "UserApi"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDnsRecordModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDnsRecordModel"
              }
            }
          },
          "required": true
        }
      },
      "delete": {
        "tags": [
          "DNS Zone"
        ],
        "summary": "Delete DNS Record",
        "operationId": "DnsZonePublic_DeleteRecord",
        "parameters": [
          {
            "name": "zoneId",
            "in": "path",
            "description": "The DNS Zone ID that contains the record.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          },
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the DNS record that will be deleted.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "The DNS record was successfuly deleted."
          },
          "400": {
            "description": "Failed deleting the DNS Record. 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 DNS Zone or DNS Record with the requested ID does not exist."
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIDns",
              "SubuserAPIManage",
              "SubuserDns",
              "SubuserManage",
              "User",
              "UserApi"
            ]
          }
        ]
      }
    },
    "/dnszone/{zoneId}/import": {
      "post": {
        "tags": [
          "DNS Zone"
        ],
        "summary": "Import DNS Records",
        "operationId": "DnsZonePublic_Import",
        "parameters": [
          {
            "name": "zoneId",
            "in": "path",
            "description": "The DNS Zone ID that should import the data.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "The import operation has finished successfuly.",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DnsZoneImportResultModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/DnsZoneImportResultModel"
                }
              }
            }
          },
          "400": {
            "description": "Failed importing data. 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 DNS Zone with the requested ID does not exist."
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIDns",
              "SubuserAPIManage",
              "SubuserDns",
              "SubuserManage",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "The import operation has finished successfuly."
      }
    },
    "/dnszone/{zoneId}/certificate/issue": {
      "post": {
        "tags": [
          "DNS Zone"
        ],
        "summary": "Issue new wildcard certificate",
        "operationId": "DnsZonePublic_IssueWildcardCertificate",
        "parameters": [
          {
            "name": "zoneId",
            "in": "path",
            "description": "The DNS Zone ID requiring a new certificate.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "A certificate has been issued successfully"
          },
          "400": {
            "description": "Failed to issue a new certificate",
            "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 DNS Zone with the requested ID does not exist."
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIDns",
              "SubuserAPIManage",
              "SubuserDns",
              "SubuserManage",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "A certificate has been issued successfully",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IssueWildcardCertificateRequestModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/IssueWildcardCertificateRequestModel"
              }
            }
          },
          "required": true
        }
      }
    },
    "/dnszone/{zoneId}/records": {
      "put": {
        "tags": [
          "DNS Zone"
        ],
        "summary": "Add DNS Record",
        "operationId": "DnsZonePublic_AddRecord",
        "parameters": [
          {
            "name": "zoneId",
            "in": "path",
            "description": "The DNS Zone ID to which the record will be added.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "201": {
            "description": "The DNS record was successfuly added.",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DnsRecordModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/DnsRecordModel"
                }
              }
            }
          },
          "400": {
            "description": "Failed adding the DNS record. 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"
          },
          "404": {
            "description": "The DNS Zone with the requested ID does not exist."
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIDns",
              "SubuserAPIManage",
              "SubuserDns",
              "SubuserManage",
              "User",
              "UserApi"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddDnsRecordModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/AddDnsRecordModel"
              }
            }
          },
          "required": true
        }
      }
    },
    "/pullzone": {
      "get": {
        "tags": [
          "Pull Zone"
        ],
        "summary": "List Pull Zones",
        "operationId": "PullZonePublic_Index",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "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": "includeCertificate",
            "in": "query",
            "description": "Determines if the result hostnames should contain the SSL certificate",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The list of all the pull zones on the account",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginationListModelOfPullZoneModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PaginationListModelOfPullZoneModel"
                }
              }
            }
          },
          "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 all the pull zones on the account"
      },
      "post": {
        "tags": [
          "Pull Zone"
        ],
        "summary": "Add Pull Zone",
        "operationId": "PullZonePublic_Add",
        "parameters": [],
        "responses": {
          "201": {
            "description": "The Pull Zone was successfuly added"
          },
          "400": {
            "description": "Failed adding Pull Zone",
            "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": [
              "SubuserAPIManage",
              "SubuserAPIPullZones",
              "SubuserManage",
              "SubuserPullZones",
              "User",
              "UserApi"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PullZoneAddModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/PullZoneAddModel"
              }
            }
          },
          "required": true
        }
      }
    },
    "/pullzone/{id}": {
      "get": {
        "tags": [
          "Pull Zone"
        ],
        "summary": "Get Pull Zone",
        "operationId": "PullZonePublic_Index2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the Pull Zone that should be returned",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          },
          {
            "name": "includeCertificate",
            "in": "query",
            "description": "Determines if the result hostnames should contain the SSL certificate",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The Pull Zone with the requested ID",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PullZoneModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PullZoneModel"
                }
              }
            }
          },
          "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 Pull Zone 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"
            ]
          }
        ],
        "description": "The Pull Zone with the requested ID"
      },
      "post": {
        "tags": [
          "Pull Zone"
        ],
        "summary": "Update Pull Zone",
        "operationId": "PullZonePublic_UpdatePullZone",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the Pull Zone that should be updated",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "The Pull Zone was successfuly updated",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PullZoneModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PullZoneModel"
                }
              }
            }
          },
          "400": {
            "description": "Failed configuring the Storage Zone. 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"
          },
          "404": {
            "description": "The Storage Zone 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"
            ]
          }
        ],
        "description": "The Pull Zone was successfuly updated",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PullZoneSettingsModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/PullZoneSettingsModel"
              }
            }
          },
          "required": true
        }
      },
      "delete": {
        "tags": [
          "Pull Zone"
        ],
        "summary": "Delete Pull Zone",
        "operationId": "PullZonePublic_Delete",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the Pull Zone that should be deleted",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the model determinining if the zone is available or not"
          },
          "204": {
            "description": "The Pull Zone was successfully deleted"
          },
          "400": {
            "description": "Failed checking the zone availability",
            "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 Pull Zone 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"
            ]
          }
        ],
        "description": "Returns the model determinining if the zone is available or not"
      }
    },
    "/pullzone/{pullZoneId}/originshield/queuestatistics": {
      "get": {
        "tags": [
          "Pull Zone"
        ],
        "summary": "Get Origin Shield Queue Statistics",
        "operationId": "PullZonePublic_OriginShieldConcurrencyStatistics",
        "parameters": [
          {
            "name": "pullZoneId",
            "in": "path",
            "description": "(Optional) If set, the statistics will be only returned for the given Pull Zone",
            "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": "hourly",
            "in": "query",
            "description": "(Optional) If true, the statistics data will be returned in hourly groupping.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The statistics data for the passed parameters.",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OriginShieldConcurrencyStatisticsModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/OriginShieldConcurrencyStatisticsModel"
                }
              }
            }
          },
          "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 statistics data for the passed parameters."
      }
    },
    "/pullzone/{pullZoneId}/safehop/statistics": {
      "get": {
        "tags": [
          "Pull Zone"
        ],
        "summary": "Get SafeHop Statistics",
        "operationId": "PullZonePublic_SafeHopStatistics",
        "parameters": [
          {
            "name": "pullZoneId",
            "in": "path",
            "description": "(Optional) If set, the statistics will be only returned for the given Pull Zone",
            "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": "hourly",
            "in": "query",
            "description": "(Optional) If true, the statistics data will be returned in hourly groupping.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The statistics data for the passed parameters.",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SafeHopStatisticsModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SafeHopStatisticsModel"
                }
              }
            }
          },
          "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 statistics data for the passed parameters."
      }
    },
    "/pullzone/{pullZoneId}/optimizer/statistics": {
      "get": {
        "tags": [
          "Pull Zone"
        ],
        "summary": "Get Optimizer Statistics",
        "operationId": "PullZonePublic_OptimizerStatistics",
        "parameters": [
          {
            "name": "pullZoneId",
            "in": "path",
            "description": "(Optional) If set, the statistics will be only returned for the given Pull Zone",
            "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": "hourly",
            "in": "query",
            "description": "(Optional) If true, the statistics data will be returned in hourly groupping.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The statistics data for the passed parameters.",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OptimizerStatisticsModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/OptimizerStatisticsModel"
                }
              }
            }
          },
          "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 statistics data for the passed parameters."
      }
    },
    "/pullzone/loadFreeCertificate": {
      "get": {
        "tags": [
          "Pull Zone"
        ],
        "summary": "Load Free Certificate",
        "operationId": "PullZonePublic_LoadFreeCertificate",
        "parameters": [
          {
            "name": "hostname",
            "in": "query",
            "description": "The hostname that the certificate will be loaded for",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "useOnlyHttp01",
            "in": "query",
            "description": "If false and a Bunny DNS Zone exists for the domain, DNS01 validation we be attempted. This has no effect on wildcard domains, as this can only use DNS01",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The certificate was successfuly loaded"
          },
          "400": {
            "description": "Failed configuring the certificate",
            "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 hostname was not found in the account"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIManage",
              "SubuserAPIPullZones",
              "SubuserManage",
              "SubuserPullZones",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "The certificate was successfuly loaded"
      }
    },
    "/pullzone/{pullZoneId}/edgerules/addOrUpdate": {
      "post": {
        "tags": [
          "Pull Zone"
        ],
        "summary": "Add/Update Edge Rule",
        "operationId": "PullZonePublic_AddEdgeRule",
        "parameters": [
          {
            "name": "pullZoneId",
            "in": "path",
            "description": "The ID of the Pull Zone where the Edge Rule will be created",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "201": {
            "description": "The Edge Rule was successfuly added"
          },
          "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 Pull Zone 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"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EdgeRuleV2Model"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/EdgeRuleV2Model"
              }
            }
          },
          "required": true
        }
      }
    },
    "/pullzone/{pullZoneId}/edgerules/{edgeRuleId}/setEdgeRuleEnabled": {
      "post": {
        "tags": [
          "Pull Zone"
        ],
        "summary": "Set Edge Rule Enabled",
        "operationId": "PullZonePublic_SetEdgeRuleEnabled",
        "parameters": [
          {
            "name": "pullZoneId",
            "in": "path",
            "description": "The ID of the Pull Zone that contains the Edge Rule",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          },
          {
            "name": "edgeRuleId",
            "in": "path",
            "description": "The ID of the Edge Rule that should be updated",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "The Edge Rule was successfuly updated"
          },
          "400": {
            "description": "Failed configuring the Edge Rule. 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"
          },
          "404": {
            "description": "The Pull Zone or Edge Rule 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"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ToggleRequestModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ToggleRequestModel"
              }
            }
          },
          "required": true
        }
      }
    },
    "/pullzone/{id}/updatePrivateKeyType": {
      "post": {
        "tags": [
          "Pull Zone"
        ],
        "summary": "Change hostname private key type",
        "operationId": "PullZonePublic_UpdatePrivateKeyType",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The hostname that the private key type will be updated on",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "The key type was changed successfully"
          },
          "400": {
            "description": "Failed to update key type",
            "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 hostname was not found in the account"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIManage",
              "SubuserAPIPullZones",
              "SubuserManage",
              "SubuserPullZones",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "The key type was changed successfully",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PrivateKeyUpdateModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/PrivateKeyUpdateModel"
              }
            }
          },
          "required": true
        }
      }
    },
    "/pullzone/{id}/purgeCache": {
      "post": {
        "tags": [
          "Pull Zone"
        ],
        "summary": "Purge Cache",
        "operationId": "PullZonePublic_PurgeCachePostByTag",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the Pull Zone that should be cleared",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "The cache was successfuly purged"
          },
          "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 Pull Zone 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"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PullZonePurgeModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/PullZonePurgeModel"
              }
            }
          },
          "required": true
        }
      }
    },
    "/pullzone/checkavailability": {
      "post": {
        "tags": [
          "Pull Zone"
        ],
        "summary": "Check the pull zone availability",
        "operationId": "PullZonePublic_CheckAvailability",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Returns the model determinining if the zone is available or not"
          },
          "201": {
            "description": "The Pull Zone was successfuly added"
          },
          "400": {
            "description": "Failed adding Pull Zone",
            "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": [
              "SubuserAPIManage",
              "SubuserAPIPullZones",
              "SubuserManage",
              "SubuserPullZones",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "Returns the model determinining if the zone is available or not",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ZoneAvailabilityRequestModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ZoneAvailabilityRequestModel"
              }
            }
          },
          "required": true
        }
      }
    },
    "/pullzone/{id}/addCertificate": {
      "post": {
        "tags": [
          "Pull Zone"
        ],
        "summary": "Add Custom Certificate",
        "operationId": "PullZonePublic_AddCertificate",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the requested Pull Zone",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "The certificate was successfuly added"
          },
          "400": {
            "description": "Failed adding the certificate",
            "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 Pull Zone with the requested ID was not found"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIManage",
              "SubuserAPIPullZones",
              "SubuserManage",
              "SubuserPullZones",
              "User",
              "UserApi"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddCertificateRequestModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/AddCertificateRequestModel"
              }
            }
          },
          "required": true
        }
      }
    },
    "/pullzone/{id}/addHostname": {
      "post": {
        "tags": [
          "Pull Zone"
        ],
        "summary": "Add Custom Hostname",
        "operationId": "PullZonePublic_AddHostname",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the requested Pull Zone",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "The hostname was successfully added"
          },
          "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 Pull Zone with the requested ID was not found"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIManage",
              "SubuserAPIPullZones",
              "SubuserManage",
              "SubuserPullZones",
              "User",
              "UserApi"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddHostnameRequestModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/AddHostnameRequestModel"
              }
            }
          },
          "required": true
        }
      }
    },
    "/pullzone/{id}/setForceSSL": {
      "post": {
        "tags": [
          "Pull Zone"
        ],
        "summary": "Set Force SSL",
        "operationId": "PullZonePublic_SetForceSSL",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the requested Pull Zone",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "Force SSL was successfully updated"
          },
          "400": {
            "description": "Failed to configure Force SSL",
            "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 Pull Zone with the requested ID was not found"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIManage",
              "SubuserAPIPullZones",
              "SubuserManage",
              "SubuserPullZones",
              "User",
              "UserApi"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ForceSSLRequestModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ForceSSLRequestModel"
              }
            }
          },
          "required": true
        }
      }
    },
    "/pullzone/{id}/resetSecurityKey": {
      "post": {
        "tags": [
          "Pull Zone"
        ],
        "summary": "Reset Token Key",
        "operationId": "PullZonePublic_ResetSecurityKey",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the requested Pull Zone",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "The key was successfuly reset"
          },
          "400": {
            "description": "Failed to reset the security key",
            "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 Pull Zone with the requested ID was not found"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIManage",
              "SubuserAPIPullZones",
              "SubuserManage",
              "SubuserPullZones",
              "User",
              "UserApi"
            ]
          }
        ]
      }
    },
    "/pullzone/{id}/addAllowedReferrer": {
      "post": {
        "tags": [
          "Pull Zone"
        ],
        "summary": "Add Allowed Referer",
        "operationId": "PullZonePublic_AddAllowedReferrer",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the requested Pull Zone",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "The allowed referer was successfuly added"
          },
          "400": {
            "description": "Failed to configure allowed referer",
            "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 Pull Zone with the requested ID was not found"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIManage",
              "SubuserAPIPullZones",
              "SubuserManage",
              "SubuserPullZones",
              "User",
              "UserApi"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddAllowedReferrerRequestModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/AddAllowedReferrerRequestModel"
              }
            }
          },
          "required": true
        }
      }
    },
    "/pullzone/{id}/removeAllowedReferrer": {
      "post": {
        "tags": [
          "Pull Zone"
        ],
        "summary": "Remove Allowed Referer",
        "operationId": "PullZonePublic_RemoveAllowedReferrer",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the requested Pull Zone",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "The allowed referer was successfuly removed"
          },
          "400": {
            "description": "Failed to remove allowed referer",
            "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 Pull Zone with the requested ID was not found"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIManage",
              "SubuserAPIPullZones",
              "SubuserManage",
              "SubuserPullZones",
              "User",
              "UserApi"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveAllowedReferrerRequestModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/RemoveAllowedReferrerRequestModel"
              }
            }
          },
          "required": true
        }
      }
    },
    "/pullzone/{id}/addBlockedReferrer": {
      "post": {
        "tags": [
          "Pull Zone"
        ],
        "summary": "Add Blocked Referer",
        "operationId": "PullZonePublic_AddBlockedReferrer",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the requested Pull Zone",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "The blocked referer was successfuly added"
          },
          "400": {
            "description": "Failed to configure blocked referer",
            "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 Pull Zone with the requested ID was not found"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIManage",
              "SubuserAPIPullZones",
              "SubuserManage",
              "SubuserPullZones",
              "User",
              "UserApi"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddBlockedReferrerRequestModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/AddBlockedReferrerRequestModel"
              }
            }
          },
          "required": true
        }
      }
    },
    "/pullzone/{id}/removeBlockedReferrer": {
      "post": {
        "tags": [
          "Pull Zone"
        ],
        "summary": "Remove Blocked Referer",
        "operationId": "PullZonePublic_RemoveBlockedReferrer",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the requested Pull Zone",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "The blocked referer was successfuly removed"
          },
          "400": {
            "description": "Failed to remove blocked referer",
            "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 Pull Zone with the requested ID was not found"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIManage",
              "SubuserAPIPullZones",
              "SubuserManage",
              "SubuserPullZones",
              "User",
              "UserApi"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveAllowedReferrerRequestModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/RemoveAllowedReferrerRequestModel"
              }
            }
          },
          "required": true
        }
      }
    },
    "/pullzone/{id}/addBlockedIp": {
      "post": {
        "tags": [
          "Pull Zone"
        ],
        "summary": "Add Blocked IP",
        "operationId": "PullZonePublic_AddBlockedIp",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the requested Pull Zone",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "The blocked IP was successfuly added"
          },
          "400": {
            "description": "Failed to configure blocked IP",
            "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 Pull Zone with the requested ID was not found"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIManage",
              "SubuserAPIPullZones",
              "SubuserManage",
              "SubuserPullZones",
              "User",
              "UserApi"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddBlockedIpRequestModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/AddBlockedIpRequestModel"
              }
            }
          },
          "required": true
        }
      }
    },
    "/pullzone/{id}/removeBlockedIp": {
      "post": {
        "tags": [
          "Pull Zone"
        ],
        "summary": "Remove Blocked IP",
        "operationId": "PullZonePublic_RemoveBlockedIp",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the requested Pull Zone",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "The blocked IP was successfuly removed"
          },
          "400": {
            "description": "Failed to remove blocked IP",
            "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 Pull Zone with the requested ID was not found"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIManage",
              "SubuserAPIPullZones",
              "SubuserManage",
              "SubuserPullZones",
              "User",
              "UserApi"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveBlockedIpRequestModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/RemoveBlockedIpRequestModel"
              }
            }
          },
          "required": true
        }
      }
    },
    "/pullzone/{pullZoneId}/edgerules/{edgeRuleId}": {
      "delete": {
        "tags": [
          "Pull Zone"
        ],
        "summary": "Delete Edge Rule",
        "operationId": "PullZonePublic_DeleteEdgeRule",
        "parameters": [
          {
            "name": "pullZoneId",
            "in": "path",
            "description": "The ID of the Pull Zone that contains the Edge Rule",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          },
          {
            "name": "edgeRuleId",
            "in": "path",
            "description": "The ID of the Edge Rule that should be deleted",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "The Edge Rule was successfuly deleted"
          },
          "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 Pull Zone or Edge Rule 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"
            ]
          }
        ]
      }
    },
    "/pullzone/{id}/removeCertificate": {
      "delete": {
        "tags": [
          "Pull Zone"
        ],
        "summary": "Remove Certificate",
        "operationId": "PullZonePublic_RemoveCertificate",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the requested Pull Zone",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "The certificate was successfuly removed"
          },
          "400": {
            "description": "Failed removing certificate",
            "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 Pull Zone with the requested ID was not found"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIManage",
              "SubuserAPIPullZones",
              "SubuserManage",
              "SubuserPullZones",
              "User",
              "UserApi"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveCertificateRequestModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/RemoveCertificateRequestModel"
              }
            }
          },
          "required": true
        }
      }
    },
    "/pullzone/{id}/removeHostname": {
      "delete": {
        "tags": [
          "Pull Zone"
        ],
        "summary": "Remove Custom Hostname",
        "operationId": "PullZonePublic_RemoveHostname",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the requested Pull Zone",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "The hostname was successfully removed"
          },
          "400": {
            "description": "Failed removing hostname",
            "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 Pull Zone with the requested ID was not found"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIManage",
              "SubuserAPIPullZones",
              "SubuserManage",
              "SubuserPullZones",
              "User",
              "UserApi"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveHostnameRequestModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/RemoveHostnameRequestModel"
              }
            }
          },
          "required": true
        }
      }
    },
    "/videolibrary": {
      "get": {
        "tags": [
          "Stream Video Library"
        ],
        "summary": "List Video Libraries",
        "operationId": "VideoLibraryPublic_Index",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "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"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The list of Video Libraries on the account",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginationListModelOfVideoLibraryModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PaginationListModelOfVideoLibraryModel"
                }
              }
            }
          },
          "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",
              "SubuserAPIStream",
              "SubuserManage",
              "SubuserStream",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "The list of Video Libraries on the account"
      },
      "post": {
        "tags": [
          "Stream Video Library"
        ],
        "summary": "Add Video Library",
        "operationId": "VideoLibraryPublic_Add",
        "parameters": [],
        "responses": {
          "200": {
            "description": "The added video library",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VideoLibraryModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/VideoLibraryModel"
                }
              }
            }
          },
          "400": {
            "description": "Failed to add video library",
            "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": [
              "SubuserAPIManage",
              "SubuserAPIStream",
              "SubuserManage",
              "SubuserStream",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "The added video library",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VideoLibraryCreateModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/VideoLibraryCreateModel"
              }
            }
          },
          "required": true
        }
      }
    },
    "/videolibrary/{id}": {
      "get": {
        "tags": [
          "Stream Video Library"
        ],
        "summary": "Get Video Library",
        "operationId": "VideoLibraryPublic_Index2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the Video Library that will be returned",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "The requested video library",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VideoLibraryModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/VideoLibraryModel"
                }
              }
            }
          },
          "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 Video Library with the requested ID does not exist"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIManage",
              "SubuserAPIStream",
              "SubuserManage",
              "SubuserStream",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "The requested video library"
      },
      "post": {
        "tags": [
          "Stream Video Library"
        ],
        "summary": "Update Video Library",
        "operationId": "VideoLibraryPublic_Update",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "The requested video library has been successfuly deleted",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VideoLibraryModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/VideoLibraryModel"
                }
              }
            }
          },
          "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 Video Library with the requested ID does not exist"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIManage",
              "SubuserAPIStream",
              "SubuserManage",
              "SubuserStream",
              "User",
              "UserApi"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VideoLibraryUpdateModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/VideoLibraryUpdateModel"
              }
            }
          },
          "required": true
        }
      },
      "delete": {
        "tags": [
          "Stream Video Library"
        ],
        "summary": "Delete Video Library",
        "operationId": "VideoLibraryPublic_Delete",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the Video Library that should be deleted",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "The requested video library has been successfuly deleted",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VideoLibraryModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/VideoLibraryModel"
                }
              }
            }
          },
          "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 Video Library with the requested ID does not exist"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIManage",
              "SubuserAPIStream",
              "SubuserManage",
              "SubuserStream",
              "User",
              "UserApi"
            ]
          }
        ]
      }
    },
    "/videolibrary/languages": {
      "get": {
        "tags": [
          "Stream Video Library"
        ],
        "summary": "Get Languages",
        "operationId": "VideoLibraryPublic_Index3",
        "parameters": [],
        "responses": {
          "200": {
            "description": "A list of language information objects",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VideoLibraryModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/VideoLibraryModel"
                }
              }
            }
          },
          "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",
              "SubuserAPIStream",
              "SubuserManage",
              "SubuserStream",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "A list of language information objects"
      }
    },
    "/videolibrary/resetApiKey": {
      "post": {
        "tags": [
          "Stream Video Library"
        ],
        "summary": "Reset API Key",
        "operationId": "VideoLibraryPublic_ResetPassword",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "The ID of the video library that should have the API key reset",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "The API key has been successfully changed"
          },
          "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 Video Library with the requested ID does not exist"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIManage",
              "SubuserAPIStream",
              "SubuserManage",
              "SubuserStream",
              "User",
              "UserApi"
            ]
          }
        ]
      }
    },
    "/videolibrary/{id}/resetApiKey": {
      "post": {
        "tags": [
          "Stream Video Library"
        ],
        "summary": "Reset API Key",
        "operationId": "VideoLibraryPublic_ResetPassword2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the video library that should have the API key reset",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "The API key has been successfully changed"
          },
          "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 Video Library with the requested ID does not exist"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIManage",
              "SubuserAPIStream",
              "SubuserManage",
              "SubuserStream",
              "User",
              "UserApi"
            ]
          }
        ]
      }
    },
    "/videolibrary/resetReadOnlyApiKey": {
      "post": {
        "tags": [
          "Stream Video Library"
        ],
        "summary": "Reset Read Only API Key",
        "operationId": "VideoLibraryPublic_ResetReadOnlyApiKey",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "The ID of the video library that should have the read only API key reset",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "The Read Only API key has been successfully changed"
          },
          "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 Video Library with the requested ID does not exist"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIManage",
              "SubuserAPIStream",
              "SubuserManage",
              "SubuserStream",
              "User",
              "UserApi"
            ]
          }
        ]
      }
    },
    "/videolibrary/{id}/resetReadOnlyApiKey": {
      "post": {
        "tags": [
          "Stream Video Library"
        ],
        "summary": "Reset Read Only API Key",
        "operationId": "VideoLibraryPublic_ResetReadOnlyApiKey2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the video library that should have the read only API key reset",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "The Read Only API key has been successfully changed"
          },
          "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 Video Library with the requested ID does not exist"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIManage",
              "SubuserAPIStream",
              "SubuserManage",
              "SubuserStream",
              "User",
              "UserApi"
            ]
          }
        ]
      }
    },
    "/videolibrary/{id}/addAllowedReferrer": {
      "post": {
        "tags": [
          "Stream Video Library"
        ],
        "summary": "Add Allowed Referer",
        "operationId": "VideoLibraryPublic_AddAllowedReferrer",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the requested Video Library",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "The allowed referer was successfuly removed"
          },
          "400": {
            "description": "Failed to remove allowed referer",
            "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 Pull Zone with the requested ID was not found"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIManage",
              "SubuserAPIStream",
              "SubuserManage",
              "SubuserStream",
              "User",
              "UserApi"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddAllowedReferrerRequestModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/AddAllowedReferrerRequestModel"
              }
            }
          },
          "required": true
        }
      }
    },
    "/videolibrary/{id}/removeAllowedReferrer": {
      "post": {
        "tags": [
          "Stream Video Library"
        ],
        "summary": "Remove Allowed Referer",
        "operationId": "VideoLibraryPublic_RemoveAllowedReferrer",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the requested Video Library",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "The allowed referer was successfuly removed"
          },
          "400": {
            "description": "Failed to remove allowed referer",
            "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 Pull Zone with the requested ID was not found"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIManage",
              "SubuserAPIStream",
              "SubuserManage",
              "SubuserStream",
              "User",
              "UserApi"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddBlockedReferrerRequestModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/AddBlockedReferrerRequestModel"
              }
            }
          },
          "required": true
        }
      }
    },
    "/videolibrary/{id}/addBlockedReferrer": {
      "post": {
        "tags": [
          "Stream Video Library"
        ],
        "summary": "Add Blocked Referer",
        "operationId": "VideoLibraryPublic_AddBlockedReferrer",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the requested Video Library",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "The blocked referer was successfuly removed"
          },
          "400": {
            "description": "Failed to remove blocked referer",
            "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 Pull Zone with the requested ID was not found"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIManage",
              "SubuserAPIStream",
              "SubuserManage",
              "SubuserStream",
              "User",
              "UserApi"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveAllowedReferrerRequestModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/RemoveAllowedReferrerRequestModel"
              }
            }
          },
          "required": true
        }
      }
    },
    "/videolibrary/{id}/removeBlockedReferrer": {
      "post": {
        "tags": [
          "Stream Video Library"
        ],
        "summary": "Remove Blocked Referer",
        "operationId": "VideoLibraryPublic_RemoveBlockedReferrer",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the requested Video Library",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "The blocked referer was successfuly removed"
          },
          "400": {
            "description": "Failed to remove blocked referer",
            "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 Pull Zone with the requested ID was not found"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIManage",
              "SubuserAPIStream",
              "SubuserManage",
              "SubuserStream",
              "User",
              "UserApi"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveBlockedReferrerRequestModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/RemoveBlockedReferrerRequestModel"
              }
            }
          },
          "required": true
        }
      }
    },
    "/videolibrary/{id}/watermark": {
      "put": {
        "tags": [
          "Stream Video Library"
        ],
        "summary": "Add Watermark",
        "operationId": "VideoLibraryPublic_AddWatermark",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the requested Video Library",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "The watermark has been successfuly 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 Video Library with the requested ID does not exist"
          },
          "413": {
            "description": "The uploaded file was too large"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIManage",
              "SubuserAPIStream",
              "SubuserManage",
              "SubuserStream",
              "User",
              "UserApi"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "Stream Video Library"
        ],
        "summary": "Delete Watermark",
        "operationId": "VideoLibraryPublic_DeleteWatermark",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the requested Video Library",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "The watermark has been successfuly deleted",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VideoLibraryModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/VideoLibraryModel"
                }
              }
            }
          },
          "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 Video Library with the requested ID does not exist"
          },
          "413": {
            "description": "The uploaded file was too large"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIManage",
              "SubuserAPIStream",
              "SubuserManage",
              "SubuserStream",
              "User",
              "UserApi"
            ]
          }
        ]
      }
    },
    "/storagezone": {
      "get": {
        "tags": [
          "Storage Zone"
        ],
        "summary": "List Storage Zones",
        "operationId": "StorageZonePublic_Index",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "perPage",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int32",
              "minimum": 5,
              "maximum": 1000,
              "default": 1000
            }
          },
          {
            "name": "includeDeleted",
            "in": "query",
            "description": "",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "search",
            "in": "query",
            "description": "The search term that will be used to filter the results",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the model determinining if the zone is available or not"
          },
          "400": {
            "description": "Failed checking the zone availability",
            "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": [
              "SubuserAPIManage",
              "SubuserAPIStorage",
              "SubuserManage",
              "SubuserStorage",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "Returns the model determinining if the zone is available or not"
      },
      "post": {
        "tags": [
          "Storage Zone"
        ],
        "summary": "Add Storage Zone",
        "operationId": "StorageZonePublic_Add",
        "parameters": [],
        "responses": {
          "201": {
            "description": "The storage zone that was added",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StorageZoneModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StorageZoneModel"
                }
              }
            }
          },
          "400": {
            "description": "Failed adding the Storage Zone. 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": [
              "SubuserAPIManage",
              "SubuserAPIStorage",
              "SubuserManage",
              "SubuserStorage",
              "User",
              "UserApi"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StorageZoneModelAdd"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/StorageZoneModelAdd"
              }
            }
          },
          "required": true
        }
      }
    },
    "/storagezone/{id}": {
      "get": {
        "tags": [
          "Storage Zone"
        ],
        "summary": "Get Storage Zone",
        "operationId": "StorageZonePublic_Index2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the Storage Zone that should be returned",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "The Storage Zone with the given ID",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StorageZoneModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StorageZoneModel"
                }
              }
            }
          },
          "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 Storage Zone with the requested ID does not exist"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIManage",
              "SubuserAPIStorage",
              "SubuserManage",
              "SubuserStorage",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "The Storage Zone with the given ID"
      },
      "post": {
        "tags": [
          "Storage Zone"
        ],
        "summary": "Update Storage Zone",
        "operationId": "StorageZonePublic_Update",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the storage zone that should be updated",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "The storage zone was successfuly updated"
          },
          "400": {
            "description": "Failed configuring the Storage Zone. 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"
          },
          "404": {
            "description": "The Storage Zone with the requested ID does not exist"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIManage",
              "SubuserAPIStorage",
              "SubuserManage",
              "SubuserStorage",
              "User",
              "UserApi"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StorageZoneSettingsModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/StorageZoneSettingsModel"
              }
            }
          },
          "required": true
        }
      },
      "delete": {
        "tags": [
          "Storage Zone"
        ],
        "summary": "Delete Storage Zone",
        "operationId": "StorageZonePublic_Delete",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The Storage Zone ID that should be deleted",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          },
          {
            "name": "deleteLinkedPullZones",
            "in": "query",
            "description": "Deletes all pull zones linked to this storage zone (default behavior)",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The Storage Zone was successfully deleted"
          },
          "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 Storage Zone with the requested ID does not exist"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIManage",
              "SubuserAPIStorage",
              "SubuserManage",
              "SubuserStorage",
              "User",
              "UserApi"
            ]
          }
        ]
      }
    },
    "/storagezone/checkavailability": {
      "post": {
        "tags": [
          "Storage Zone"
        ],
        "summary": "Check the storage zone availability",
        "operationId": "StorageZonePublic_CheckAvailability",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Returns the model determinining if the zone is available or not"
          },
          "400": {
            "description": "Failed checking the zone availability",
            "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": [
              "SubuserAPIManage",
              "SubuserAPIStorage",
              "SubuserManage",
              "SubuserStorage",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "Returns the model determinining if the zone is available or not",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ZoneAvailabilityRequestModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ZoneAvailabilityRequestModel"
              }
            }
          },
          "required": true
        }
      }
    },
    "/storagezone/{id}/resetPassword": {
      "post": {
        "tags": [
          "Storage Zone"
        ],
        "summary": "Reset Password",
        "operationId": "StorageZonePublic_ResetPassword",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the storage zone that should have the password reset",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "The password has been successfuly changed"
          },
          "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 Storage Zone with the requested ID does not exist"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIManage",
              "SubuserAPIStorage",
              "SubuserManage",
              "SubuserStorage",
              "User",
              "UserApi"
            ]
          }
        ]
      }
    },
    "/storagezone/resetReadOnlyPassword": {
      "post": {
        "tags": [
          "Storage Zone"
        ],
        "summary": "Reset Read-Only Password",
        "operationId": "StorageZonePublic_ResetReadOnlyPassword",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "The ID of the storage zone that should have the read-only password reset",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "The read-only password has been successfuly changed."
          },
          "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 Storage Zone with the requested ID does not exist"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIManage",
              "SubuserAPIStorage",
              "SubuserManage",
              "SubuserStorage",
              "User",
              "UserApi"
            ]
          }
        ]
      }
    },
    "/region": {
      "get": {
        "tags": [
          "Region"
        ],
        "summary": "Region list",
        "operationId": "RegionPublic_Index",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Returns the list of region codes",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RegionModel"
                  }
                }
              },
              "application/xml": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RegionModel"
                  }
                }
              }
            }
          },
          "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": "Returns the list of region codes"
      }
    },
    "/purge": {
      "post": {
        "tags": [
          "Purge"
        ],
        "summary": "Purge URL",
        "operationId": "PurgePublic_IndexPost",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "description": "The URL that will be purged from cache.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "async",
            "in": "query",
            "description": "(Optional) Determines if the call should wait for the purge logic to complete",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The purge request was successfully processed."
          },
          "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": [
              "InternalApi",
              "SubuserAPIManage",
              "SubuserAPIPullZones",
              "SubuserManage",
              "SubuserPullZones",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "The purge request was successfully processed."
      }
    },
    "/videolibrary/{id}/transcribing/statistics": {
      "get": {
        "tags": [
          "Stream Video Library"
        ],
        "summary": "Get Video Library Transcribing Statistics",
        "operationId": "GetTranscribingStatistics_Statistics",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the video library for which the transcribing 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 14 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, current date will be used",
            "x-nullable": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the statistics for the video library with the given ID",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VideoLibraryTranscriptionStatisticsModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/VideoLibraryTranscriptionStatisticsModel"
                }
              }
            }
          },
          "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 video library with the requested ID does not exist"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIManage",
              "SubuserAPIStream",
              "SubuserManage",
              "SubuserStream",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "Returns the statistics for the video library with the given ID"
      }
    },
    "/videolibrary/{id}/drm/statistics": {
      "get": {
        "tags": [
          "Stream Video Library"
        ],
        "summary": "Get Video Library DRM Statistics",
        "operationId": "GetDrmStatisticsEndpoint_Statistics",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the video library for which the DRM 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 14 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, current date will be used",
            "x-nullable": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the statistics for the video library with the given ID",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VideoLibraryDrmStatisticsModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/VideoLibraryDrmStatisticsModel"
                }
              }
            }
          },
          "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 video library with the requested ID does not exist"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIManage",
              "SubuserAPIStream",
              "SubuserManage",
              "SubuserStream",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "Returns the statistics for the video library with the given ID"
      }
    },
    "/videolibrary/{id}/live/watermark": {
      "put": {
        "tags": [
          "Stream Video Library"
        ],
        "summary": "Add Live Watermark",
        "operationId": "AddLiveWatermark_AddWatermark",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the requested Video Library",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "The watermark has been successfully uploaded"
          },
          "400": {
            "description": "The request body is empty or invalid"
          },
          "401": {
            "description": "The request authorization failed"
          },
          "404": {
            "description": "The Video Library with the requested ID does not exist"
          },
          "413": {
            "description": "The uploaded file was too large (max 10 MB)"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIManage",
              "SubuserAPIStream",
              "SubuserManage",
              "SubuserStream",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "Add Live Watermark",
        "x-hidden": true
      },
      "delete": {
        "tags": [
          "Stream Video Library"
        ],
        "summary": "Delete Live Watermark",
        "operationId": "DeleteLiveWatermark_DeleteWatermark",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the requested Video Library",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "The watermark has been successfully deleted"
          },
          "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 Video Library with the requested ID does not exist"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIManage",
              "SubuserAPIStream",
              "SubuserManage",
              "SubuserStream",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "Delete Live Watermark",
        "x-hidden": true
      }
    },
    "/videolibrary/{id}/live/thumbnail": {
      "delete": {
        "tags": [
          "Stream Video Library"
        ],
        "summary": "Delete Live Thumbnail",
        "operationId": "DeleteLiveThumbnail_DeleteThumbnail",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the requested Video Library",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "The thumbnail has been successfully deleted"
          },
          "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 Video Library with the requested ID does not exist"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIManage",
              "SubuserAPIStream",
              "SubuserManage",
              "SubuserStream",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "Delete Live Thumbnail",
        "x-hidden": true
      },
      "put": {
        "tags": [
          "Stream Video Library"
        ],
        "summary": "Add Live Thumbnail",
        "operationId": "AddLiveThumbnail_AddThumbnail",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the requested Video Library",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "The thumbnail has been successfully uploaded"
          },
          "400": {
            "description": "The request body is empty or invalid"
          },
          "401": {
            "description": "The request authorization failed"
          },
          "404": {
            "description": "The Video Library with the requested ID does not exist"
          },
          "413": {
            "description": "The uploaded file was too large (max 10 MB)"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIManage",
              "SubuserAPIStream",
              "SubuserManage",
              "SubuserStream",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "Add Live Thumbnail",
        "x-hidden": true
      }
    },
    "/storagezone/{id}/statistics": {
      "get": {
        "tags": [
          "Storage Zone"
        ],
        "summary": "Get Storage Zone Statistics",
        "operationId": "StorageZonePublic_StorageZoneStatistics",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the storage zone",
            "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"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The statistics data for the passed parameters.",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StorageZoneStatisticsModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StorageZoneStatisticsModel"
                }
              }
            }
          },
          "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"
          },
          "403": {
            "description": "The user does not have rights to access this resource"
          },
          "404": {
            "description": "The StorageZone has not been found"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIManage",
              "SubuserAPIStatistics",
              "SubuserManage",
              "SubuserStatistics",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "The statistics data for the passed parameters."
      }
    },
    "/dnszone/{id}/statistics": {
      "get": {
        "tags": [
          "DNS Zone"
        ],
        "summary": "Get DNS Query Statistics",
        "operationId": "DnsZonePublic_Statistics",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the DNS Zone 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"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the statistics for the DNS Zone with the given ID",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DnsZoneStatisticsModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/DnsZoneStatisticsModel"
                }
              }
            }
          },
          "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 DNS Zone with the requested ID does not exist"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIDns",
              "SubuserAPIManage",
              "SubuserDns",
              "SubuserManage",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "Returns the statistics for the DNS Zone with the given ID"
      }
    },
    "/dnszone/{zoneId}/records/scan": {
      "get": {
        "tags": [
          "DNS Zone"
        ],
        "summary": "Get the latest DNS record scan result for a DNS Zone",
        "operationId": "TriggerDnsZoneRecordScan_GetLatestScan",
        "parameters": [
          {
            "name": "zoneId",
            "in": "path",
            "description": "The DNS Zone ID",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Latest DNS record scan job details",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DnsZoneRecordScanJobResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/DnsZoneRecordScanJobResponse"
                }
              }
            }
          },
          "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": "No scan found or DNS Zone not found"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIDns",
              "SubuserAPIManage",
              "SubuserDns",
              "SubuserManage",
              "User",
              "UserApi"
            ]
          }
        ]
      }
    },
    "/dnszone/records/scan": {
      "post": {
        "tags": [
          "DNS Zone"
        ],
        "summary": "Trigger a background scan for pre-existing DNS records. Can use ZoneId for existing zones or Domain for pre-zone creation scenarios.",
        "operationId": "TriggerDnsZoneRecordScan_TriggerScan",
        "parameters": [],
        "responses": {
          "200": {
            "description": "DNS record scan job triggered successfully",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DnsZoneRecordScanTriggerResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/DnsZoneRecordScanTriggerResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request - either ZoneId or Domain must be provided, but not both"
          },
          "401": {
            "description": "The request authorization failed"
          },
          "404": {
            "description": "The DNS Zone with the requested ID does not exist"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIDns",
              "SubuserAPIManage",
              "SubuserDns",
              "SubuserManage",
              "User",
              "UserApi"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TriggerDnsZoneRecordScanRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/TriggerDnsZoneRecordScanRequest"
              }
            }
          },
          "required": true
        }
      }
    },
    "/dnszone/{id}/dnssec": {
      "post": {
        "tags": [
          "DNS Zone"
        ],
        "summary": "Enable DNSSEC on a DNS Zone",
        "operationId": "ManageDnsZoneDnsSecEndpoint_EnableDnsSecDnsZone",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the DNS Zone for which DNSSEC will be enabled",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the DS record information for the DNS Zone with the given ID",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DnsSecDsRecordModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/DnsSecDsRecordModel"
                }
              }
            }
          },
          "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 DNS Zone with the requested ID does not exist"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIDns",
              "SubuserAPIManage",
              "SubuserDns",
              "SubuserManage",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "Returns the DS record information for the DNS Zone with the given ID"
      },
      "delete": {
        "tags": [
          "DNS Zone"
        ],
        "summary": "Disable DNSSEC on a DNS Zone",
        "operationId": "ManageDnsZoneDnsSecEndpoint_DisableDnsSecDnsZone",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the DNS Zone for which DNSSEC will be disabled",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Disables DNSSEC for the DNS Zone with the given ID",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DnsSecDsRecordModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/DnsSecDsRecordModel"
                }
              }
            }
          },
          "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 DNS Zone with the requested ID does not exist"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIDns",
              "SubuserAPIManage",
              "SubuserDns",
              "SubuserManage",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "Disables DNSSEC for the DNS Zone with the given ID"
      }
    },
    "/user/closeaccount": {
      "post": {
        "tags": [
          "User"
        ],
        "summary": "CloseAccount",
        "operationId": "CloseAccount_CloseAccount",
        "parameters": [],
        "responses": {
          "200": {
            "description": "The account was successfully closed",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CloseAccountResponseModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CloseAccountResponseModel"
                }
              }
            }
          },
          "400": {
            "description": "Failed closing the account",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CloseAccountResponseModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CloseAccountResponseModel"
                }
              }
            }
          },
          "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 account was successfully closed",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CloseAccountRequestModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/CloseAccountRequestModel"
              }
            }
          },
          "required": true
        }
      }
    },
    "/user/audit/{date}": {
      "get": {
        "tags": [
          "User"
        ],
        "summary": "GetUserAuditLog",
        "operationId": "GetUserAuditLog_GetUserAuditLog",
        "parameters": [
          {
            "name": "date",
            "in": "path",
            "description": "",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "required": true
          },
          {
            "name": "request",
            "in": "query",
            "description": "",
            "schema": {
              "$ref": "#/components/schemas/GetUserAuditLogRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The list of audit log entries",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetUserAuditLogResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/GetUserAuditLogResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorData"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorData"
                }
              }
            }
          },
          "401": {
            "description": "The request authentication failed"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "Subuser",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "The list of audit log entries"
      }
    },
    "/statistics": {
      "get": {
        "tags": [
          "Statistics"
        ],
        "summary": "Get Statistics",
        "operationId": "StatisticsPublic_Index",
        "parameters": [
          {
            "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": "pullZone",
            "in": "query",
            "description": "(Optional) If set, the statistics will be only returned for the given Pull Zone",
            "schema": {
              "type": "integer",
              "format": "int64",
              "default": "-1"
            }
          },
          {
            "name": "serverZoneId",
            "in": "query",
            "description": "(Optional) If set, the statistics will be only returned for the given region ID",
            "schema": {
              "type": "integer",
              "format": "int64",
              "default": "-1"
            }
          },
          {
            "name": "loadErrors",
            "in": "query",
            "description": "(Optional) If set, the respose will contain the non-2xx response",
            "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
            }
          },
          {
            "name": "loadOriginResponseTimes",
            "in": "query",
            "description": "Load Origin Response Times",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "loadOriginTraffic",
            "in": "query",
            "description": "Load Origin Traffic",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "loadRequestsServed",
            "in": "query",
            "description": "Load Requests Served",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "loadBandwidthUsed",
            "in": "query",
            "description": "Load Bandwidth Used",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "loadOriginShieldBandwidth",
            "in": "query",
            "description": "Load Origin Shield Bandwidth",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "loadGeographicTrafficDistribution",
            "in": "query",
            "description": "Load Geographic Traffic Distribution",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "loadUserBalanceHistory",
            "in": "query",
            "description": "Load User Balance History",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The statistics data for the passed parameters.",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StatisticsModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StatisticsModel"
                }
              }
            }
          },
          "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",
              "SubuserAPIStatistics",
              "SubuserManage",
              "SubuserStatistics",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "The statistics data for the passed parameters."
      }
    },
    "/apikey": {
      "get": {
        "tags": [
          "API Keys"
        ],
        "summary": "List API Keys",
        "operationId": "ApiKeyPublic_ListApiKeys",
        "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
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The list of all API keys on the account",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginationListModelOfApiKeyModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PaginationListModelOfApiKeyModel"
                }
              }
            }
          },
          "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": [
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "The list of all API keys on the account"
      }
    },
    "/search": {
      "get": {
        "tags": [
          "Search"
        ],
        "summary": "GlobalSearchEndpoint",
        "operationId": "SearchPublic_GlobalSearchEndpoint",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 20
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The list of platfom-wide search results",
            "x-nullable": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResultsModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResultsModel"
                }
              }
            }
          },
          "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"
          },
          "429": {
            "description": "Too Many Requests"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "503": {
            "description": "The service is currently unavailable"
          }
        },
        "security": [
          {
            "AccessKey": [
              "SubuserAPIManage",
              "SubuserManage",
              "User",
              "UserApi"
            ]
          }
        ],
        "description": "The list of platfom-wide search results"
      }
    }
  },
  "components": {
    "schemas": {
      "AffiliateBalanceRecordModel": {
        "type": "object",
        "description": "Model definition for AffiliateBalanceRecordModel"
      },
      "CloseAccountRequestModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Password": {
            "type": "string",
            "nullable": true
          },
          "Reason": {
            "type": "string",
            "nullable": true
          }
        },
        "description": "The model used to request account closing"
      },
      "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"
      },
      "PrivateKeyUpdateModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Hostname": {
            "type": "string",
            "nullable": true
          },
          "KeyType": {
            "$ref": "#/components/schemas/PrivateKeyType"
          }
        },
        "required": [
          "Hostname",
          "KeyType"
        ]
      },
      "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"
        ]
      },
      "static": {
        "type": "object",
        "description": "Model definition for static"
      },
      "RemoveBlockedReferrerRequestModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Hostname": {
            "type": "string",
            "nullable": true,
            "description": "The hostname that will be removed as a blocked referer"
          }
        },
        "required": [
          "Hostname"
        ],
        "description": "The model used for removing new existing blocked referer hostnames"
      },
      "LogAnonymizationType": {
        "type": "string",
        "description": "0 = OneDigit<br/>1 = Drop",
        "x-enumNames": [
          "OneDigit",
          "Drop"
        ],
        "enum": [
          "OneDigit",
          "Drop"
        ],
        "x-enum-varnames": [
          "OneDigit",
          "Drop"
        ],
        "example": "OneDigit"
      },
      "StorageZoneStatisticsModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "StorageUsedChart": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int64"
            },
            "nullable": true,
            "description": "The constructed chart of the storage used by day"
          },
          "FileCountChart": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int64"
            },
            "nullable": true,
            "description": "The constructed chart of requests stored"
          }
        }
      },
      "StorageZoneModelAdd": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Name": {
            "type": "string",
            "nullable": true,
            "description": "The name of the storage zone"
          },
          "Region": {
            "type": "string",
            "nullable": true,
            "description": "The code of the main storage zone region (Possible values: DE, NY, LA, SG)"
          },
          "ReplicationRegions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "description": "The code of the main storage zone region (Possible values: DE, NY, LA, SG, SYD)"
          },
          "ZoneTier": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/StorageZoneTier"
              }
            ],
            "description": "Determines the storage zone tier that will be storing the data"
          },
          "StorageZoneType": {
            "description": "The Storage Zone S3 support type",
            "allOf": [
              {
                "$ref": "#/components/schemas/StorageZoneS3Type"
              }
            ]
          }
        },
        "required": [
          "Name",
          "Region"
        ]
      },
      "DnsZoneRecordScanJobResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "JobId": {
            "type": "string",
            "format": "uuid"
          },
          "ZoneId": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "Domain": {
            "type": "string",
            "nullable": true
          },
          "AccountId": {
            "type": "string",
            "nullable": true
          },
          "Status": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/DnsZoneScanJobStatus"
              }
            ]
          },
          "CreatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "CompletedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "Records": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DnsZoneDiscoveredRecordModel"
            },
            "nullable": true
          },
          "Error": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "JobId"
        ]
      },
      "PaginationListModelOfDnsZoneModel": {
        "type": "object",
        "required": [
          "CurrentPage",
          "TotalItems",
          "HasMoreItems"
        ],
        "properties": {
          "Items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DnsZoneModel"
            }
          },
          "CurrentPage": {
            "type": "integer",
            "format": "int32"
          },
          "TotalItems": {
            "type": "integer",
            "format": "int32"
          },
          "HasMoreItems": {
            "type": "boolean"
          }
        }
      },
      "PullZonePurgeModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "CacheTag": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "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"
      },
      "PaginationListModelOfPullZoneModel": {
        "type": "object",
        "required": [
          "CurrentPage",
          "TotalItems",
          "HasMoreItems"
        ],
        "properties": {
          "Items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PullZoneModel"
            }
          },
          "CurrentPage": {
            "type": "integer",
            "format": "int32"
          },
          "TotalItems": {
            "type": "integer",
            "format": "int32"
          },
          "HasMoreItems": {
            "type": "boolean"
          }
        }
      },
      "BunnyAiImageBlueprintModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Name": {
            "type": "string",
            "nullable": true
          },
          "Properties": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true
          }
        }
      },
      "CertificateType": {
        "type": "string",
        "description": "0 = FairPlay<br/>1 = Widevine",
        "x-enumNames": [
          "FairPlay",
          "Widevine"
        ],
        "enum": [
          "FairPlay",
          "Widevine"
        ],
        "x-enum-varnames": [
          "FairPlay",
          "Widevine"
        ],
        "example": "FairPlay"
      },
      "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"
        ]
      },
      "RemoveAllowedReferrerRequestModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Hostname": {
            "type": "string",
            "nullable": true,
            "description": "The hostname that will be removed as an allowed referer"
          }
        },
        "required": [
          "Hostname"
        ],
        "description": "The model used for removing new allowed referer hostnames"
      },
      "ExecutionPhase": {
        "type": "string",
        "description": "0 = Cache<br/>1 = LoadBalancer",
        "x-enumNames": [
          "Cache",
          "LoadBalancer"
        ],
        "enum": [
          "Cache",
          "LoadBalancer"
        ],
        "x-enum-varnames": [
          "Cache",
          "LoadBalancer"
        ],
        "example": "Cache"
      },
      "StorageZoneTier": {
        "type": "string",
        "description": "0 = Standard<br/>1 = Edge",
        "x-enumNames": [
          "Standard",
          "Edge"
        ],
        "enum": [
          "Standard",
          "Edge"
        ],
        "x-enum-varnames": [
          "Standard",
          "Edge"
        ],
        "example": "Standard"
      },
      "VideoLibraryDrmStatisticsModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "TotalLicensesIssued": {
            "type": "integer",
            "format": "int64"
          },
          "LicensesIssuedChart": {
            "type": "object",
            "additionalProperties": {
              "type": "number",
              "format": "double"
            },
            "nullable": true
          }
        },
        "required": [
          "TotalLicensesIssued"
        ]
      },
      "AbuseCaseUrlModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Url": {
            "type": "string",
            "nullable": true
          },
          "Status": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/AbuseUrlStatus"
              }
            ]
          }
        }
      },
      "AddBlockedIpRequestModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "BlockedIp": {
            "type": "string",
            "nullable": true,
            "description": "The IP that will be blocked from accessing the pull zone"
          }
        },
        "required": [
          "BlockedIp"
        ],
        "description": "The model used for adding new blocked Ips"
      },
      "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"
      },
      "ServerZoneResultsModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "ServerZoneId": {
            "type": "integer",
            "format": "int64"
          },
          "Results": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/ServerZoneStatisticsModel"
            },
            "nullable": true
          }
        },
        "required": [
          "ServerZoneId"
        ]
      },
      "BunnyCDN": {
        "type": "object",
        "description": "Model definition for BunnyCDN"
      },
      "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"
      },
      "UpdateDnsRecordModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DnsRecordTypes"
              }
            ],
            "nullable": true
          },
          "Ttl": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "Value": {
            "type": "string"
          },
          "Name": {
            "type": "string"
          },
          "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"
          },
          "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"
          },
          "SmartRoutingType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DnsSmartRoutingType"
              }
            ],
            "nullable": true
          },
          "Disabled": {
            "type": "boolean",
            "nullable": true
          },
          "EnviromentalVariables": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DnsRecordEnviromentalVariableModel"
            }
          },
          "Comment": {
            "type": "string"
          },
          "AutoSslIssuance": {
            "type": "boolean",
            "nullable": true
          },
          "Id": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "Id"
        ]
      },
      "CloseAccountResponseModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Success": {
            "type": "boolean"
          },
          "Message": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "Success"
        ],
        "description": "The model used as a reqsponse to the close account request"
      },
      "GetUserAuditLogRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Product": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "ResourceType": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "ResourceId": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "ActorId": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "Order": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/LogOrdering"
              }
            ]
          },
          "ContinuationToken": {
            "type": "string",
            "nullable": true
          },
          "Limit": {
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "maximum": 10000
          }
        },
        "required": [
          "Limit"
        ]
      },
      "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"
        ]
      },
      "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"
      },
      "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"
      },
      "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"
          }
        }
      },
      "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"
        ]
      },
      "SearchResultsModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Query": {
            "type": "string",
            "nullable": true,
            "description": "The input query for the search request"
          },
          "Total": {
            "type": "integer",
            "format": "int32",
            "description": "The total number of search results found matching the query"
          },
          "From": {
            "type": "integer",
            "format": "int32",
            "description": "The number of results skipped in the search query"
          },
          "Size": {
            "type": "integer",
            "format": "int32",
            "description": "The size of the result set"
          },
          "SearchResults": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SearchResultItemModel"
            },
            "nullable": true,
            "description": "The list of search results found for the query"
          }
        },
        "required": [
          "Total",
          "From",
          "Size"
        ]
      },
      "ConnectedGithubAccountModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int64"
          },
          "Name": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "Id"
        ]
      },
      "AddAllowedReferrerRequestModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Hostname": {
            "type": "string",
            "nullable": true,
            "description": "The hostname that will be added as an allowed referer"
          }
        },
        "required": [
          "Hostname"
        ],
        "description": "The model used for adding new allowed referer hostnames"
      },
      "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"
        ]
      },
      "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"
      },
      "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"
      },
      "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"
      },
      "SafeHopStatisticsModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "RequestsRetriedChart": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int64"
            },
            "nullable": true,
            "description": "The constructed chart of requests retried"
          },
          "RequestsSavedChart": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int64"
            },
            "nullable": true,
            "description": "The constructed chart of requests saved"
          },
          "TotalRequestsRetried": {
            "type": "number",
            "format": "double",
            "description": "The total number of retried requests"
          },
          "TotalRequestsSaved": {
            "type": "number",
            "format": "double",
            "description": "The total number of saved requests"
          }
        },
        "required": [
          "TotalRequestsRetried",
          "TotalRequestsSaved"
        ]
      },
      "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"
        ]
      },
      "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"
        ]
      },
      "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
          }
        }
      },
      "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"
        ]
      },
      "AddBlockedReferrerRequestModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Hostname": {
            "type": "string",
            "nullable": true,
            "description": "The hostname that will be added as a blocked referer"
          }
        },
        "required": [
          "Hostname"
        ],
        "description": "The model used for adding new blocked referer hostnames"
      },
      "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"
      },
      "PrivateKeyType": {
        "type": "string",
        "description": "0 = Ecdsa<br/>1 = Rsa",
        "x-enumNames": [
          "Ecdsa",
          "Rsa"
        ],
        "enum": [
          "Ecdsa",
          "Rsa"
        ],
        "x-enum-varnames": [
          "Ecdsa",
          "Rsa"
        ],
        "example": "Ecdsa"
      },
      "StorageZoneSettingsModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "ReplicationZones": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "description": "The list of replication zones enabld for the storage zone"
          },
          "OriginUrl": {
            "type": "string",
            "nullable": true,
            "description": "The origin URL of the storage zone"
          },
          "Custom404FilePath": {
            "type": "string",
            "nullable": true,
            "description": "The path to the custom file that will be returned in a case of 404"
          },
          "Rewrite404To200": {
            "type": "boolean",
            "nullable": true,
            "description": "Rewrite 404 status code to 200 for URLs without extension"
          }
        }
      },
      "CountryModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Name": {
            "type": "string",
            "nullable": true
          },
          "IsoCode": {
            "type": "string",
            "nullable": true
          },
          "IsEU": {
            "type": "boolean"
          },
          "TaxRate": {
            "type": "number",
            "format": "decimal"
          },
          "TaxPrefix": {
            "type": "string",
            "nullable": true
          },
          "FlagUrl": {
            "type": "string",
            "nullable": true
          },
          "PopList": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "required": [
          "IsEU",
          "TaxRate"
        ]
      },
      "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"
        ]
      },
      "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"
      },
      "RemoveHostnameRequestModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Hostname": {
            "type": "string",
            "nullable": true,
            "description": "The hostname that will be removed"
          }
        },
        "required": [
          "Hostname"
        ],
        "description": "The model used for adding new hostnames to a pull zone"
      },
      "VideoLibraryUpdateModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "RtmpOutputs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RtmpOutput"
            },
            "nullable": true,
            "description": "Up to 4 default RTMP outputs for live streams"
          },
          "Name": {
            "type": "string",
            "nullable": true,
            "description": "(Optional) Sets name of the video library"
          },
          "CustomHTML": {
            "type": "string",
            "nullable": true,
            "description": "(Optional) Sets the player custom HTML code"
          },
          "PlayerKeyColor": {
            "type": "string",
            "nullable": true,
            "description": "(Optional) Sets the player key control color"
          },
          "EnableTokenAuthentication": {
            "type": "boolean",
            "nullable": true,
            "description": "(Optional) Determines if the token authentication should be enabled"
          },
          "EnableTokenIPVerification": {
            "type": "boolean",
            "nullable": true,
            "description": "(Optional) Determines if the token IP verification should be enabled"
          },
          "ResetToken": {
            "type": "boolean",
            "nullable": true,
            "description": "(Optional) Set to true to reset the CDN and embed view token key"
          },
          "WatermarkPositionLeft": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "(Optional) Sets the left offset of the watermark position (in %)"
          },
          "WatermarkPositionTop": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "(Optional) Sets the top offset of the watermark position (in %)"
          },
          "WatermarkWidth": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "(Optional) Sets the width of the watermark (in %)"
          },
          "WatermarkHeight": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "(Optional) Sets the height of the watermark (in %)"
          },
          "EnabledResolutions": {
            "type": "string",
            "nullable": true,
            "description": "(Optional) Sets the enabled resolutions for the transcoding. At least one resolution should be enabled. Possible values: 240p, 360p, 480p, 720p, 1080p, 1440p, 2160p"
          },
          "ViAiPublisherId": {
            "type": "string",
            "nullable": true,
            "description": "(Optional) Sets the vi.ai publisher ID"
          },
          "VastTagUrl": {
            "type": "string",
            "nullable": true,
            "description": "(Optional) Sets the Vast tag URL"
          },
          "WebhookUrl": {
            "type": "string",
            "nullable": true,
            "description": "(Optional) Sets the webhook API url"
          },
          "CaptionsFontSize": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "(Optional) Sets the captions display font size"
          },
          "CaptionsFontColor": {
            "type": "string",
            "nullable": true,
            "description": "(Optional) Sets the captions display font color"
          },
          "CaptionsBackground": {
            "type": "string",
            "nullable": true,
            "description": "(Optional) Sets the captions display background color"
          },
          "UILanguage": {
            "type": "string",
            "nullable": true,
            "description": "(Optional) Sets the UI language of the video player."
          },
          "AllowEarlyPlay": {
            "type": "boolean",
            "nullable": true,
            "description": "(Optional) Determines if the Early-Play feature should be enabled. Enabling this will enable Expose Originals."
          },
          "PlayerTokenAuthenticationEnabled": {
            "type": "boolean",
            "nullable": true,
            "description": "(Optional) Determines if the token authentication should be enabled."
          },
          "BlockNoneReferrer": {
            "type": "boolean",
            "nullable": true,
            "description": "(Optional) Determines if requests without a referer should be blocked."
          },
          "EnableMP4Fallback": {
            "type": "boolean",
            "nullable": true,
            "description": "(Optional) Determines if MP4 fallback should be enabled for this library."
          },
          "KeepOriginalFiles": {
            "type": "boolean",
            "nullable": true,
            "description": "(Optional) Determines if the original file should be kept after the video is processed."
          },
          "AllowDirectPlay": {
            "type": "boolean",
            "nullable": true,
            "description": "(Optional) Determines if direct play URLs should be enabled for the library"
          },
          "EnableDRM": {
            "type": "boolean",
            "nullable": true,
            "description": "(Optional) Determines if MediaCage DRM should be enabled for this library"
          },
          "DrmVersion": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DrmVersion"
              }
            ],
            "nullable": true,
            "description": "(Optional) Determines MediaCage DRM version to be used for this library"
          },
          "Controls": {
            "type": "string",
            "nullable": true,
            "description": "(Optional) The comma separated list of controls that will be displayed in the video player. Possible values: play-large, play, progress, current-time, mute, volume, captions, settings, pip, airplay, fullscreen."
          },
          "PlaybackSpeeds": {
            "type": "string",
            "nullable": true,
            "description": "(Optional) The comma separated list of playback speeds that will be available in the video player. Possible values: 0.25,0.5,0.75,1.0,1.25,1.5,1.75,2.0,2.5,3,3.5,4"
          },
          "Bitrate240p": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "(Optional) The bitrate used for encoding 240p videos"
          },
          "Bitrate360p": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "(Optional) The bitrate used for encoding 360p videos"
          },
          "Bitrate480p": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "(Optional) The bitrate used for encoding 480p videos"
          },
          "Bitrate720p": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "(Optional) The bitrate used for encoding 720p videos"
          },
          "Bitrate1080p": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "(Optional) The bitrate used for encoding 1080p videos"
          },
          "Bitrate1440p": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "(Optional) The bitrate used for encoding 1440p videos"
          },
          "Bitrate2160p": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "(Optional) The bitrate used for encoding 2160p videos"
          },
          "ShowHeatmap": {
            "type": "boolean",
            "nullable": true,
            "description": "(Optional) Determines if the video watch heatmap should be displayed in the player."
          },
          "EnableContentTagging": {
            "type": "boolean",
            "nullable": true,
            "description": "(Optional) Determines if content tagging should be enabled for this library."
          },
          "FontFamily": {
            "type": "string",
            "nullable": true,
            "description": "(Optional) The captions font family."
          },
          "EnableTranscribing": {
            "type": "boolean",
            "nullable": true,
            "description": "(Optional) Determines if the automatic audio transcribing is currently enabled for this zone."
          },
          "EnableTranscribingTitleGeneration": {
            "type": "boolean",
            "nullable": true,
            "description": "(Optional) Determines if automatic transcribing title generation is currently enabled."
          },
          "EnableTranscribingDescriptionGeneration": {
            "type": "boolean",
            "nullable": true,
            "description": "(Optional) Determines if automatic transcribing description generation is currently enabled."
          },
          "EnableTranscribingChaptersGeneration": {
            "type": "boolean",
            "nullable": true,
            "description": "(Optional) Determines if automatic transcribing chapters generation is currently enabled."
          },
          "EnableTranscribingMomentsGeneration": {
            "type": "boolean",
            "nullable": true,
            "description": "(Optional) Determines if automatic transcribing moments generation is currently enabled."
          },
          "TranscribingCaptionLanguages": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "description": "(Optional) The list of languages that the captions will be automatically transcribed to."
          },
          "EnableCaptionsInPlaylist": {
            "type": "boolean",
            "nullable": true,
            "description": "(Optional) 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",
            "nullable": true,
            "description": "(Optional) Determines if the player will automatically remember the playback position."
          },
          "EnableMultiAudioTrackSupport": {
            "type": "boolean",
            "nullable": true,
            "description": "(Optional) Determines if multiple output audio track support is enabled on video library."
          },
          "UseSeparateAudioStream": {
            "type": "boolean",
            "nullable": true,
            "description": "(Optional) Determines whether output audio stream should be split from video stream segments."
          },
          "JitEncodingEnabled": {
            "type": "boolean",
            "nullable": true,
            "description": "(Optional) Determines whether JIT encoding should be used for the library. Supported in premium encoding only."
          },
          "EncodingTier": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EncodingTier"
              }
            ],
            "nullable": true,
            "description": "(Optional) 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": "(Optional) 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."
          },
          "AppleFairPlayDrm": {
            "type": "object",
            "description": "(Optional) Configure Apple FairPlay DRM. Works only if Enterprise DRM is set up.",
            "properties": {
              "Enabled": {
                "type": "boolean",
                "nullable": true,
                "description": "(Optional) Enables or disables Apple FairPlay Enterprise DRM"
              }
            }
          },
          "GoogleWidevineDrm": {
            "type": "object",
            "description": "(Optional) Configure Google Widevine DRM. Works only if Enterprise DRM is set up.",
            "properties": {
              "Enabled": {
                "type": "boolean",
                "nullable": true,
                "description": "(Optional) Enables or disables Google Widevine Enterprise DRM"
              },
              "SdOnlyForL3": {
                "type": "boolean",
                "nullable": true,
                "description": "(Optional) Only allow audio and SD access to Widevine L3 clients"
              },
              "MinClientSecurityLevel": {
                "$ref": "#/components/schemas/WidevineMinClientSecurityLevel",
                "description": "(Optional) Minimum Client Security Level (1 being most secure, 3 least secure and is default)"
              }
            }
          },
          "PlayerVersion": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "(Optional) Sets player version used for this library"
          },
          "RemoveMetadataFromFallbackVideos": {
            "type": "boolean",
            "nullable": true,
            "description": "(Optional) Marks whether all potential video metadata should be removed from the fallback files"
          },
          "ScaleVideoUsingBothDimensions": {
            "type": "boolean",
            "nullable": true,
            "description": "(Optional) Marks whether videos should be scaled using both dimensions. Prevents videos being upscaled or unexpected aspect ratio changes."
          },
          "ExposeOriginals": {
            "type": "boolean",
            "nullable": true,
            "description": "(Optional) Marks whether original video files should be exposed via CDN. Originals are not protected by DRM. Enabling Early-Play will enable this."
          },
          "ExposeVideoMetadata": {
            "type": "boolean",
            "nullable": true,
            "description": "(Optional) Marks whether video metadata in form of schema meta tags and LD+JSON should be exposed."
          }
        }
      },
      "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"
      },
      "RemoveBlockedIpRequestModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "BlockedIp": {
            "type": "string",
            "nullable": true,
            "description": "The IP that will be removed fromt he block list"
          }
        },
        "required": [
          "BlockedIp"
        ],
        "description": "The model used for removing blocked Ips"
      },
      "DnsZoneStatisticsModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "TotalQueriesServed": {
            "type": "integer",
            "format": "int64"
          },
          "QueriesServedChart": {
            "type": "object",
            "additionalProperties": {
              "type": "number",
              "format": "double"
            },
            "nullable": true
          },
          "NormalQueriesServedChart": {
            "type": "object",
            "additionalProperties": {
              "type": "number",
              "format": "double"
            },
            "nullable": true
          },
          "SmartQueriesServedChart": {
            "type": "object",
            "additionalProperties": {
              "type": "number",
              "format": "double"
            },
            "nullable": true
          },
          "QueriesByTypeChart": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int64"
            },
            "nullable": true
          }
        },
        "required": [
          "TotalQueriesServed"
        ]
      },
      "GithubRepositoryModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int64"
          },
          "Name": {
            "type": "string",
            "nullable": true
          },
          "Private": {
            "type": "boolean"
          }
        },
        "required": [
          "Id",
          "Private"
        ]
      },
      "VideoLibraryTranscriptionStatisticsModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "TotalTranscriptionSeconds": {
            "type": "integer",
            "format": "int64"
          },
          "TranscriptionSecondsChart": {
            "type": "object",
            "additionalProperties": {
              "type": "number",
              "format": "double"
            },
            "nullable": true
          }
        },
        "required": [
          "TotalTranscriptionSeconds"
        ]
      },
      "DnsZoneAddModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Domain": {
            "type": "string",
            "nullable": true,
            "description": "The domain that will be added."
          },
          "Records": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AddDnsRecordModel"
            },
            "nullable": true,
            "description": "Optional array of DNS records to add when creating the zone."
          }
        },
        "required": [
          "Domain"
        ]
      },
      "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"
      },
      "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"
        ]
      },
      "PreloadingScreenTheme": {
        "type": "string",
        "description": "0 = Light<br/>1 = Dark",
        "x-enumNames": [
          "Light",
          "Dark"
        ],
        "enum": [
          "Light",
          "Dark"
        ],
        "x-enum-varnames": [
          "Light",
          "Dark"
        ],
        "example": "Light"
      },
      "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"
      },
      "IssueWildcardCertificateRequestModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Domain": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "GetUserAuditLogResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Logs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserAuditLog"
            },
            "nullable": true
          },
          "HasMoreData": {
            "type": "boolean"
          },
          "ContinuationToken": {
            "type": "string",
            "nullable": true
          },
          "StartToken": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "HasMoreData"
        ]
      },
      "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"
          }
        }
      },
      "EncodingTier": {
        "type": "string",
        "description": "0 = Free<br/>1 = Premium",
        "x-enumNames": [
          "Free",
          "Premium"
        ],
        "enum": [
          "Free",
          "Premium"
        ],
        "x-enum-varnames": [
          "Free",
          "Premium"
        ],
        "example": "Free"
      },
      "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
          }
        }
      },
      "RegionModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int64",
            "description": "The unique ID of the region"
          },
          "Name": {
            "type": "string",
            "nullable": true,
            "description": "The display name of the region"
          },
          "PricePerGigabyte": {
            "type": "number",
            "format": "decimal",
            "description": "The traffic pricing per gigabyte for the region"
          },
          "RegionCode": {
            "type": "string",
            "nullable": true,
            "description": "The region short code"
          },
          "ContinentCode": {
            "type": "string",
            "nullable": true,
            "description": "The continent code of the region"
          },
          "CountryCode": {
            "type": "string",
            "nullable": true,
            "description": "The country code of the region"
          },
          "Latitude": {
            "type": "number",
            "format": "double",
            "description": "The latitude coordinate for this region"
          },
          "Longitude": {
            "type": "number",
            "format": "double",
            "description": "The longitude coordinate for this region"
          },
          "AllowLatencyRouting": {
            "type": "boolean",
            "description": "Determines weather this region can be selected as a DNS latency routing region"
          }
        },
        "required": [
          "Id",
          "PricePerGigabyte",
          "Latitude",
          "Longitude",
          "AllowLatencyRouting"
        ]
      },
      "StickySessionType": {
        "type": "string",
        "enum": [
          "Off",
          "On"
        ],
        "x-enumNames": [
          "Off",
          "On"
        ],
        "description": "0 = Off<br/>1 = On",
        "example": "Off"
      },
      "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"
        ]
      },
      "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"
        ]
      },
      "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"
        ]
      },
      "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"
        ]
      },
      "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"
      },
      "ZoneAvailabilityRequestModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Name": {
            "type": "string",
            "nullable": true,
            "description": "Determines the name of the zone that we are checking"
          }
        }
      },
      "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"
      },
      "OptimizerStatisticsModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "RequestsOptimizedChart": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int64"
            },
            "nullable": true,
            "description": "The constructed chart of optimized requests"
          },
          "AverageCompressionChart": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int64"
            },
            "nullable": true,
            "description": "Average compression chart of the responses"
          },
          "TrafficSavedChart": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int64"
            },
            "nullable": true,
            "description": "The constructed chart of saved traffic"
          },
          "AverageProcessingTimeChart": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int64"
            },
            "nullable": true,
            "description": "The constructed chart of saved traffic"
          },
          "TotalRequestsOptimized": {
            "type": "number",
            "format": "double",
            "description": "The total number of optimized requests"
          },
          "TotalTrafficSaved": {
            "type": "number",
            "format": "double",
            "description": "The total requests saved"
          },
          "AverageProcessingTime": {
            "type": "number",
            "format": "double",
            "description": "The average processing time of each request"
          },
          "AverageCompressionRatio": {
            "type": "number",
            "format": "double",
            "description": "The average compression ratio of CDN responses"
          }
        },
        "required": [
          "TotalRequestsOptimized",
          "TotalTrafficSaved",
          "AverageProcessingTime",
          "AverageCompressionRatio"
        ]
      },
      "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"
      },
      "DnsRecordEnviromentalVariableModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Name": {
            "type": "string",
            "nullable": true
          },
          "Value": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "GithubRepositoryBranchModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Name": {
            "type": "string",
            "nullable": true
          },
          "Protected": {
            "type": "boolean"
          },
          "Default": {
            "type": "boolean"
          }
        },
        "required": [
          "Protected",
          "Default"
        ]
      },
      "ForceSSLRequestModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Hostname": {
            "type": "string",
            "nullable": true,
            "description": "The hostname that will be updated"
          },
          "ForceSSL": {
            "type": "boolean",
            "description": "Set to true to force SSL on the given pull zone hostname"
          }
        },
        "required": [
          "Hostname",
          "ForceSSL"
        ],
        "description": "The model used for setting the Force SSL setting"
      },
      "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"
        ]
      },
      "UpdateDnsZoneModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "CustomNameserversEnabled": {
            "type": "boolean",
            "nullable": true
          },
          "Nameserver1": {
            "type": "string",
            "nullable": true
          },
          "Nameserver2": {
            "type": "string",
            "nullable": true
          },
          "SoaEmail": {
            "type": "string",
            "nullable": true,
            "format": "email"
          },
          "LoggingEnabled": {
            "type": "boolean",
            "nullable": true
          },
          "LogAnonymizationType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LogAnonymizationType"
              }
            ],
            "nullable": true,
            "description": "Gets the log anonymization type for this zone"
          },
          "CertificateKeyType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PrivateKeyType"
              }
            ],
            "nullable": true,
            "description": "Sets the certificate private key type for wildcard certificates for this zone"
          },
          "LoggingIPAnonymizationEnabled": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the log anonoymization should be enabled"
          }
        }
      },
      "DnsSecDsRecordModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Enabled": {
            "type": "boolean"
          },
          "DsRecord": {
            "type": "string",
            "nullable": true
          },
          "Digest": {
            "type": "string",
            "nullable": true
          },
          "DigestType": {
            "type": "string",
            "nullable": true
          },
          "Algorithm": {
            "type": "integer",
            "format": "int32"
          },
          "PublicKey": {
            "type": "string",
            "nullable": true
          },
          "KeyTag": {
            "type": "integer",
            "format": "int32"
          },
          "Flags": {
            "type": "integer",
            "format": "int32"
          },
          "DsConfigured": {
            "type": "boolean"
          }
        },
        "required": [
          "Enabled",
          "Algorithm",
          "KeyTag",
          "Flags",
          "DsConfigured"
        ]
      },
      "PermaCacheType": {
        "type": "string",
        "description": "0 = Automatic<br/>1 = Manual",
        "x-enumNames": [
          "Automatic",
          "Manual"
        ],
        "enum": [
          "Automatic",
          "Manual"
        ],
        "x-enum-varnames": [
          "Automatic",
          "Manual"
        ],
        "example": "Automatic"
      },
      "TriggerDnsZoneRecordScanRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "ZoneId": {
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "description": "The ID of the DNS Zone to scan. Either ZoneId or Domain must be provided, but not both."
          },
          "Domain": {
            "type": "string",
            "nullable": true,
            "description": "The domain name to scan. Either ZoneId or Domain must be provided, but not both. Can be used even before creating the DNS zone."
          }
        }
      },
      "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"
      },
      "AddHostnameRequestModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Hostname": {
            "type": "string",
            "nullable": true,
            "description": "The hostname that will be added"
          }
        },
        "required": [
          "Hostname"
        ],
        "description": "The model used for adding new hostnames to a pull zone"
      },
      "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"
        ]
      },
      "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
          }
        }
      },
      "PullZoneType": {
        "type": "string",
        "description": "0 = Premium<br/>1 = Volume",
        "x-enumNames": [
          "Premium",
          "Volume"
        ],
        "enum": [
          "Premium",
          "Volume"
        ],
        "x-enum-varnames": [
          "Premium",
          "Volume"
        ],
        "example": "Premium"
      },
      "OriginShieldConcurrencyStatisticsModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "ConcurrentRequestsChart": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int64"
            },
            "nullable": true,
            "description": "The constructed chart of origin shield concurrent requests"
          },
          "QueuedRequestsChart": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int64"
            },
            "nullable": true,
            "description": "The constructed chart of origin shield requests chart"
          }
        }
      },
      "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"
      },
      "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"
      },
      "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"
      },
      "StorageZoneS3Type": {
        "type": "string",
        "description": "0 = NotSupported<br/>1 = Supported",
        "x-enumNames": [
          "NotSupported",
          "Supported"
        ],
        "enum": [
          "NotSupported",
          "Supported"
        ],
        "x-enum-varnames": [
          "NotSupported",
          "Supported"
        ],
        "example": "NotSupported"
      },
      "ToggleRequestModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int64"
          },
          "Value": {
            "type": "boolean"
          }
        },
        "required": [
          "Id",
          "Value"
        ],
        "description": "ToggleRequestModel is used for toggle switches and contains an ID and on/off value"
      },
      "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"
        ]
      },
      "PaginationListModelOfApiKeyModel": {
        "type": "object",
        "required": [
          "CurrentPage",
          "TotalItems",
          "HasMoreItems"
        ],
        "properties": {
          "Items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ApiKeyModel"
            }
          },
          "CurrentPage": {
            "type": "integer",
            "format": "int32"
          },
          "TotalItems": {
            "type": "integer",
            "format": "int32"
          },
          "HasMoreItems": {
            "type": "boolean"
          }
        }
      },
      "DnsZoneImportResultModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "RecordsSuccessful": {
            "type": "integer",
            "format": "int32"
          },
          "RecordsFailed": {
            "type": "integer",
            "format": "int32"
          },
          "RecordsSkipped": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "RecordsSuccessful",
          "RecordsFailed",
          "RecordsSkipped"
        ]
      },
      "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"
        ]
      },
      "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"
        ]
      },
      "SimpleStatistics": {
        "type": "object",
        "description": "Model definition for SimpleStatistics"
      },
      "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"
      },
      "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"
        ]
      },
      "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"
        ]
      },
      "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"
      },
      "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"
        ]
      },
      "PullZoneSettingsModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "OriginUrl": {
            "type": "string",
            "nullable": true,
            "description": "Sets the origin URL of the Pull Zone"
          },
          "AllowedReferrers": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "description": "Sets 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": "Sets the list of referrer hostnames that are blocked from accessing the pull zone."
          },
          "BlockNoneReferrer": {
            "type": "boolean",
            "nullable": true
          },
          "BlockedIps": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "description": "Sets 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",
            "nullable": true,
            "description": "Determines if the delivery from the North America region should be enabled for this pull zone"
          },
          "EnableGeoZoneEU": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the delivery from the Europe region should be enabled for this pull zone"
          },
          "EnableGeoZoneASIA": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the delivery from the Asia / Oceania regions should be enabled for this pull zone"
          },
          "EnableGeoZoneSA": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the delivery from the South America region should be enabled for this pull zone"
          },
          "EnableGeoZoneAF": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the delivery from the Africa region should be enabled for this pull zone"
          },
          "BlockRootPathAccess": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the zone should block requests to the root of the zone."
          },
          "BlockPostRequests": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the POST requests to this zone should be rejected."
          },
          "EnableQueryStringOrdering": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the query string ordering should be enabled."
          },
          "EnableWebpVary": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the WebP Vary feature should be enabled."
          },
          "EnableAvifVary": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the AVIF Vary feature should be enabled."
          },
          "EnableMobileVary": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the Mobile Vary feature is enabled."
          },
          "EnableCountryCodeVary": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the Country Code Vary feature should be enabled."
          },
          "EnableCountryStateCodeVary": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the Country State Code Vary feature should be enabled."
          },
          "EnableHostnameVary": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the Hostname Vary feature should be enabled."
          },
          "EnableCacheSlice": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if cache slicing (Optimize for video) should be enabled for this zone"
          },
          "ZoneSecurityEnabled": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the zone token authentication security should be enabled"
          },
          "ZoneSecurityIncludeHashRemoteIP": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the token authentication IP validation should be enabled"
          },
          "IgnoreQueryStrings": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the Pull Zone should ignore query strings when serving cached objects (Vary by Query String)"
          },
          "MonthlyBandwidthLimit": {
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "description": "Sets the monthly limit of bandwidth in bytes that the pullzone is allowed to use"
          },
          "AccessControlOriginHeaderExtensions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "description": "Sets the list of extensions that will return the CORS headers"
          },
          "EnableAccessControlOriginHeader": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if CORS headers should be enabled"
          },
          "DisableCookies": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the Pull Zone should automatically remove cookies from the responses"
          },
          "BudgetRedirectedCountries": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "description": "Sets the list of two letter Alpha2 country codes that will be redirected to the cheapest possible region"
          },
          "BlockedCountries": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "description": "Sets the list of two letter Alpha2 country codes that will be blocked from accessing the zone"
          },
          "CacheControlMaxAgeOverride": {
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "description": "Sets the cache control override setting for this zone"
          },
          "CacheControlPublicMaxAgeOverride": {
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "description": "Sets the browser cache control override setting for this zone"
          },
          "CacheControlBrowserMaxAgeOverride": {
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "description": "(Deprecated) Sets the browser cache control override setting for this zone"
          },
          "AddHostHeader": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the zone should forward the requested host header to the origin"
          },
          "AddCanonicalHeader": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the canonical header should be added by this zone"
          },
          "EnableLogging": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the logging should be enabled for this zone"
          },
          "LoggingIPAnonymizationEnabled": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the log anonoymization should be enabled"
          },
          "PermaCacheStorageZoneId": {
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "description": "The ID of the storage zone that should be used as the Perma-Cache"
          },
          "PermaCacheType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PermaCacheType"
              }
            ],
            "nullable": true,
            "description": "Determines Perma-Cache behavior"
          },
          "AWSSigningEnabled": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the AWS signing should be enabled or not"
          },
          "AWSSigningKey": {
            "type": "string",
            "nullable": true,
            "description": "Sets the AWS signing key"
          },
          "AWSSigningRegionName": {
            "type": "string",
            "nullable": true,
            "description": "Sets the AWS signing region name"
          },
          "AWSSigningSecret": {
            "type": "string",
            "nullable": true,
            "description": "Sets the AWS signing secret key"
          },
          "EnableOriginShield": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the origin shield should be enabled"
          },
          "OriginShieldZoneCode": {
            "type": "string",
            "nullable": true,
            "description": "Determines the zone code where the origin shield should be set up"
          },
          "EnableTLS1": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the TLS 1 should be enabled on this zone"
          },
          "EnableTLS1_1": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the TLS 1.1 should be enabled on this zone"
          },
          "CacheErrorResponses": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the cache error responses should be enabled on the zone"
          },
          "VerifyOriginSSL": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the SSL certificate should be verified when connecting to the origin"
          },
          "LogForwardingEnabled": {
            "type": "boolean",
            "nullable": true,
            "description": "Sets the log forwarding token for the zone"
          },
          "LogForwardingHostname": {
            "type": "string",
            "nullable": true,
            "description": "Sets the log forwarding destination hostname for the zone"
          },
          "LogForwardingPort": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "Sets the log forwarding port for the zone"
          },
          "LogForwardingToken": {
            "type": "string",
            "nullable": true,
            "description": "Sets the log forwarding token for the zone"
          },
          "LogForwardingProtocol": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PullZoneLogForwarderProtocolType"
              }
            ],
            "nullable": true,
            "description": "Sets the log forwarding protocol type"
          },
          "LoggingSaveToStorage": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the logging permanent storage should be enabled"
          },
          "LoggingStorageZoneId": {
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "description": "Sets the Storage Zone id that should contain the logs from this Pull Zone"
          },
          "FollowRedirects": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the zone should follow redirects return by the oprigin and cache the response"
          },
          "ConnectionLimitPerIPCount": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "Determines the maximum number of connections per IP that will be allowed to connect to this Pull Zone"
          },
          "RequestLimit": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "Determines the maximum number of requests per second that will be allowed to connect to this Pull Zone"
          },
          "LimitRateAfter": {
            "type": "number",
            "format": "double",
            "nullable": true,
            "description": "Determines the amount of traffic transferred before the client is limited"
          },
          "LimitRatePerSecond": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "Determines the maximum number of requests per second coming from a single IP before it is blocked."
          },
          "BurstSize": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "Determines the maximum burst requests before an IP is blocked"
          },
          "ErrorPageEnableCustomCode": {
            "type": "boolean",
            "nullable": true,
            "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",
            "nullable": true,
            "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",
            "nullable": true,
            "description": "Determines if the error pages should be whitelabel or not"
          },
          "OptimizerEnabled": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the optimizer should be enabled for this zone"
          },
          "OptimizerTunnelEnabled": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the optimizer origin tunnel system should be enabled for this zone"
          },
          "OptimizerDesktopMaxWidth": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "minimum": 0,
            "maximum": 5000,
            "description": "Determines the maximum automatic image size for desktop clients"
          },
          "OptimizerMobileMaxWidth": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "minimum": 0,
            "maximum": 5000,
            "description": "Determines the maximum automatic image size for mobile clients"
          },
          "OptimizerImageQuality": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "minimum": 1,
            "maximum": 100,
            "description": "Determines the image quality for desktop clients"
          },
          "OptimizerMobileImageQuality": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "minimum": 1,
            "maximum": 100,
            "description": "Determines the image quality for mobile clients"
          },
          "OptimizerEnableWebP": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the WebP optimization should be enabled"
          },
          "OptimizerPrerenderHtml": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the SEO HTML prerender should be enabled"
          },
          "OptimizerEnableManipulationEngine": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines the image manipulation should be enabled"
          },
          "OptimizerMinifyCSS": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the CSS minifcation should be enabled"
          },
          "OptimizerMinifyJavaScript": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the JavaScript minifcation should be enabled"
          },
          "OptimizerWatermarkEnabled": {
            "type": "boolean",
            "nullable": true,
            "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",
            "nullable": true,
            "description": "Sets the offset of the watermark image"
          },
          "OptimizerWatermarkMinImageSize": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "Sets the minimum image size to which the watermark will be added"
          },
          "OptimizerAutomaticOptimizationEnabled": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the automatic image optimization should be enabled"
          },
          "OptimizerClasses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PullZoneOptimizerClassModel"
            },
            "nullable": true,
            "description": "Determines the list of optimizer classes"
          },
          "OptimizerForceClasses": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the optimizer classes should be forced"
          },
          "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"
          },
          "Type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PullZoneType"
              }
            ],
            "nullable": true,
            "description": "The type of the pull zone. Premium = 0, Volume = 1"
          },
          "OriginRetries": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "The number of retries to the origin server"
          },
          "OriginConnectTimeout": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "The amount of seconds to wait when connecting to the origin. Otherwise the request will fail or retry."
          },
          "OriginResponseTimeout": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "The amount of seconds to wait when waiting for the origin reply. Otherwise the request will fail or retry."
          },
          "UseStaleWhileUpdating": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if we should use stale cache while cache is updating"
          },
          "UseStaleWhileOffline": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if we should use stale cache while the origin is offline"
          },
          "OriginRetry5XXResponses": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if we should retry the request in case of a 5XX response."
          },
          "OriginRetryConnectionTimeout": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if we should retry the request in case of a connection timeout."
          },
          "OriginRetryResponseTimeout": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if we should retry the request in case of a response timeout."
          },
          "OriginRetryDelay": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "Determines the amount of time that the CDN should wait before retrying an origin request."
          },
          "DnsOriginPort": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "Determines the origin port of the pull zone."
          },
          "DnsOriginScheme": {
            "type": "string",
            "nullable": true,
            "description": "Determines the origin scheme of the pull zone."
          },
          "QueryStringVaryParameters": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "OriginShieldEnableConcurrencyLimit": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the origin shield concurrency limit is enabled."
          },
          "OriginShieldMaxConcurrentRequests": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "minimum": 1,
            "maximum": 10000,
            "description": "Determines the number of maximum concurrent requests allowed to the origin."
          },
          "EnableCookieVary": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the Cookie Vary feature is enabled."
          },
          "CookieVaryParameters": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "EnableSafeHop": {
            "type": "boolean",
            "nullable": true
          },
          "OriginShieldQueueMaxWaitTime": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "Determines the max queue wait time"
          },
          "OriginShieldMaxQueuedRequests": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "minimum": 0,
            "maximum": 30000,
            "description": "Determines the max number of origin requests that will remain in the queue"
          },
          "UseBackgroundUpdate": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if cache update is performed in the background."
          },
          "EnableAutoSSL": {
            "type": "boolean",
            "nullable": true,
            "description": "If set to true, any hostnames added to this Pull Zone will automatically enable SSL."
          },
          "LogAnonymizationType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LogAnonymizationType"
              }
            ],
            "nullable": true,
            "description": "Sets the log anonymization type for this pull zone"
          },
          "StorageZoneId": {
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "description": "The ID of the storage zone that will be used as the origin"
          },
          "EdgeScriptId": {
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "description": "The ID of the edge script that will be used as the origin"
          },
          "MiddlewareScriptId": {
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "description": "The ID of the middleware script"
          },
          "EdgeScriptExecutionPhase": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExecutionPhase"
              }
            ],
            "nullable": true,
            "description": "The execution phase of the edge script"
          },
          "OriginType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PullZoneOriginType"
              }
            ],
            "nullable": true,
            "description": "Determine the type of the origin for this Pull Zone"
          },
          "MagicContainersAppId": {
            "type": "string",
            "nullable": true
          },
          "MagicContainersEndpointId": {
            "type": "string",
            "nullable": true
          },
          "LogFormat": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PullZoneLogFormat"
              }
            ],
            "nullable": true
          },
          "LogForwardingFormat": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PullZoneLogFormat"
              }
            ],
            "nullable": true
          },
          "ShieldDDosProtectionType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ShieldDDosProtectionType"
              }
            ],
            "nullable": true
          },
          "ShieldDDosProtectionEnabled": {
            "type": "boolean",
            "nullable": true
          },
          "OriginHostHeader": {
            "type": "string",
            "nullable": true,
            "description": "Sets the host header that will be sent to the origin"
          },
          "EnableSmartCache": {
            "type": "boolean",
            "nullable": true
          },
          "EnableRequestCoalescing": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if request coalescing is currently enabled."
          },
          "RequestCoalescingTimeout": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "Determines the lock time for coalesced requests."
          },
          "DisableLetsEncrypt": {
            "type": "boolean",
            "nullable": true,
            "description": "If set to true, the built-in let's encrypt will be disabled and requests are passed to the origin."
          },
          "EnableBunnyImageAi": {
            "type": "boolean",
            "nullable": true
          },
          "BunnyAiImageBlueprints": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BunnyAiImageBlueprintModel"
            },
            "nullable": true
          },
          "PreloadingScreenEnabled": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the preloading screen is currently enabled"
          },
          "PreloadingScreenCode": {
            "type": "string",
            "nullable": true,
            "description": "The custom preloading screen coed"
          },
          "PreloadingScreenLogoUrl": {
            "type": "string",
            "nullable": true,
            "description": "The preloading screen logo URL"
          },
          "PreloadingScreenShowOnFirstVisit": {
            "type": "boolean",
            "description": "Determines if the preloading screen is shown on the first load from a user."
          },
          "PreloadingScreenTheme": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PreloadingScreenTheme"
              }
            ],
            "nullable": true,
            "description": "The currently configured preloading screem theme. (0 - Light, 1 - Dark)"
          },
          "PreloadingScreenCodeEnabled": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the custom preloader screen should be enabled"
          },
          "PreloadingScreenDelay": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "minimum": 0,
            "maximum": 10000,
            "description": "The delay in miliseconds after which the preloading screen will be displayed (0 - 10000ms)"
          },
          "RoutingFilters": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "description": "The list of routing filters enabled for this zone"
          },
          "StickySessionType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StickySessionType"
              }
            ],
            "nullable": true,
            "description": "Whether to use a Sticky Session mechanism for this pull zone"
          },
          "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"
          },
          "OptimizerEnableUpscaling": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if Optimizer should automatically upscale images"
          },
          "EnableWebSockets": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if WebSocket connections are allowed for this Pull Zone."
          },
          "MaxWebSocketConnections": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "required": [
          "PreloadingScreenShowOnFirstVisit"
        ]
      },
      "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"
      },
      "SupportTicketUploadAttachmentModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Body": {
            "type": "integer",
            "minimum": 0,
            "maximum": 255
          },
          "FileName": {
            "type": "string",
            "nullable": true
          },
          "ContentType": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "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"
        ]
      },
      "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"
        ]
      },
      "AddCertificateRequestModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Hostname": {
            "type": "string",
            "nullable": true,
            "description": "The hostname to which the hostname will be added"
          },
          "Certificate": {
            "type": "string",
            "nullable": true,
            "description": "The Base64 encoded binary data of the certificate file"
          },
          "CertificateKey": {
            "type": "string",
            "nullable": true,
            "description": "The Base64 encoded binary data of the certificate key file"
          }
        },
        "required": [
          "Hostname",
          "Certificate",
          "CertificateKey"
        ],
        "description": "The model used for adding new hostnames to a pull zone"
      },
      "StatisticsModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "TotalBandwidthUsed": {
            "type": "integer",
            "format": "int64"
          },
          "TotalOriginTraffic": {
            "type": "integer",
            "format": "int64",
            "description": "The total amount of traffic received from the origin"
          },
          "AverageOriginResponseTime": {
            "type": "integer",
            "format": "int32",
            "description": "The median response time origin"
          },
          "OriginResponseTimeChart": {
            "type": "object",
            "additionalProperties": {
              "type": "number",
              "format": "double"
            },
            "nullable": true,
            "description": "The constructed origin response time chart data"
          },
          "TotalRequestsServed": {
            "type": "integer",
            "format": "int64",
            "description": "The total requests served by the response in the given time range"
          },
          "CacheHitRate": {
            "type": "number",
            "format": "double",
            "description": "The average cache hit rate in the response in the given time range"
          },
          "BandwidthUsedChart": {
            "type": "object",
            "additionalProperties": {
              "type": "number",
              "format": "double"
            },
            "nullable": true,
            "description": "The constructed bandwdidth used chart data"
          },
          "BandwidthCachedChart": {
            "type": "object",
            "additionalProperties": {
              "type": "number",
              "format": "double"
            },
            "nullable": true,
            "description": "The constructed cached bandwdidth used chart data"
          },
          "CacheHitRateChart": {
            "type": "object",
            "additionalProperties": {
              "type": "number",
              "format": "double"
            },
            "nullable": true,
            "description": "The constructed cache hit rate chart data"
          },
          "RequestsServedChart": {
            "type": "object",
            "additionalProperties": {
              "type": "number",
              "format": "double"
            },
            "nullable": true,
            "description": "The constructed requests served chart data"
          },
          "PullRequestsPulledChart": {
            "type": "object",
            "additionalProperties": {
              "type": "number",
              "format": "double"
            },
            "nullable": true,
            "description": "The constructed uncached requests served chart data"
          },
          "OriginShieldBandwidthUsedChart": {
            "type": "object",
            "additionalProperties": {
              "type": "number",
              "format": "double"
            },
            "nullable": true,
            "description": "The constructed origin shield bandwdidth used chart data"
          },
          "OriginShieldInternalBandwidthUsedChart": {
            "type": "object",
            "additionalProperties": {
              "type": "number",
              "format": "double"
            },
            "nullable": true,
            "description": "The constructed origin shield internal bandwdidth used chart data"
          },
          "OriginTrafficChart": {
            "type": "object",
            "additionalProperties": {
              "type": "number",
              "format": "double"
            },
            "nullable": true,
            "description": "The constructed origin traffic used chart data"
          },
          "UserBalanceHistoryChart": {
            "type": "object",
            "additionalProperties": {
              "type": "number",
              "format": "double"
            },
            "nullable": true,
            "description": "The constructed user balance history chart data"
          },
          "GeoTrafficDistribution": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int64"
            },
            "nullable": true,
            "description": "The geo traffic distribution data"
          },
          "Error3xxChart": {
            "type": "object",
            "additionalProperties": {
              "type": "number",
              "format": "double"
            },
            "nullable": true,
            "description": "The constructed 3XX error responses chart data"
          },
          "Error4xxChart": {
            "type": "object",
            "additionalProperties": {
              "type": "number",
              "format": "double"
            },
            "nullable": true,
            "description": "The constructed 4XX error responses chart data"
          },
          "Error5xxChart": {
            "type": "object",
            "additionalProperties": {
              "type": "number",
              "format": "double"
            },
            "nullable": true,
            "description": "The constructed 5XX error responses chart data"
          }
        },
        "required": [
          "TotalBandwidthUsed",
          "TotalOriginTraffic",
          "AverageOriginResponseTime",
          "TotalRequestsServed",
          "CacheHitRate"
        ]
      },
      "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"
      },
      "DnsZoneRecordScanTriggerResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "JobId": {
            "type": "string",
            "format": "uuid"
          },
          "Status": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/DnsZoneScanJobStatus"
              }
            ]
          }
        },
        "required": [
          "JobId"
        ]
      },
      "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"
        ]
      },
      "PullZoneAddModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "OriginUrl": {
            "type": "string",
            "description": "Sets the origin URL of the Pull Zone"
          },
          "AllowedReferrers": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Sets 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"
            },
            "description": "Sets the list of referrer hostnames that are blocked from accessing the pull zone."
          },
          "BlockNoneReferrer": {
            "type": "boolean",
            "nullable": true
          },
          "BlockedIps": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Sets 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",
            "nullable": true,
            "description": "Determines if the delivery from the North America region should be enabled for this pull zone"
          },
          "EnableGeoZoneEU": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the delivery from the Europe region should be enabled for this pull zone"
          },
          "EnableGeoZoneASIA": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the delivery from the Asia / Oceania regions should be enabled for this pull zone"
          },
          "EnableGeoZoneSA": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the delivery from the South America region should be enabled for this pull zone"
          },
          "EnableGeoZoneAF": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the delivery from the Africa region should be enabled for this pull zone"
          },
          "BlockRootPathAccess": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the zone should block requests to the root of the zone."
          },
          "BlockPostRequests": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the POST requests to this zone should be rejected."
          },
          "EnableQueryStringOrdering": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the query string ordering should be enabled."
          },
          "EnableWebpVary": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the WebP Vary feature should be enabled."
          },
          "EnableAvifVary": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the AVIF Vary feature should be enabled."
          },
          "EnableMobileVary": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the Mobile Vary feature is enabled."
          },
          "EnableCountryCodeVary": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the Country Code Vary feature should be enabled."
          },
          "EnableCountryStateCodeVary": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the Country State Code Vary feature should be enabled."
          },
          "EnableHostnameVary": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the Hostname Vary feature should be enabled."
          },
          "EnableCacheSlice": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if cache slicing (Optimize for video) should be enabled for this zone"
          },
          "ZoneSecurityEnabled": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the zone token authentication security should be enabled"
          },
          "ZoneSecurityIncludeHashRemoteIP": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the token authentication IP validation should be enabled"
          },
          "IgnoreQueryStrings": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the Pull Zone should ignore query strings when serving cached objects (Vary by Query String)"
          },
          "MonthlyBandwidthLimit": {
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "description": "Sets the monthly limit of bandwidth in bytes that the pullzone is allowed to use"
          },
          "AccessControlOriginHeaderExtensions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Sets the list of extensions that will return the CORS headers"
          },
          "EnableAccessControlOriginHeader": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if CORS headers should be enabled"
          },
          "DisableCookies": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the Pull Zone should automatically remove cookies from the responses"
          },
          "BudgetRedirectedCountries": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Sets the list of two letter Alpha2 country codes that will be redirected to the cheapest possible region"
          },
          "BlockedCountries": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Sets the list of two letter Alpha2 country codes that will be blocked from accessing the zone"
          },
          "CacheControlMaxAgeOverride": {
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "description": "Sets the cache control override setting for this zone"
          },
          "CacheControlPublicMaxAgeOverride": {
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "description": "Sets the browser cache control override setting for this zone"
          },
          "CacheControlBrowserMaxAgeOverride": {
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "description": "(Deprecated) Sets the browser cache control override setting for this zone"
          },
          "AddHostHeader": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the zone should forward the requested host header to the origin"
          },
          "AddCanonicalHeader": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the canonical header should be added by this zone"
          },
          "EnableLogging": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the logging should be enabled for this zone"
          },
          "LoggingIPAnonymizationEnabled": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the log anonoymization should be enabled"
          },
          "PermaCacheStorageZoneId": {
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "description": "The ID of the storage zone that should be used as the Perma-Cache"
          },
          "PermaCacheType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PermaCacheType"
              }
            ],
            "nullable": true,
            "description": "Determines Perma-Cache behavior"
          },
          "AWSSigningEnabled": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the AWS signing should be enabled or not"
          },
          "AWSSigningKey": {
            "type": "string",
            "description": "Sets the AWS signing key"
          },
          "AWSSigningRegionName": {
            "type": "string",
            "description": "Sets the AWS signing region name"
          },
          "AWSSigningSecret": {
            "type": "string",
            "description": "Sets the AWS signing secret key"
          },
          "EnableOriginShield": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the origin shield should be enabled"
          },
          "OriginShieldZoneCode": {
            "type": "string",
            "description": "Determines the zone code where the origin shield should be set up"
          },
          "EnableTLS1": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the TLS 1 should be enabled on this zone"
          },
          "EnableTLS1_1": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the TLS 1.1 should be enabled on this zone"
          },
          "CacheErrorResponses": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the cache error responses should be enabled on the zone"
          },
          "VerifyOriginSSL": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the SSL certificate should be verified when connecting to the origin"
          },
          "LogForwardingEnabled": {
            "type": "boolean",
            "nullable": true,
            "description": "Sets the log forwarding token for the zone"
          },
          "LogForwardingHostname": {
            "type": "string",
            "description": "Sets the log forwarding destination hostname for the zone"
          },
          "LogForwardingPort": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "Sets the log forwarding port for the zone"
          },
          "LogForwardingToken": {
            "type": "string",
            "description": "Sets the log forwarding token for the zone"
          },
          "LogForwardingProtocol": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PullZoneLogForwarderProtocolType"
              }
            ],
            "nullable": true,
            "description": "Sets the log forwarding protocol type"
          },
          "LoggingSaveToStorage": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the logging permanent storage should be enabled"
          },
          "LoggingStorageZoneId": {
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "description": "Sets the Storage Zone id that should contain the logs from this Pull Zone"
          },
          "FollowRedirects": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the zone should follow redirects return by the oprigin and cache the response"
          },
          "ConnectionLimitPerIPCount": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "Determines the maximum number of connections per IP that will be allowed to connect to this Pull Zone"
          },
          "RequestLimit": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "Determines the maximum number of requests per second that will be allowed to connect to this Pull Zone"
          },
          "LimitRateAfter": {
            "type": "number",
            "format": "double",
            "nullable": true,
            "description": "Determines the amount of traffic transferred before the client is limited"
          },
          "LimitRatePerSecond": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "Determines the maximum number of requests per second coming from a single IP before it is blocked."
          },
          "BurstSize": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "Determines the maximum burst requests before an IP is blocked"
          },
          "ErrorPageEnableCustomCode": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if custom error page code should be enabled."
          },
          "ErrorPageCustomCode": {
            "type": "string",
            "description": "Contains the custom error page code that will be returned"
          },
          "ErrorPageEnableStatuspageWidget": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the statuspage widget should be displayed on the error pages"
          },
          "ErrorPageStatuspageCode": {
            "type": "string",
            "description": "The statuspage code that will be used to build the status widget"
          },
          "ErrorPageWhitelabel": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the error pages should be whitelabel or not"
          },
          "OptimizerEnabled": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the optimizer should be enabled for this zone"
          },
          "OptimizerTunnelEnabled": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the optimizer origin tunnel system should be enabled for this zone"
          },
          "OptimizerDesktopMaxWidth": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "minimum": 0,
            "maximum": 5000,
            "description": "Determines the maximum automatic image size for desktop clients"
          },
          "OptimizerMobileMaxWidth": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "minimum": 0,
            "maximum": 5000,
            "description": "Determines the maximum automatic image size for mobile clients"
          },
          "OptimizerImageQuality": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "minimum": 1,
            "maximum": 100,
            "description": "Determines the image quality for desktop clients"
          },
          "OptimizerMobileImageQuality": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "minimum": 1,
            "maximum": 100,
            "description": "Determines the image quality for mobile clients"
          },
          "OptimizerEnableWebP": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the WebP optimization should be enabled"
          },
          "OptimizerPrerenderHtml": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the SEO HTML prerender should be enabled"
          },
          "OptimizerEnableManipulationEngine": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines the image manipulation should be enabled"
          },
          "OptimizerMinifyCSS": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the CSS minifcation should be enabled"
          },
          "OptimizerMinifyJavaScript": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the JavaScript minifcation should be enabled"
          },
          "OptimizerWatermarkEnabled": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if image watermarking should be enabled"
          },
          "OptimizerWatermarkUrl": {
            "type": "string",
            "description": "Sets the URL of the watermark image"
          },
          "OptimizerWatermarkPosition": {
            "description": "Sets the position of the watermark image",
            "allOf": [
              {
                "$ref": "#/components/schemas/OptimizerWatermarkPosition"
              }
            ]
          },
          "OptimizerWatermarkOffset": {
            "type": "number",
            "format": "double",
            "nullable": true,
            "description": "Sets the offset of the watermark image"
          },
          "OptimizerWatermarkMinImageSize": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "Sets the minimum image size to which the watermark will be added"
          },
          "OptimizerAutomaticOptimizationEnabled": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the automatic image optimization should be enabled"
          },
          "OptimizerClasses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PullZoneOptimizerClassModel"
            },
            "description": "Determines the list of optimizer classes"
          },
          "OptimizerForceClasses": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the optimizer classes should be forced"
          },
          "OptimizerStaticHtmlWordPressPath": {
            "type": "string",
            "description": "Wordpress html path which should be bypassed by permacache in edge rule"
          },
          "OptimizerStaticHtmlWordPressBypassCookie": {
            "type": "string",
            "description": "Wordpress cookie which should be bypassed by permacache in edge rule"
          },
          "Type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PullZoneType"
              }
            ],
            "nullable": true,
            "description": "The type of the pull zone. Premium = 0, Volume = 1"
          },
          "OriginRetries": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "The number of retries to the origin server"
          },
          "OriginConnectTimeout": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "The amount of seconds to wait when connecting to the origin. Otherwise the request will fail or retry."
          },
          "OriginResponseTimeout": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "The amount of seconds to wait when waiting for the origin reply. Otherwise the request will fail or retry."
          },
          "UseStaleWhileUpdating": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if we should use stale cache while cache is updating"
          },
          "UseStaleWhileOffline": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if we should use stale cache while the origin is offline"
          },
          "OriginRetry5XXResponses": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if we should retry the request in case of a 5XX response."
          },
          "OriginRetryConnectionTimeout": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if we should retry the request in case of a connection timeout."
          },
          "OriginRetryResponseTimeout": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if we should retry the request in case of a response timeout."
          },
          "OriginRetryDelay": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "Determines the amount of time that the CDN should wait before retrying an origin request."
          },
          "DnsOriginPort": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "Determines the origin port of the pull zone."
          },
          "DnsOriginScheme": {
            "type": "string",
            "description": "Determines the origin scheme of the pull zone."
          },
          "QueryStringVaryParameters": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "OriginShieldEnableConcurrencyLimit": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the origin shield concurrency limit is enabled."
          },
          "OriginShieldMaxConcurrentRequests": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "minimum": 1,
            "maximum": 10000,
            "description": "Determines the number of maximum concurrent requests allowed to the origin."
          },
          "EnableCookieVary": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the Cookie Vary feature is enabled."
          },
          "CookieVaryParameters": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "EnableSafeHop": {
            "type": "boolean",
            "nullable": true
          },
          "OriginShieldQueueMaxWaitTime": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "Determines the max queue wait time"
          },
          "OriginShieldMaxQueuedRequests": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "minimum": 0,
            "maximum": 30000,
            "description": "Determines the max number of origin requests that will remain in the queue"
          },
          "UseBackgroundUpdate": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if cache update is performed in the background."
          },
          "EnableAutoSSL": {
            "type": "boolean",
            "nullable": true,
            "description": "If set to true, any hostnames added to this Pull Zone will automatically enable SSL."
          },
          "LogAnonymizationType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LogAnonymizationType"
              }
            ],
            "nullable": true,
            "description": "Sets the log anonymization type for this pull zone"
          },
          "StorageZoneId": {
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "description": "The ID of the storage zone that will be used as the origin"
          },
          "EdgeScriptId": {
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "description": "The ID of the edge script that will be used as the origin"
          },
          "MiddlewareScriptId": {
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "description": "The ID of the middleware script"
          },
          "EdgeScriptExecutionPhase": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExecutionPhase"
              }
            ],
            "nullable": true,
            "description": "The execution phase of the edge script"
          },
          "OriginType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PullZoneOriginType"
              }
            ],
            "nullable": true,
            "description": "Determine the type of the origin for this Pull Zone"
          },
          "MagicContainersAppId": {
            "type": "string"
          },
          "MagicContainersEndpointId": {
            "type": "string"
          },
          "LogFormat": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PullZoneLogFormat"
              }
            ],
            "nullable": true
          },
          "LogForwardingFormat": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PullZoneLogFormat"
              }
            ],
            "nullable": true
          },
          "ShieldDDosProtectionType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ShieldDDosProtectionType"
              }
            ],
            "nullable": true
          },
          "ShieldDDosProtectionEnabled": {
            "type": "boolean",
            "nullable": true
          },
          "OriginHostHeader": {
            "type": "string",
            "description": "Sets the host header that will be sent to the origin"
          },
          "EnableSmartCache": {
            "type": "boolean",
            "nullable": true
          },
          "EnableRequestCoalescing": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if request coalescing is currently enabled."
          },
          "RequestCoalescingTimeout": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "Determines the lock time for coalesced requests."
          },
          "DisableLetsEncrypt": {
            "type": "boolean",
            "nullable": true,
            "description": "If set to true, the built-in let's encrypt will be disabled and requests are passed to the origin."
          },
          "EnableBunnyImageAi": {
            "type": "boolean",
            "nullable": true
          },
          "BunnyAiImageBlueprints": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BunnyAiImageBlueprintModel"
            }
          },
          "PreloadingScreenEnabled": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the preloading screen is currently enabled"
          },
          "PreloadingScreenCode": {
            "type": "string",
            "description": "The custom preloading screen coed"
          },
          "PreloadingScreenLogoUrl": {
            "type": "string",
            "description": "The preloading screen logo URL"
          },
          "PreloadingScreenShowOnFirstVisit": {
            "type": "boolean",
            "description": "Determines if the preloading screen is shown on the first load from a user."
          },
          "PreloadingScreenTheme": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PreloadingScreenTheme"
              }
            ],
            "nullable": true,
            "description": "The currently configured preloading screem theme. (0 - Light, 1 - Dark)"
          },
          "PreloadingScreenCodeEnabled": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if the custom preloader screen should be enabled"
          },
          "PreloadingScreenDelay": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "minimum": 0,
            "maximum": 10000,
            "description": "The delay in miliseconds after which the preloading screen will be displayed (0 - 10000ms)"
          },
          "RoutingFilters": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The list of routing filters enabled for this zone"
          },
          "StickySessionType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StickySessionType"
              }
            ],
            "nullable": true,
            "description": "Whether to use a Sticky Session mechanism for this pull zone"
          },
          "StickySessionCookieName": {
            "type": "string",
            "description": "Sticky Session Cookie Name"
          },
          "StickySessionClientHeaders": {
            "type": "string",
            "description": "A set of comma-separated header names used to identify clients"
          },
          "OptimizerEnableUpscaling": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if Optimizer should automatically upscale images"
          },
          "EnableWebSockets": {
            "type": "boolean",
            "nullable": true,
            "description": "Determines if WebSocket connections are allowed for this Pull Zone."
          },
          "MaxWebSocketConnections": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "Name": {
            "type": "string",
            "nullable": true,
            "description": "The name of the pull zone."
          }
        },
        "required": [
          "Name",
          "PreloadingScreenShowOnFirstVisit"
        ]
      },
      "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"
      },
      "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"
        ]
      },
      "RemoveCertificateRequestModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Hostname": {
            "type": "string",
            "nullable": true,
            "description": "The hostname from which the certificate will be removed"
          }
        },
        "required": [
          "Hostname"
        ],
        "description": "The model used for removing an existing certificate from the given pull zone hostname"
      },
      "PullZoneLogFormat": {
        "type": "string",
        "description": "0 = Plain<br/>1 = JSON",
        "x-enumNames": [
          "Plain",
          "JSON"
        ],
        "enum": [
          "Plain",
          "JSON"
        ],
        "x-enum-varnames": [
          "Plain",
          "JSON"
        ],
        "example": "Plain"
      },
      "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"
      },
      "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"
          }
        }
      },
      "PaginationListModelOfVideoLibraryModel": {
        "type": "object",
        "required": [
          "CurrentPage",
          "TotalItems",
          "HasMoreItems"
        ],
        "properties": {
          "Items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VideoLibraryModel"
            }
          },
          "CurrentPage": {
            "type": "integer",
            "format": "int32"
          },
          "TotalItems": {
            "type": "integer",
            "format": "int32"
          },
          "HasMoreItems": {
            "type": "boolean"
          }
        }
      },
      "VideoLibraryCreateModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Name": {
            "type": "string",
            "nullable": true
          },
          "ReplicationRegions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "description": "The geo-replication regions of the underlying storage zone"
          },
          "PlayerVersion": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "(Optional) Sets player version used for this library"
          }
        },
        "required": [
          "Name"
        ]
      },
      "LogOrdering": {
        "type": "string",
        "enum": [
          "Ascending",
          "Descending"
        ],
        "x-enumNames": [
          "Ascending",
          "Descending"
        ],
        "description": "0 = Ascending<br/>1 = Descending",
        "example": "Ascending"
      }
    },
    "securitySchemes": {
      "AccessKey": {
        "type": "apiKey",
        "description": "API Access Key authorization header",
        "name": "AccessKey",
        "in": "header"
      }
    }
  }
}