openapi: 3.0.0
info:
  license:
    name: MIT
    url: https://github.com/aziontech/azionapi-openapi/blob/main/LICENSE.md
  title: Edge Application API
  version: 2.0.0
servers:
- description: Production
  url: https://api.azionapi.net
security:
- tokenAuth: []
paths:
  /edge_applications:
    get:
      parameters:
      - explode: true
        in: query
        name: page
        required: false
        schema:
          format: int64
          type: integer
        style: form
      - explode: true
        in: query
        name: page_size
        required: false
        schema:
          format: int64
          type: integer
        style: form
      - explode: true
        in: query
        name: filter
        required: false
        schema:
          type: string
        style: form
      - explode: true
        in: query
        name: order_by
        required: false
        schema:
          type: string
        style: form
      - explode: true
        in: query
        name: sort
        required: false
        schema:
          type: string
        style: form
      - example: application/json; version=3
        explode: false
        in: header
        name: Accept
        required: false
        schema:
          type: string
        style: simple
      responses:
        "200":
          content:
            application/json; version=3:
              schema:
                $ref: '#/components/schemas/GetApplicationsResponse'
          description: Successful response
        "400":
          description: Bad Request
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "422":
          description: Unprocessable Entity
        "500":
          description: Internal Server Error
      summary: /edge_applications
      tags:
      - Edge Applications > Main Settings
    post:
      parameters:
      - example: application/json; version=3
        explode: false
        in: header
        name: Accept
        required: false
        schema:
          type: string
        style: simple
      - description: |-
          The type of coding used in the Body (application/json).
          <br>

          Example:
          Content-Type: application/json
        example: application/json
        explode: false
        in: header
        name: Content-Type
        required: false
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json; version=3:
            schema:
              $ref: '#/components/schemas/CreateApplicationRequest'
      responses:
        "200":
          content:
            application/json; version=3:
              schema:
                $ref: '#/components/schemas/CreateApplicationResult'
          description: Successful response
        "201":
          content:
            application/json; version=3:
              schema:
                $ref: '#/components/schemas/CreateApplicationResult'
          description: Successful response
        "400":
          description: Bad Request
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "415":
          description: Unsupported Media Type
        "422":
          description: Unprocessable Entity
        "500":
          description: Internal Server Error
      summary: /edge_applications
      tags:
      - Edge Applications > Main Settings
  /edge_applications/{id}:
    delete:
      parameters:
      - example: application/json; version=3
        explode: false
        in: header
        name: Accept
        required: false
        schema:
          type: string
        style: simple
      - description: The id of the edge application that you plan to delete.
        explode: false
        in: path
        name: id
        required: true
        schema:
          type: string
        style: simple
      responses:
        "204":
          description: No response
        "400":
          description: Bad Request
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "422":
          description: Unprocessable Entity
        "500":
          description: Internal Server Error
      summary: /edge_applications/:id
      tags:
      - Edge Applications > Main Settings
    get:
      parameters:
      - example: application/json; version=3
        explode: false
        in: header
        name: Accept
        required: false
        schema:
          type: string
        style: simple
      - explode: false
        in: path
        name: id
        required: true
        schema:
          type: string
        style: simple
      responses:
        "200":
          content:
            application/json; version=3:
              schema:
                $ref: '#/components/schemas/GetApplicationResponse'
          description: Successful response
        "400":
          description: Bad Request
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "422":
          description: Unprocessable Entity
        "500":
          description: Internal Server Error
      summary: /edge_applications/:id
      tags:
      - Edge Applications > Main Settings
    patch:
      parameters:
      - example: application/json; version=3
        explode: false
        in: header
        name: Accept
        required: false
        schema:
          type: string
        style: simple
      - description: |-
          The type of coding used in the Body (application/json).
          <br>

          Example:
          Content-Type: application/json
        example: application/json
        explode: false
        in: header
        name: Content-Type
        required: false
        schema:
          type: string
        style: simple
      - explode: false
        in: path
        name: id
        required: true
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json; version=3:
            schema:
              $ref: '#/components/schemas/ApplicationUpdateRequest'
      responses:
        "200":
          content:
            application/json; version=3:
              schema:
                $ref: '#/components/schemas/ApplicationUpdateResponse'
          description: Successful response
        "400":
          description: Bad Request
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "405":
          description: Method Not Allowed
        "422":
          description: Unprocessable Entity
        "500":
          description: Internal Server Error
      summary: /edge_applications/:id
      tags:
      - Edge Applications > Main Settings
    put:
      parameters:
      - example: application/json; version=3
        explode: false
        in: header
        name: Accept
        required: false
        schema:
          type: string
        style: simple
      - description: |-
          The type of coding used in the Body (application/json).
          <br>

          Example:
          Content-Type: application/json
        example: application/json
        explode: false
        in: header
        name: Content-Type
        required: false
        schema:
          type: string
        style: simple
      - description: "The Id of the edge application to be overwritten.\t"
        explode: false
        in: path
        name: id
        required: true
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json; version=3:
            schema:
              $ref: '#/components/schemas/ApplicationPutRequest'
      responses:
        "200":
          content:
            application/json; version=3:
              schema:
                $ref: '#/components/schemas/ApplicationPutResult'
          description: Successful response
        "400":
          description: Bad Request
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "405":
          description: Method Not Allowed
        "422":
          description: Unprocessable Entity
        "500":
          description: Internal Server Error
      summary: /edge_applications/:id
      tags:
      - Edge Applications > Main Settings
  /edge_applications/{edge_application_id}/cache_settings:
    get:
      parameters:
      - explode: false
        in: path
        name: edge_application_id
        required: true
        schema:
          format: int64
          type: integer
        style: simple
      - explode: true
        in: query
        name: page
        required: false
        schema:
          format: int64
          type: integer
        style: form
      - explode: true
        in: query
        name: page_size
        required: false
        schema:
          format: int64
          type: integer
        style: form
      - explode: true
        in: query
        name: filter
        required: false
        schema:
          type: string
        style: form
      - explode: true
        in: query
        name: order_by
        required: false
        schema:
          type: string
        style: form
      - explode: true
        in: query
        name: sort
        required: false
        schema:
          type: string
        style: form
      - example: application/json; version=3
        explode: false
        in: header
        name: Accept
        required: false
        schema:
          type: string
        style: simple
      responses:
        "200":
          content:
            application/json; version=3:
              schema:
                $ref: '#/components/schemas/ApplicationCacheGetResponse'
          description: Successful response
        "400":
          description: Bad Request
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "422":
          description: Unprocessable Entity
        "500":
          description: Internal Server Error
      summary: "/edge_applications/{edge_application_id}/cache_settings"
      tags:
      - Edge Applications > Cache Settings
    post:
      parameters:
      - explode: false
        in: path
        name: edge_application_id
        required: true
        schema:
          format: int64
          type: integer
        style: simple
      - example: application/json; version=3
        explode: false
        in: header
        name: Accept
        required: false
        schema:
          type: string
        style: simple
      - description: |-
          The type of coding used in the Body (application/json).
          <br>

          Example:
          Content-Type: application/json
        example: application/json
        explode: false
        in: header
        name: Content-Type
        required: false
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json; version=3:
            schema:
              $ref: '#/components/schemas/ApplicationCacheCreateRequest'
      responses:
        "200":
          content:
            application/json; version=3:
              schema:
                $ref: '#/components/schemas/ApplicationCacheCreateResponse'
          description: Successful response
        "400":
          description: Bad Request
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "422":
          description: Unprocessable Entity
        "500":
          description: Internal Server Error
      summary: /edge_applications/:edge_application_id:/cache_settings
      tags:
      - Edge Applications > Cache Settings
  /edge_applications/{edge_application_id}/cache_settings/{cache_settings_id}:
    delete:
      parameters:
      - explode: false
        in: path
        name: edge_application_id
        required: true
        schema:
          format: int64
          type: integer
        style: simple
      - explode: false
        in: path
        name: cache_settings_id
        required: true
        schema:
          format: int64
          type: integer
        style: simple
      - example: application/json; version=3
        explode: false
        in: header
        name: Accept
        required: false
        schema:
          type: string
        style: simple
      - description: |-
          The type of coding used in the Body (application/json).
          <br>

          Example:
          Content-Type: application/json
        example: application/json
        explode: false
        in: header
        name: Content-Type
        required: false
        schema:
          type: string
        style: simple
      responses:
        "204":
          description: No response
        "400":
          description: Bad Request
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "422":
          description: Unprocessable Entity
        "500":
          description: Internal Server Error
      summary: '/edge_applications/:edge_application_id:/cache_settings/:cache_settings_id:'
      tags:
      - Edge Applications > Cache Settings
    get:
      parameters:
      - explode: false
        in: path
        name: edge_application_id
        required: true
        schema:
          format: int64
          type: integer
        style: simple
      - explode: false
        in: path
        name: cache_settings_id
        required: true
        schema:
          format: int64
          type: integer
        style: simple
      - example: application/json; version=3
        explode: false
        in: header
        name: Accept
        required: false
        schema:
          type: string
        style: simple
      responses:
        "200":
          content:
            application/json; version=3:
              schema:
                $ref: '#/components/schemas/ApplicationCacheGetOneResponse'
          description: Successful response
        "400":
          description: Bad Request
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "422":
          description: Unprocessable Entity
        "500":
          description: Internal Server Error
      summary: '/edge_applications/:edge_application_id:/cache_settings/:cache_settings_id:'
      tags:
      - Edge Applications > Cache Settings
    patch:
      parameters:
      - explode: false
        in: path
        name: edge_application_id
        required: true
        schema:
          format: int64
          type: integer
        style: simple
      - explode: false
        in: path
        name: cache_settings_id
        required: true
        schema:
          format: int64
          type: integer
        style: simple
      - example: application/json; version=3
        explode: false
        in: header
        name: Accept
        required: false
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json; version=3:
            schema:
              $ref: '#/components/schemas/ApplicationCachePatchRequest'
      responses:
        "200":
          content:
            application/json; version=3:
              schema:
                $ref: '#/components/schemas/ApplicationCachePatchResponse'
          description: Successful response
        "400":
          description: Bad Request
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "422":
          description: Unprocessable Entity
        "500":
          description: Internal Server Error
      summary: '/edge_applications/:edge_application_id:/cache_settings/:cache_settings_id:'
      tags:
      - Edge Applications > Cache Settings
    put:
      parameters:
      - explode: false
        in: path
        name: edge_application_id
        required: true
        schema:
          format: int64
          type: integer
        style: simple
      - explode: false
        in: path
        name: cache_settings_id
        required: true
        schema:
          format: int64
          type: integer
        style: simple
      - example: application/json; version=3
        explode: false
        in: header
        name: Accept
        required: false
        schema:
          type: string
        style: simple
      - description: |-
          The type of coding used in the Body (application/json).
          <br>

          Example:
          Content-Type: application/json
        example: application/json
        explode: false
        in: header
        name: Content-Type
        required: false
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json; version=3:
            schema:
              $ref: '#/components/schemas/ApplicationCachePutRequest'
      responses:
        "200":
          content:
            application/json; version=3:
              schema:
                $ref: '#/components/schemas/ApplicationCachePutResponse'
          description: Successful response
        "400":
          description: Bad Request
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "422":
          description: Unprocessable Entity
        "500":
          description: Internal Server Error
      summary: /edge_applications/:edge_application_id:/cache_settings/ca
      tags:
      - Edge Applications > Cache Settings
  /edge_applications/{edge_application_id}/functions_instances:
    get:
      parameters:
      - explode: false
        in: path
        name: edge_application_id
        required: true
        schema:
          format: int64
          type: integer
        style: simple
      - explode: true
        in: query
        name: page
        required: false
        schema:
          format: int64
          type: integer
        style: form
      - explode: true
        in: query
        name: page_size
        required: false
        schema:
          format: int64
          type: integer
        style: form
      - explode: true
        in: query
        name: filter
        required: false
        schema:
          type: string
        style: form
      - explode: true
        in: query
        name: order_by
        required: false
        schema:
          type: string
        style: form
      - explode: true
        in: query
        name: sort
        required: false
        schema:
          type: string
        style: form
      - example: application/json; version=3
        explode: false
        in: header
        name: Accept
        required: false
        schema:
          type: string
        style: simple
      responses:
        "200":
          content:
            application/json; version=3:
              schema:
                $ref: '#/components/schemas/ApplicationInstancesGetResponse'
          description: Successful response
        "400":
          description: Bad Request
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "422":
          description: Unprocessable Entity
        "500":
          description: Internal Server Error
      summary: /edge_applications/:edge_application_id:/functions_instances
      tags:
      - Edge Applications > Edge Functions Instances
    post:
      parameters:
      - explode: false
        in: path
        name: edge_application_id
        required: true
        schema:
          format: int64
          type: integer
        style: simple
      - example: application/json; version=3
        explode: false
        in: header
        name: Accept
        required: false
        schema:
          type: string
        style: simple
      - description: |-
          The type of coding used in the Body (application/json).
          <br>

          Example:
          Content-Type: application/json
        example: application/json
        explode: false
        in: header
        name: Content-Type
        required: false
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json; version=3:
            schema:
              $ref: '#/components/schemas/ApplicationCreateInstanceRequest'
      responses:
        "200":
          content:
            application/json; version=3:
              schema:
                $ref: '#/components/schemas/ApplicationInstanceResults'
          description: Successful response
        "400":
          description: Bad Request
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "422":
          description: Unprocessable Entity
        "500":
          description: Internal Server Error
      summary: edge_application/:edge_application_id:/functions_instances
      tags:
      - Edge Applications > Edge Functions Instances
  /edge_applications/{edge_application_id}/functions_instances/{functions_instances_id}:
    delete:
      parameters:
      - explode: false
        in: path
        name: edge_application_id
        required: true
        schema:
          type: string
        style: simple
      - explode: false
        in: path
        name: functions_instances_id
        required: true
        schema:
          type: string
        style: simple
      - example: application/json; version=3
        explode: false
        in: header
        name: Accept
        required: false
        schema:
          type: string
        style: simple
      - description: |-
          The type of coding used in the Body (application/json).
          <br>

          Example:
          Content-Type: application/json
        example: application/json
        explode: false
        in: header
        name: Content-Type
        required: false
        schema:
          type: string
        style: simple
      responses:
        "204":
          description: No response
        "400":
          description: Bad Request
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "422":
          description: Unprocessable Entity
        "500":
          description: Internal Server Error
      summary: '/edge_applications/:edge_application_id:/functions_instances/:functions_instances_id:'
      tags:
      - Edge Applications > Edge Functions Instances
    get:
      parameters:
      - explode: false
        in: path
        name: edge_application_id
        required: true
        schema:
          format: int64
          type: integer
        style: simple
      - explode: false
        in: path
        name: functions_instances_id
        required: true
        schema:
          format: int64
          type: integer
        style: simple
      - description: "The id of the edge function instance you plan to query.\t"
        example: application/json; version=3
        explode: false
        in: header
        name: Accept
        required: false
        schema:
          type: string
        style: simple
      responses:
        "200":
          content:
            application/json; version=3:
              schema:
                $ref: '#/components/schemas/ApplicationInstancesGetOneResponse'
          description: Successful response
        "400":
          description: Bad Request
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "422":
          description: Unprocessable Entity
        "500":
          description: Internal Server Error
      summary: '/edge_applications/:edge_application_id:/functions_instances/:functions_instances_id:'
      tags:
      - Edge Applications > Edge Functions Instances
    patch:
      parameters:
      - example: application/json; version=3
        explode: false
        in: header
        name: Accept
        required: false
        schema:
          type: string
        style: simple
      - description: |-
          The type of coding used in the Body (application/json).
          <br>

          Example:
          Content-Type: application/json
        example: application/json
        explode: false
        in: header
        name: Content-Type
        required: false
        schema:
          type: string
        style: simple
      - description: "The id of the edge application you plan to overwrite\t"
        explode: false
        in: path
        name: edge_application_id
        required: true
        schema:
          type: string
        style: simple
      - description: The id of the edge function instance you plan to overwrite.
        explode: false
        in: path
        name: functions_instances_id
        required: true
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json; version=3:
            schema:
              $ref: '#/components/schemas/ApplicationUpdateInstanceRequest'
      responses:
        "200":
          content:
            application/json; version=3:
              schema:
                $ref: '#/components/schemas/ApplicationInstanceResults'
          description: Successful response
        "400":
          description: Bad Request
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "405":
          description: Method Not Allowed
        "422":
          description: Unprocessable Entity
        "500":
          description: Internal Server Error
      summary: '/edge_applications/:edge_application_id:/functions_instances/:functions_instances_id:'
      tags:
      - Edge Applications > Edge Functions Instances
    put:
      parameters:
      - example: application/json; version=3
        explode: false
        in: header
        name: Accept
        required: false
        schema:
          type: string
        style: simple
      - description: |-
          The type of coding used in the Body (application/json).
          <br>

          Example:
          Content-Type: application/json
        example: application/json
        explode: false
        in: header
        name: Content-Type
        required: false
        schema:
          type: string
        style: simple
      - description: "The id of the edge application you plan to overwrite\t"
        explode: false
        in: path
        name: edge_application_id
        required: true
        schema:
          type: string
        style: simple
      - description: The id of the edge function instance you plan to overwrite.
        explode: false
        in: path
        name: functions_instances_id
        required: true
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json; version=3:
            schema:
              $ref: '#/components/schemas/ApplicationPutInstanceRequest'
      responses:
        "200":
          content:
            application/json; version=3:
              schema:
                $ref: '#/components/schemas/ApplicationInstanceResults'
          description: Successful response
        "400":
          description: Bad Request
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "405":
          description: Method Not Allowed
        "422":
          description: Unprocessable Entity
        "500":
          description: Internal Server Error
      summary: '/edge_applications/:edge_application_id:/functions_instances/:functions_instances_id:'
      tags:
      - Edge Applications > Edge Functions Instances
  /edge_applications/{edge_application_id}/origins:
    get:
      parameters:
      - explode: false
        in: path
        name: edge_application_id
        required: true
        schema:
          format: int64
          type: integer
        style: simple
      - explode: true
        in: query
        name: page
        required: false
        schema:
          format: int64
          type: integer
        style: form
      - explode: true
        in: query
        name: page_size
        required: false
        schema:
          format: int64
          type: integer
        style: form
      - explode: true
        in: query
        name: filter
        required: false
        schema:
          type: string
        style: form
      - explode: true
        in: query
        name: order_by
        required: false
        schema:
          type: string
        style: form
      - explode: true
        in: query
        name: sort
        required: false
        schema:
          type: string
        style: form
      - example: application/json; version=3
        explode: false
        in: header
        name: Accept
        required: false
        schema:
          type: string
        style: simple
      responses:
        "200":
          content:
            application/json; version=3:
              schema:
                $ref: '#/components/schemas/OriginsResponse'
          description: Successful response
        "400":
          description: Bad Request
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "422":
          description: Unprocessable Entity
        "500":
          description: Internal Server Error
      summary: "/edge_applications/{edge_application_id}/origins"
      tags:
      - Edge Applications > Origins
    post:
      parameters:
      - explode: false
        in: path
        name: edge_application_id
        required: true
        schema:
          format: int64
          type: integer
        style: simple
      - example: application/json; version=3
        explode: false
        in: header
        name: Accept
        required: false
        schema:
          type: string
        style: simple
      - description: |-
          The type of coding used in the Body (application/json).
          <br>

          Example:
          Content-Type: application/json
        example: application/json
        explode: false
        in: header
        name: Content-Type
        required: false
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json; version=3:
            schema:
              $ref: '#/components/schemas/CreateOriginsRequest'
      responses:
        "200":
          content:
            application/json; version=3:
              schema:
                $ref: '#/components/schemas/OriginsIdResponse'
          description: Successful response
        "400":
          description: Bad Request
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "422":
          description: Unprocessable Entity
        "500":
          description: Internal Server Error
      summary: "/edge_applications/{edge_application_id}/origins"
      tags:
      - Edge Applications > Origins
  /edge_applications/{edge_application_id}/origins/{origin_key}:
    delete:
      parameters:
      - explode: false
        in: path
        name: edge_application_id
        required: true
        schema:
          format: int64
          type: integer
        style: simple
      - explode: false
        in: path
        name: origin_key
        required: true
        schema:
          type: string
        style: simple
      - description: The id of the Origin that you plan to delete.
        example: application/json; version=3
        explode: false
        in: header
        name: Accept
        required: false
        schema:
          type: string
        style: simple
      responses:
        "204":
          description: No response
        "400":
          description: Bad Request
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "422":
          description: Unprocessable Entity
        "500":
          description: Internal Server Error
      summary: "/edge_applications/{edge_application_id}/origins/{origin_id}"
      tags:
      - Edge Applications > Origins
    get:
      parameters:
      - explode: false
        in: path
        name: edge_application_id
        required: true
        schema:
          format: int64
          type: integer
        style: simple
      - explode: false
        in: path
        name: origin_key
        required: true
        schema:
          type: string
        style: simple
      - description: The id of the Origin that you plan to query.
        example: application/json; version=3
        explode: false
        in: header
        name: Accept
        required: false
        schema:
          type: string
        style: simple
      responses:
        "200":
          content:
            application/json; version=3:
              schema:
                $ref: '#/components/schemas/OriginsIdResponse'
          description: Successful response
        "400":
          description: Bad Request
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "422":
          description: Unprocessable Entity
        "500":
          description: Internal Server Error
      summary: "/edge_applications/{edge_application_id}/origins/{origin_key}"
      tags:
      - Edge Applications > Origins
    patch:
      parameters:
      - explode: false
        in: path
        name: edge_application_id
        required: true
        schema:
          format: int64
          type: integer
        style: simple
      - explode: false
        in: path
        name: origin_key
        required: true
        schema:
          type: string
        style: simple
      - example: application/json; version=3
        explode: false
        in: header
        name: Accept
        required: false
        schema:
          type: string
        style: simple
      - description: |-
          The type of coding used in the Body (application/json).
          <br>

          Example:
          Content-Type: application/json
        example: application/json
        explode: false
        in: header
        name: Content-Type
        required: false
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json; version=3:
            schema:
              $ref: '#/components/schemas/PatchOriginsRequest'
      responses:
        "200":
          content:
            application/json; version=3:
              schema:
                $ref: '#/components/schemas/OriginsIdResponse'
          description: Successful response
        "400":
          description: Bad Request
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "422":
          description: Unprocessable Entity
        "500":
          description: Internal Server Error
      summary: '/edge_applications/:edge_application_id:/origins/:origin_id:'
      tags:
      - Edge Applications > Origins
    put:
      parameters:
      - explode: false
        in: path
        name: edge_application_id
        required: true
        schema:
          format: int64
          type: integer
        style: simple
      - explode: false
        in: path
        name: origin_key
        required: true
        schema:
          type: string
        style: simple
      - example: application/json; version=3
        explode: false
        in: header
        name: Accept
        required: false
        schema:
          type: string
        style: simple
      - description: |-
          The type of coding used in the Body (application/json).
          <br>

          Example:
          Content-Type: application/json
        example: application/json
        explode: false
        in: header
        name: Content-Type
        required: false
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json; version=3:
            schema:
              $ref: '#/components/schemas/UpdateOriginsRequest'
      responses:
        "200":
          content:
            application/json; version=3:
              schema:
                $ref: '#/components/schemas/OriginsIdResponse'
          description: Successful response
        "400":
          description: Bad Request
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "422":
          description: Unprocessable Entity
        "500":
          description: Internal Server Error
      summary: "/edge_applications/{edge_application_id}/origins/{origin_id}"
      tags:
      - Edge Applications > Origins
  /edge_applications/{edge_application_id}/rules_engine/{phase}/rules:
    get:
      parameters:
      - explode: false
        in: path
        name: edge_application_id
        required: true
        schema:
          format: int64
          type: integer
        style: simple
      - explode: true
        in: query
        name: page
        required: false
        schema:
          format: int64
          type: integer
        style: form
      - explode: true
        in: query
        name: page_size
        required: false
        schema:
          format: int64
          type: integer
        style: form
      - explode: true
        in: query
        name: filter
        required: false
        schema:
          type: string
        style: form
      - explode: true
        in: query
        name: order_by
        required: false
        schema:
          type: string
        style: form
      - explode: true
        in: query
        name: sort
        required: false
        schema:
          type: string
        style: form
      - explode: false
        in: path
        name: phase
        required: true
        schema:
          type: string
        style: simple
      - example: application/json; version=3
        explode: false
        in: header
        name: Accept
        required: false
        schema:
          type: string
        style: simple
      responses:
        "200":
          content:
            application/json; version=3:
              schema:
                $ref: '#/components/schemas/RulesEngineResponse'
          description: Successful response
        "400":
          description: Bad Request
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "422":
          description: Unprocessable Entity
        "500":
          description: Internal Server Error
      summary: "/edge_applications/{edge_application_id}/rules_engine/{phase}/rules"
      tags:
      - Edge Applications > Rules Engine
    post:
      description: |-
        Check below the list of behaviors that can be applied:

        | Name                                | Behavior               |
        | ----------------------------------- | ---------------------- |
        | Add Request Cookie                  | add_request_cookie     |
        | Add Request Header                  | add_request_header     |
        | Add Response Cookie                 | set_cookie             |
        | Add Response Header                 | add_response_header    |
        | Bypass Cache                        | bypass_cache_phase     |
        | Capture Match Groups                | capture_match_groups   |
        | Deliver                             | deliver                |
        | Deny (403 Forbidden)                | deny                   |
        | Enable Gzip                         | enable_gzip            |
        | Filter Request Cookie               | filter_request_cookie  |
        | Filter Request Header               | filter_request_header  |
        | Filter Response Cookie              | filter_response_cookie |
        | Filter Response Header              | filter_response_header |
        | Finish Request Phase                | finish_request_phase   |
        | Forward Cookies                     | forward_cookies        |
        | Optimize Images                     | optimize_images        |
        | Redirect HTTP to HTTPS              | redirect_http_to_https |
        | Redirect To (301 Moved Permanently) | redirect_to_301        |
        | Redirect To (302 Found)             | redirect_to_302        |
        | Rewrite Request                     | rewrite_request        |
        | Run Function                        | run_function           |
        | Set Cache Policy                    | set_cache_policy       |
        | Set Origin                          | set_origin             |
      parameters:
      - explode: false
        in: path
        name: edge_application_id
        required: true
        schema:
          format: int64
          type: integer
        style: simple
      - explode: false
        in: path
        name: phase
        required: true
        schema:
          type: string
        style: simple
      - example: application/json; version=3
        explode: false
        in: header
        name: Accept
        required: false
        schema:
          type: string
        style: simple
      - description: |-
          The type of coding used in the Body (application/json).
          <br>

          Example:
          Content-Type: application/json
        example: application/json
        explode: false
        in: header
        name: Content-Type
        required: false
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json; version=3:
            schema:
              $ref: '#/components/schemas/CreateRulesEngineRequest'
      responses:
        "200":
          content:
            application/json; version=3:
              schema:
                $ref: '#/components/schemas/RulesEngineIdResponse'
          description: Successful response
        "400":
          description: Bad Request
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "422":
          description: Unprocessable Entity
        "500":
          description: Internal Server Error
      summary: "/edge_applications/{edge_application_id}/rules_engine/{phase}/rules"
      tags:
      - Edge Applications > Rules Engine
  /edge_applications/{edge_application_id}/rules_engine/{phase}/rules/{rule_id}:
    delete:
      parameters:
      - description: "The id of the edge application you plan to delete.\t"
        explode: false
        in: path
        name: edge_application_id
        required: true
        schema:
          format: int64
          type: integer
        style: simple
      - explode: false
        in: path
        name: phase
        required: true
        schema:
          type: string
        style: simple
      - description: "The id of the rule you plan to delete.\t"
        explode: false
        in: path
        name: rule_id
        required: true
        schema:
          format: int64
          type: integer
        style: simple
      - example: application/json; version=3
        explode: false
        in: header
        name: Accept
        required: false
        schema:
          type: string
        style: simple
      responses:
        "204":
          description: No response
        "400":
          description: Bad Request
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "422":
          description: Unprocessable Entity
        "500":
          description: Internal Server Error
      summary: "/edge_applications/{edge_application_id}/rules_engine/{phase}/rules"
      tags:
      - Edge Applications > Rules Engine
    get:
      parameters:
      - description: "The id of the edge application you want to get.\t"
        explode: false
        in: path
        name: edge_application_id
        required: true
        schema:
          format: int64
          type: integer
        style: simple
      - explode: false
        in: path
        name: phase
        required: true
        schema:
          type: string
        style: simple
      - description: "The id of the rule you plan to delete.\t"
        explode: false
        in: path
        name: rule_id
        required: true
        schema:
          format: int64
          type: integer
        style: simple
      - example: application/json; version=3
        explode: false
        in: header
        name: Accept
        required: false
        schema:
          type: string
        style: simple
      responses:
        "200":
          content:
            application/json; version=3:
              schema:
                $ref: '#/components/schemas/RulesEngineIdResponse'
          description: Successful response
        "400":
          description: Bad Request
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "422":
          description: Unprocessable Entity
        "500":
          description: Internal Server Error
      summary: "/edge_applications/{edge_application_id}/rules_engine/{phase}/rules"
      tags:
      - Edge Applications > Rules Engine
    patch:
      parameters:
      - explode: false
        in: path
        name: edge_application_id
        required: true
        schema:
          format: int64
          type: integer
        style: simple
      - explode: false
        in: path
        name: phase
        required: true
        schema:
          type: string
        style: simple
      - explode: false
        in: path
        name: rule_id
        required: true
        schema:
          format: int64
          type: integer
        style: simple
      - example: application/json; version=3
        explode: false
        in: header
        name: Accept
        required: false
        schema:
          type: string
        style: simple
      - description: |-
          The type of coding used in the Body (application/json).
          <br>

          Example:
          Content-Type: application/json
        example: application/json
        explode: false
        in: header
        name: Content-Type
        required: false
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json; version=3:
            schema:
              $ref: '#/components/schemas/PatchRulesEngineRequest'
      responses:
        "200":
          content:
            application/json; version=3:
              schema:
                $ref: '#/components/schemas/RulesEngineIdResponse'
          description: Successful response
        "400":
          description: Bad Request
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "422":
          description: Unprocessable Entity
        "500":
          description: Internal Server Error
      summary: '/edge_applications/:edge_application_id:/rules_engine/:phase:/rules/:rule_id:'
      tags:
      - Edge Applications > Rules Engine
    put:
      parameters:
      - explode: false
        in: path
        name: edge_application_id
        required: true
        schema:
          format: int64
          type: integer
        style: simple
      - explode: false
        in: path
        name: phase
        required: true
        schema:
          type: string
        style: simple
      - explode: false
        in: path
        name: rule_id
        required: true
        schema:
          format: int64
          type: integer
        style: simple
      - example: application/json; version=3
        explode: false
        in: header
        name: Accept
        required: false
        schema:
          type: string
        style: simple
      - description: |-
          The type of coding used in the Body (application/json).
          <br>

          Example:
          Content-Type: application/json
        example: application/json
        explode: false
        in: header
        name: Content-Type
        required: false
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json; version=3:
            schema:
              $ref: '#/components/schemas/UpdateRulesEngineRequest'
      responses:
        "200":
          content:
            application/json; version=3:
              schema:
                $ref: '#/components/schemas/RulesEngineIdResponse'
          description: Successful response
        "400":
          description: Bad Request
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "422":
          description: Unprocessable Entity
        "500":
          description: Internal Server Error
      summary: '/edge_applications/:edge_application_id:/rules_engine/:phase:/rules/:rule_id:'
      tags:
      - Edge Applications > Rules Engine
  /edge_applications/{edge_application_id}/device_groups:
    get:
      parameters:
      - explode: false
        in: path
        name: edge_application_id
        required: true
        schema:
          format: int64
          type: integer
        style: simple
      - explode: true
        in: query
        name: page
        required: false
        schema:
          format: int64
          type: integer
        style: form
      - explode: true
        in: query
        name: page_size
        required: false
        schema:
          format: int64
          type: integer
        style: form
      - explode: true
        in: query
        name: filter
        required: false
        schema:
          type: string
        style: form
      - explode: true
        in: query
        name: order_by
        required: false
        schema:
          type: string
        style: form
      - explode: true
        in: query
        name: sort
        required: false
        schema:
          type: string
        style: form
      - example: application/json; version=3
        explode: false
        in: header
        name: Accept
        required: false
        schema:
          type: string
        style: simple
      responses:
        "200":
          content:
            application/json; version=3:
              schema:
                $ref: '#/components/schemas/DeviceGroupsResponse'
          description: Successful response
        "400":
          description: Bad Request
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "422":
          description: Unprocessable Entity
        "500":
          description: Internal Server Error
      summary: "/edge_applications/{edge_application_id}/device_groups"
      tags:
      - Edge Applications > Device Groups
    post:
      parameters:
      - explode: false
        in: path
        name: edge_application_id
        required: true
        schema:
          format: int64
          type: integer
        style: simple
      - example: application/json; version=3
        explode: false
        in: header
        name: Accept
        required: false
        schema:
          type: string
        style: simple
      - description: |-
          The type of coding used in the Body (application/json).
          <br>

          Example:
          Content-Type: application/json
        example: application/json
        explode: false
        in: header
        name: Content-Type
        required: false
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json; version=3:
            schema:
              $ref: '#/components/schemas/CreateDeviceGroupsRequest'
      responses:
        "200":
          content:
            application/json; version=3:
              schema:
                $ref: '#/components/schemas/DeviceGroupsIdResponse'
          description: Successful response
        "400":
          description: Bad Request
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "415":
          description: Unsupported Media Type
        "422":
          description: Unprocessable Entity
        "500":
          description: Internal Server Error
      summary: "/edge_applications/{edge_application_id}/device_groups"
      tags:
      - Edge Applications > Device Groups
  /edge_applications/{edge_application_id}/device_groups/{device_group_id}:
    delete:
      parameters:
      - explode: false
        in: path
        name: edge_application_id
        required: true
        schema:
          format: int64
          type: integer
        style: simple
      - explode: false
        in: path
        name: device_group_id
        required: true
        schema:
          format: int64
          type: integer
        style: simple
      - description: The id of the Device Groups that you plan to delete.
        example: application/json; version=3
        explode: false
        in: header
        name: Accept
        required: false
        schema:
          type: string
        style: simple
      responses:
        "204":
          description: No response
        "400":
          description: Bad Request
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "422":
          description: Unprocessable Entity
        "500":
          description: Internal Server Error
      summary: "/edge_applications/{edge_application_id}/device_groups/{device_group_id}"
      tags:
      - Edge Applications > Device Groups
    get:
      parameters:
      - explode: false
        in: path
        name: edge_application_id
        required: true
        schema:
          format: int64
          type: integer
        style: simple
      - explode: false
        in: path
        name: device_group_id
        required: true
        schema:
          format: int64
          type: integer
        style: simple
      - description: The id of the Device Groups that you plan to query.
        example: application/json; version=3
        explode: false
        in: header
        name: Accept
        required: false
        schema:
          type: string
        style: simple
      responses:
        "200":
          content:
            application/json; version=3:
              schema:
                $ref: '#/components/schemas/DeviceGroupsIdResponse'
          description: Successful response
        "400":
          description: Bad Request
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "422":
          description: Unprocessable Entity
        "500":
          description: Internal Server Error
      summary: "/edge_applications/{edge_application_id}/device_groups/{device_group_id}"
      tags:
      - Edge Applications > Device Groups
    patch:
      parameters:
      - explode: false
        in: path
        name: edge_application_id
        required: true
        schema:
          format: int64
          type: integer
        style: simple
      - explode: false
        in: path
        name: device_group_id
        required: true
        schema:
          format: int64
          type: integer
        style: simple
      - example: application/json; version=3
        explode: false
        in: header
        name: Accept
        required: false
        schema:
          type: string
        style: simple
      - description: |-
          The type of coding used in the Body (application/json).
          <br>

          Example:
          Content-Type: application/json
        example: application/json
        explode: false
        in: header
        name: Content-Type
        required: false
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json; version=3:
            schema:
              $ref: '#/components/schemas/PatchDeviceGroupsRequest'
      responses:
        "200":
          content:
            application/json; version=3:
              schema:
                $ref: '#/components/schemas/DeviceGroupsIdResponse'
          description: Successful response
        "400":
          description: Bad Request
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "422":
          description: Unprocessable Entity
        "500":
          description: Internal Server Error
      summary: "/edge_applications/{edge_application_id}/device_groups/{device_group_id}"
      tags:
      - Edge Applications > Device Groups
    put:
      parameters:
      - explode: false
        in: path
        name: edge_application_id
        required: true
        schema:
          format: int64
          type: integer
        style: simple
      - explode: false
        in: path
        name: device_group_id
        required: true
        schema:
          format: int64
          type: integer
        style: simple
      - example: application/json; version=3
        explode: false
        in: header
        name: Accept
        required: false
        schema:
          type: string
        style: simple
      - description: |-
          The type of coding used in the Body (application/json).
          <br>

          Example:
          Content-Type: application/json
        example: application/json
        explode: false
        in: header
        name: Content-Type
        required: false
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json; version=3:
            schema:
              $ref: '#/components/schemas/UpdateDeviceGroupsRequest'
      responses:
        "200":
          content:
            application/json; version=3:
              schema:
                $ref: '#/components/schemas/DeviceGroupsIdResponse'
          description: Successful response
        "400":
          description: Bad Request
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "422":
          description: Unprocessable Entity
        "500":
          description: Internal Server Error
      summary: "/edge_applications/{edge_application_id}/device_groups/{device_group_id}"
      tags:
      - Edge Applications > Device Groups
components:
  schemas:
    GetApplicationsResponse:
      additionalProperties: false
      example:
        schema_version: 1
        count: 1
        links:
          next: next
          previous: previous
        total_pages: 1
        results:
        - id: 5
          name: name
          active: true
          debug_rules: true
          last_editor: last_editor
          last_modified: last_editor
          origins: []
      properties:
        count:
          format: int64
          type: integer
        total_pages:
          format: int64
          type: integer
        schema_version:
          format: int64
          type: integer
        links:
          $ref: '#/components/schemas/ApplicationLinks'
        results:
          items:
            $ref: '#/components/schemas/ApplicationsResults'
          type: array
        next:
          nullable: true
          type: string
        previous:
          nullable: true
          type: string
      required:
      - count
      - links
      - results
      - schema_version
      - total_pages
      type: object
    ApplicationLinks:
      additionalProperties: false
      example:
        next: next
        previous: previous
      properties:
        previous:
          nullable: true
          type: string
        next:
          nullable: true
          type: string
      required:
      - next
      - previous
      type: object
    ApplicationsResults:
      additionalProperties: false
      properties:
        id:
          format: int64
          type: integer
        name:
          type: string
        debug_rules:
          type: boolean
        last_editor:
          type: string
        last_modified:
          type: string
        active:
          type: boolean
        origins:
          items:
            $ref: '#/components/schemas/ApplicationOrigins'
          type: array
      required:
      - active
      - debug_rules
      - id
      - last_editor
      - last_modified
      - name
      - origins
      type: object
    ApplicationOrigins:
      additionalProperties: false
      properties:
        name:
          type: string
        origin_type:
          type: string
        origin_id:
          type: string
      type: object
    GetApplicationResponse:
      additionalProperties: false
      example:
        schema_version: 0
        results:
          load_balancer: true
          application_acceleration: true
          web_application_firewall: true
          device_detection: true
          raw_logs: true
          active: true
          debug_rules: true
          http3: true
          supported_ciphers: supported_ciphers
          delivery_protocol: delivery_protocol
          edge_firewall: true
          caching: true
          http_port:
          - 5
          https_port:
          - 2
          minimum_tls_version: minimum_tls_version
          name: name
          edge_functions: true
          l2_caching: true
          id: 5
          image_optimization: true
      properties:
        results:
          $ref: '#/components/schemas/ApplicationResults'
        schema_version:
          format: int64
          type: integer
      required:
      - results
      - schema_version
      type: object
    ApplicationResults:
      additionalProperties: false
      example:
        load_balancer: true
        application_acceleration: true
        web_application_firewall: true
        device_detection: true
        raw_logs: true
        active: true
        http3: true
        supported_ciphers: supported_ciphers
        debug_rules: true
        delivery_protocol: delivery_protocol
        edge_firewall: true
        caching: true
        http_port:
        - 5
        https_port:
        - 2
        minimum_tls_version: minimum_tls_version
        name: name
        edge_functions: true
        l2_caching: true
        id: 5
        image_optimization: true
      properties:
        id:
          format: int64
          type: integer
        name:
          type: string
        active:
          type: boolean
        debug_rules:
          type: boolean
        http3:
          type: boolean
        supported_ciphers:
          type: string
        delivery_protocol:
          type: string
        http_port: {}
        https_port: {}
        minimum_tls_version:
          type: string
        application_acceleration:
          type: boolean
        caching:
          type: boolean
        device_detection:
          type: boolean
        edge_firewall:
          type: boolean
        edge_functions:
          type: boolean
        image_optimization:
          type: boolean
        l2_caching:
          type: boolean
        load_balancer:
          type: boolean
        raw_logs:
          type: boolean
        web_application_firewall:
          type: boolean
        websocket:
          type: boolean
      required:
      - active
      - application_acceleration
      - caching
      - debug_rules
      - delivery_protocol
      - device_detection
      - edge_firewall
      - edge_functions
      - http3
      - http_port
      - https_port
      - id
      - image_optimization
      - l2_caching
      - load_balancer
      - minimum_tls_version
      - name
      - raw_logs
      - supported_ciphers
      - web_application_firewall
      type: object
    CreateApplicationRequest:
      additionalProperties: false
      example:
        address: address
        browser_cache_settings: browser_cache_settings
        cdn_cache_settings: cdn_cache_settings
        origin_protocol_policy: origin_protocol_policy
        name: name
        minimum_tls_version: minimum_tls_version
        delivery_protocol: delivery_protocol
        browser_cache_settings_maximum_ttl: 0
        origin_type: origin_type
        cdn_cache_settings_maximum_ttl: 6
        host_header: host_header
      properties:
        name:
          type: string
        application_acceleration:
          type: boolean
        delivery_protocol:
          type: string
        origin_type:
          type: string
        address:
          type: string
        minimum_tls_version:
          type: string
        origin_protocol_policy:
          type: string
        host_header:
          type: string
        browser_cache_settings:
          type: string
        cdn_cache_settings:
          type: string
        browser_cache_settings_maximum_ttl:
          format: int64
          type: integer
        cdn_cache_settings_maximum_ttl:
          format: int64
          type: integer
        debug_rules:
          type: boolean
        supported_ciphers:
          type: string
        http_port: {}
        https_port: {}
        l2_caching:
          type: boolean
        http3:
          type: boolean
        websocket:
          type: boolean
      required:
      - name
      type: object
    CreateApplicationResult:
      additionalProperties: false
      example:
        schema_version: 5
        results:
          load_balancer: true
          application_acceleration: true
          web_application_firewall: true
          device_detection: true
          raw_logs: true
          active: true
          http3: true
          supported_ciphers: supported_ciphers
          debug_rules: true
          delivery_protocol: delivery_protocol
          edge_firewall: true
          caching: true
          http_port:
          - 6
          https_port:
          - 1
          minimum_tls_version: minimum_tls_version
          name: name
          edge_functions: true
          id: 0
          image_optimization: true
      properties:
        results:
          $ref: '#/components/schemas/ApplicationResultsCreate'
        schema_version:
          format: int64
          type: integer
      required:
      - results
      - schema_version
      type: object
    ApplicationResultsCreate:
      additionalProperties: false
      example:
        load_balancer: true
        application_acceleration: true
        web_application_firewall: true
        device_detection: true
        raw_logs: true
        active: true
        http3: true
        supported_ciphers: supported_ciphers
        debug_rules: true
        delivery_protocol: delivery_protocol
        edge_firewall: true
        caching: true
        http_port:
        - 6
        https_port:
        - 1
        minimum_tls_version: minimum_tls_version
        name: name
        edge_functions: true
        id: 0
        image_optimization: true
      properties:
        id:
          format: int64
          type: integer
        name:
          type: string
        active:
          type: boolean
        debug_rules:
          type: boolean
        http3:
          type: boolean
        supported_ciphers:
          type: string
        delivery_protocol:
          type: string
        http_port: {}
        https_port: {}
        minimum_tls_version:
          type: string
        application_acceleration:
          type: boolean
        caching:
          type: boolean
        device_detection:
          type: boolean
        edge_firewall:
          type: boolean
        edge_functions:
          type: boolean
        image_optimization:
          type: boolean
        load_balancer:
          type: boolean
        raw_logs:
          type: boolean
        web_application_firewall:
          type: boolean
        l2_caching:
          type: boolean
        websocket:
          type: boolean
      required:
      - active
      - application_acceleration
      - caching
      - debug_rules
      - delivery_protocol
      - device_detection
      - edge_firewall
      - edge_functions
      - http3
      - http_port
      - https_port
      - id
      - image_optimization
      - load_balancer
      - minimum_tls_version
      - name
      - raw_logs
      - supported_ciphers
      - web_application_firewall
      type: object
    ApplicationUpdateRequest:
      additionalProperties: false
      example:
        load_balancer: true
        application_acceleration: true
        web_application_firewall: true
        device_detection: true
        raw_logs: true
        active: true
        debug_rules: false
        delivery_protocol: delivery_protocol
        edge_firewall: true
        http_port:
        - 0
        https_port:
        - 6
        minimum_tls_version: minimum_tls_version
        name: name
        edge_functions: true
        l2_caching: true
        image_optimization: true
      properties:
        name:
          type: string
        delivery_protocol:
          type: string
        http_port: {}
        https_port: {}
        minimum_tls_version:
          type: string
        active:
          type: boolean
        debug_rules:
          type: boolean
        application_acceleration:
          type: boolean
        device_detection:
          type: boolean
        edge_firewall:
          type: boolean
        edge_functions:
          type: boolean
        image_optimization:
          type: boolean
        l2_caching:
          type: boolean
        load_balancer:
          type: boolean
        raw_logs:
          type: boolean
        web_application_firewall:
          type: boolean
        websocket:
          type: boolean
      type: object
    ApplicationUpdateResponse:
      additionalProperties: false
      example:
        schema_version: 0
        results:
          load_balancer: true
          application_acceleration: true
          web_application_firewall: true
          device_detection: true
          raw_logs: true
          active: true
          debug_rules: true
          http3: true
          supported_ciphers: all
          delivery_protocol: delivery_protocol
          edge_firewall: true
          caching: true
          http_port:
          - 6
          https_port:
          - 1
          minimum_tls_version: minimum_tls_version
          name: name
          edge_functions: true
          l2_caching: true
          id: 0
          image_optimization: true
      properties:
        results:
          $ref: '#/components/schemas/ApplicationUpdateResults'
        schema_version:
          format: int64
          type: integer
      required:
      - results
      - schema_version
      type: object
    ApplicationUpdateResults:
      additionalProperties: false
      example:
        load_balancer: true
        application_acceleration: true
        web_application_firewall: true
        device_detection: true
        raw_logs: true
        active: true
        http3: true
        supported_ciphers: supported_ciphers
        debug_rules: true
        delivery_protocol: delivery_protocol
        edge_firewall: true
        caching: true
        http_port:
        - 6
        https_port:
        - 1
        minimum_tls_version: minimum_tls_version
        name: name
        edge_functions: true
        l2_caching: true
        id: 0
        image_optimization: true
      properties:
        id:
          format: int64
          type: integer
        name:
          type: string
        delivery_protocol:
          type: string
        http_port: {}
        https_port: {}
        minimum_tls_version:
          type: string
        active:
          type: boolean
        debug_rules:
          type: boolean
        http3:
          type: boolean
        supported_ciphers:
          type: string
        application_acceleration:
          type: boolean
        caching:
          type: boolean
        device_detection:
          type: boolean
        edge_firewall:
          type: boolean
        edge_functions:
          type: boolean
        image_optimization:
          type: boolean
        l2_caching:
          type: boolean
        load_balancer:
          type: boolean
        raw_logs:
          type: boolean
        web_application_firewall:
          type: boolean
        websocket:
          type: boolean
      required:
      - active
      - application_acceleration
      - caching
      - debug_rules
      - delivery_protocol
      - device_detection
      - edge_firewall
      - edge_functions
      - http3
      - http_port
      - https_port
      - id
      - image_optimization
      - l2_caching
      - load_balancer
      - minimum_tls_version
      - name
      - raw_logs
      - supported_ciphers
      - web_application_firewall
      type: object
    ApplicationPutRequest:
      additionalProperties: false
      example:
        load_balancer: true
        application_acceleration: true
        web_application_firewall: true
        device_detection: true
        raw_logs: true
        active: true
        delivery_protocol: delivery_protocol
        edge_firewall: true
        http_port:
        - 0
        https_port:
        - 6
        minimum_tls_version: minimum_tls_version
        name: name
        edge_functions: true
        l2_caching: true
        image_optimization: true
      properties:
        name:
          type: string
        delivery_protocol:
          type: string
        http_port: {}
        https_port: {}
        minimum_tls_version:
          type: string
        active:
          type: boolean
        application_acceleration:
          type: boolean
        device_detection:
          type: boolean
        edge_firewall:
          type: boolean
        edge_functions:
          type: boolean
        image_optimization:
          type: boolean
        l2_caching:
          type: boolean
        load_balancer:
          type: boolean
        raw_logs:
          type: boolean
        web_application_firewall:
          type: boolean
        debug_rules:
          type: boolean
        http3:
          type: boolean
        websocket:
          type: boolean
        supported_ciphers:
          type: string
      required:
      - name
      type: object
    ApplicationPutResult:
      additionalProperties: false
      example:
        schema_version: 5
        results:
          load_balancer: true
          supported_ciphers: supported_ciphers
          application_acceleration: true
          web_application_firewall: true
          debug_rules: true
          device_detection: true
          raw_logs: true
          http3: true
          active: true
          delivery_protocol: delivery_protocol
          edge_firewall: true
          caching: true
          http_port:
          - 6
          https_port:
          - 1
          minimum_tls_version: minimum_tls_version
          name: name
          edge_functions: true
          l2_caching: true
          id: 0
          image_optimization: true
      properties:
        results:
          $ref: '#/components/schemas/ApplicationUpdateResults'
        schema_version:
          format: int64
          type: integer
      required:
      - results
      - schema_version
      type: object
    ApplicationCacheGetResponse:
      additionalProperties: false
      example:
        schema_version: 1
        count: 0
        links:
          next: next
          previous: previous
        total_pages: 6
        results:
        - id: 5
          name: name
          browser_cache_settings: browser_cache_settings
          browser_cache_settings_maximum_ttl: 5
          cdn_cache_settings: cdn_cache_settings
          cdn_cache_settings_maximum_ttl: 2
          cache_by_query_string: cache_by_query_string
          query_string_fields:
          - query_string_fields
          - query_string_fields
          enable_query_string_sort: true
          cache_by_cookies: cache_by_cookies
          cookie_names:
          - cookie_names
          - cookie_names
          adaptive_delivery_action: adaptive_delivery_action
          device_group:
          - 1
          - 2
          enable_caching_for_post: true
          l2_caching_enabled: true
          is_slice_configuration_enabled: true
          is_slice_edge_caching_enabled: true
          is_slice_l2_caching_enabled: true
          slice_configuration_range: 1024
          enable_caching_for_options: true
          enable_stale_cache: true
          l2_region: l2_region
        - id: 5
          name: name
          browser_cache_settings: browser_cache_settings
          browser_cache_settings_maximum_ttl: 5
          cdn_cache_settings: cdn_cache_settings
          cdn_cache_settings_maximum_ttl: 2
          cache_by_query_string: cache_by_query_string
          query_string_fields:
          - query_string_fields
          - query_string_fields
          enable_query_string_sort: true
          cache_by_cookies: cache_by_cookies
          cookie_names:
          - cookie_names
          - cookie_names
          adaptive_delivery_action: adaptive_delivery_action
          device_group:
          - 1
          - 2
          enable_caching_for_post: true
          l2_caching_enabled: true
          is_slice_configuration_enabled: true
          is_slice_edge_caching_enabled: true
          is_slice_l2_caching_enabled: true
          slice_configuration_range: 1024
          enable_caching_for_options: true
          enable_stale_cache: true
          l2_region: l2_region
      properties:
        count:
          format: int64
          type: integer
        total_pages:
          format: int64
          type: integer
        schema_version:
          format: int64
          type: integer
        links:
          $ref: '#/components/schemas/ApplicationLinks'
        results:
          items:
            $ref: '#/components/schemas/ApplicationCacheResults'
          type: array
      required:
      - count
      - links
      - results
      - schema_version
      - total_pages
      type: object
    ApplicationCacheGetOneResponse:
      additionalProperties: false
      example:
        schema_version: 0
        results:
          id: 5
          name: name
          browser_cache_settings: browser_cache_settings
          browser_cache_settings_maximum_ttl: 5
          cdn_cache_settings: cdn_cache_settings
          cdn_cache_settings_maximum_ttl: 2
          cache_by_query_string: cache_by_query_string
          query_string_fields:
          - query_string_fields
          - query_string_fields
          enable_query_string_sort: true
          cache_by_cookies: cache_by_cookies
          cookie_names:
          - cookie_names
          - cookie_names
          adaptive_delivery_action: adaptive_delivery_action
          device_group:
          - 1
          - 2
          enable_caching_for_post: true
          l2_caching_enabled: true
          enable_caching_for_options: true
          enable_stale_cache: true
          l2_region: l2_region
      properties:
        results:
          $ref: '#/components/schemas/ApplicationCacheResults'
        schema_version:
          format: int64
          type: integer
      required:
      - results
      - schema_version
      type: object
    ApplicationCacheResults:
      additionalProperties: false
      example:
        id: 5
        name: name
        browser_cache_settings: browser_cache_settings
        browser_cache_settings_maximum_ttl: 5
        cdn_cache_settings: cdn_cache_settings
        cdn_cache_settings_maximum_ttl: 2
        cache_by_query_string: cache_by_query_string
        query_string_fields:
        - query_string_fields
        - query_string_fields
        enable_query_string_sort: true
        cache_by_cookies: cache_by_cookies
        cookie_names:
        - cookie_names
        - cookie_names
        adaptive_delivery_action: adaptive_delivery_action
        device_group:
        - 1
        - 2
        enable_caching_for_post: true
        l2_caching_enabled: true
        is_slice_configuration_enabled: true
        is_slice_edge_caching_enabled: true
        is_slice_l2_caching_enabled: true
        slice_configuration_range: 1024
        enable_caching_for_options: true
        enable_stale_cache: true
        l2_region: l2_region
      properties:
        id:
          format: int64
          type: integer
        name:
          type: string
        browser_cache_settings:
          type: string
        browser_cache_settings_maximum_ttl:
          format: int64
          type: integer
        cdn_cache_settings:
          type: string
        cdn_cache_settings_maximum_ttl:
          format: int64
          type: integer
        cache_by_query_string:
          type: string
        query_string_fields:
          items:
            type: string
          nullable: true
          type: array
        enable_query_string_sort:
          type: boolean
        cache_by_cookies:
          type: string
        cookie_names:
          items:
            nullable: true
            type: string
          nullable: true
          type: array
        adaptive_delivery_action:
          type: string
        device_group:
          items:
            type: integer
          type: array
        enable_caching_for_post:
          type: boolean
        l2_caching_enabled:
          type: boolean
        is_slice_configuration_enabled:
          type: boolean
        is_slice_edge_caching_enabled:
          type: boolean
        is_slice_l2_caching_enabled:
          type: boolean
        slice_configuration_range:
          format: int64
          type: integer
        enable_caching_for_options:
          type: boolean
        enable_stale_cache:
          type: boolean
        l2_region:
          nullable: true
          type: string
      required:
      - adaptive_delivery_action
      - browser_cache_settings
      - browser_cache_settings_maximum_ttl
      - cache_by_cookies
      - cache_by_query_string
      - cdn_cache_settings
      - cdn_cache_settings_maximum_ttl
      - cookie_names
      - device_group
      - enable_caching_for_options
      - enable_caching_for_post
      - enable_query_string_sort
      - enable_stale_cache
      - id
      - l2_caching_enabled
      - l2_region
      - name
      - query_string_fields
      type: object
    ApplicationCacheCreateRequest:
      additionalProperties: false
      example:
        name: name
        browser_cache_settings: browser_cache_settings
        browser_cache_settings_maximum_ttl: 0
        cdn_cache_settings: cdn_cache_settings
        cdn_cache_settings_maximum_ttl: 6
        cache_by_query_string: cache_by_query_string
        query_string_fields:
        - query_string_fields
        - query_string_fields
        enable_query_string_sort: true
        cache_by_cookies: cache_by_cookies
        cookie_names:
        - cookie_names
        - cookie_names
        adaptive_delivery_action: adaptive_delivery_action
        device_group:
        - 1
        - 2
        enable_caching_for_post: true
        l2_caching_enabled: true
        is_slice_configuration_enabled: true
        is_slice_edge_caching_enabled: true
        is_slice_l2_caching_enabled: true
        slice_configuration_range: 1
        enable_caching_for_options: true
        enable_stale_cache: true
        l2_region: l2_region
      properties:
        name:
          type: string
        browser_cache_settings:
          type: string
        browser_cache_settings_maximum_ttl:
          format: int64
          type: integer
        cdn_cache_settings:
          type: string
        cdn_cache_settings_maximum_ttl:
          format: int64
          type: integer
        cache_by_query_string:
          type: string
        query_string_fields:
          items:
            type: string
          type: array
        enable_query_string_sort:
          type: boolean
        cache_by_cookies:
          type: string
        cookie_names:
          items:
            type: string
          type: array
        adaptive_delivery_action:
          type: string
        device_group:
          items:
            type: integer
          type: array
        enable_caching_for_post:
          type: boolean
        l2_caching_enabled:
          type: boolean
        is_slice_configuration_enabled:
          type: boolean
        is_slice_edge_caching_enabled:
          type: boolean
        is_slice_l2_caching_enabled:
          type: boolean
        slice_configuration_range:
          format: int64
          type: integer
        enable_caching_for_options:
          type: boolean
        enable_stale_cache:
          type: boolean
        l2_region:
          type: string
      required:
      - name
      type: object
    ApplicationCacheCreateResponse:
      additionalProperties: false
      example:
        schema_version: 5
        results:
          id: 0
          name: name
          browser_cache_settings: browser_cache_settings
          browser_cache_settings_maximum_ttl: 6
          cdn_cache_settings: cdn_cache_settings
          cdn_cache_settings_maximum_ttl: 1
          cache_by_query_string: cache_by_query_string
          query_string_fields:
          - query_string_fields
          - query_string_fields
          enable_query_string_sort: true
          cache_by_cookies: cache_by_cookies
          cookie_names:
          - cookie_names
          - cookie_names
          adaptive_delivery_action: adaptive_delivery_action
          device_group:
          - 1
          - 2
          enable_caching_for_post: true
          l2_caching_enabled: true
          is_slice_configuration_enabled: true
          is_slice_edge_caching_enabled: true
          is_slice_l2_caching_enabled: true
          slice_configuration_range: 1024
          enable_caching_for_options: true
          enable_stale_cache: true
          l2_region: l2_region
      properties:
        results:
          $ref: '#/components/schemas/ApplicationCacheCreateResults'
        schema_version:
          format: int64
          type: integer
      type: object
    ApplicationCacheCreateResults:
      additionalProperties: false
      example:
        id: 0
        name: name
        browser_cache_settings: browser_cache_settings
        browser_cache_settings_maximum_ttl: 6
        cdn_cache_settings: cdn_cache_settings
        cdn_cache_settings_maximum_ttl: 1
        cache_by_query_string: cache_by_query_string
        query_string_fields:
        - query_string_fields
        - query_string_fields
        enable_query_string_sort: true
        cache_by_cookies: cache_by_cookies
        cookie_names:
        - cookie_names
        - cookie_names
        adaptive_delivery_action: adaptive_delivery_action
        device_group:
        - 1
        - 2
        enable_caching_for_post: true
        l2_caching_enabled: true
        is_slice_configuration_enabled: true
        is_slice_edge_caching_enabled: true
        is_slice_l2_caching_enabled: true
        slice_configuration_range: 1024
        enable_caching_for_options: true
        enable_stale_cache: true
        l2_region: l2_region
      properties:
        id:
          format: int64
          type: integer
        name:
          type: string
        browser_cache_settings:
          type: string
        browser_cache_settings_maximum_ttl:
          format: int64
          type: integer
        cdn_cache_settings:
          type: string
        cdn_cache_settings_maximum_ttl:
          format: int64
          type: integer
        cache_by_query_string:
          type: string
        query_string_fields:
          items:
            type: string
          type: array
        enable_query_string_sort:
          type: boolean
        cache_by_cookies:
          type: string
        cookie_names:
          items:
            type: string
          type: array
        adaptive_delivery_action:
          type: string
        device_group:
          items:
            type: integer
          type: array
        enable_caching_for_post:
          type: boolean
        l2_caching_enabled:
          type: boolean
        is_slice_configuration_enabled:
          type: boolean
        is_slice_edge_caching_enabled:
          type: boolean
        is_slice_l2_caching_enabled:
          type: boolean
        slice_configuration_range:
          format: int64
          type: integer
        enable_caching_for_options:
          type: boolean
        enable_stale_cache:
          type: boolean
        l2_region:
          type: string
      required:
      - adaptive_delivery_action
      - browser_cache_settings
      - browser_cache_settings_maximum_ttl
      - cache_by_cookies
      - cache_by_query_string
      - cdn_cache_settings
      - cdn_cache_settings_maximum_ttl
      - cookie_names
      - device_group
      - enable_caching_for_post
      - enable_query_string_sort
      - id
      - l2_caching_enabled
      - name
      - query_string_fields
      type: object
    ApplicationCachePutRequest:
      additionalProperties: false
      example:
        name: name
        browser_cache_settings: browser_cache_settings
        browser_cache_settings_maximum_ttl: 0
        cdn_cache_settings: cdn_cache_settings
        cdn_cache_settings_maximum_ttl: 6
        cache_by_query_string: cache_by_query_string
        query_string_fields:
        - query_string_fields
        - query_string_fields
        enable_query_string_sort: true
        cache_by_cookies: cache_by_cookies
        cookie_names:
        - cookie_names
        - cookie_names
        adaptive_delivery_action: adaptive_delivery_action
        device_group:
        - 1
        - 2
        enable_caching_for_post: true
        l2_caching_enabled: true
        is_slice_configuration_enabled: true
        is_slice_edge_caching_enabled: true
        is_slice_l2_caching_enabled: true
        slice_configuration_range: 1
        enable_caching_for_options: true
        enable_stale_cache: true
        l2_region: l2_region
      properties:
        name:
          type: string
        browser_cache_settings:
          type: string
        browser_cache_settings_maximum_ttl:
          format: int64
          type: integer
        cdn_cache_settings:
          type: string
        cdn_cache_settings_maximum_ttl:
          format: int64
          type: integer
        cache_by_query_string:
          type: string
        query_string_fields:
          items:
            type: string
          type: array
        enable_query_string_sort:
          type: boolean
        cache_by_cookies:
          type: string
        cookie_names:
          items:
            type: string
          type: array
        adaptive_delivery_action:
          type: string
        device_group:
          items:
            type: integer
          type: array
        enable_caching_for_post:
          type: boolean
        l2_caching_enabled:
          type: boolean
        is_slice_configuration_enabled:
          type: boolean
        is_slice_edge_caching_enabled:
          type: boolean
        is_slice_l2_caching_enabled:
          type: boolean
        slice_configuration_range:
          format: int64
          type: integer
        enable_caching_for_options:
          type: boolean
        enable_stale_cache:
          type: boolean
        l2_region:
          type: string
      required:
      - name
      type: object
    ApplicationCachePutResponse:
      additionalProperties: false
      example:
        schema_version: 5
        results:
          id: 0
          name: name
          browser_cache_settings: browser_cache_settings
          browser_cache_settings_maximum_ttl: 6
          cdn_cache_settings: cdn_cache_settings
          cdn_cache_settings_maximum_ttl: 1
          cache_by_query_string: cache_by_query_string
          query_string_fields:
          - query_string_fields
          - query_string_fields
          enable_query_string_sort: true
          cache_by_cookies: cache_by_cookies
          cookie_names:
          - cookie_names
          - cookie_names
          adaptive_delivery_action: adaptive_delivery_action
          device_group:
          - 1
          - 2
          enable_caching_for_post: true
          l2_caching_enabled: true
          is_slice_configuration_enabled: true
          is_slice_edge_caching_enabled: true
          is_slice_l2_caching_enabled: true
          slice_configuration_range: 1024
          enable_caching_for_options: true
          enable_stale_cache: true
          l2_region: l2_region
      properties:
        results:
          $ref: '#/components/schemas/ApplicationCacheResponseDetails'
        schema_version:
          format: int64
          type: integer
      required:
      - results
      - schema_version
      type: object
    ApplicationCachePatchRequest:
      additionalProperties: false
      example:
        cache_by_cookies: cache_by_cookies
        is_slice_configuration_enabled: true
        slice_configuration_range: 1
        enable_query_string_sort: true
        l2_caching_enabled: true
        browser_cache_settings: browser_cache_settings
        is_slice_l2_caching_enabled: true
        cdn_cache_settings: cdn_cache_settings
        query_string_fields:
        - query_string_fields
        - query_string_fields
        is_slice_edge_caching_enabled: true
        name: name
        enable_caching_for_post: true
        cookie_names:
        - cookie_names
        - cookie_names
        cache_by_query_string: cache_by_query_string
        browser_cache_settings_maximum_ttl: 0
        cdn_cache_settings_maximum_ttl: 6
      properties:
        name:
          type: string
        browser_cache_settings:
          type: string
        browser_cache_settings_maximum_ttl:
          format: int64
          type: integer
        cdn_cache_settings:
          type: string
        adaptive_delivery_action:
          type: string
        enable_caching_for_options:
          type: boolean
        cdn_cache_settings_maximum_ttl:
          format: int64
          type: integer
        cache_by_query_string:
          type: string
        query_string_fields:
          items:
            type: string
          type: array
        enable_query_string_sort:
          type: boolean
        cache_by_cookies:
          type: string
        cookie_names:
          items:
            type: string
          type: array
        enable_caching_for_post:
          type: boolean
        l2_caching_enabled:
          type: boolean
        is_slice_configuration_enabled:
          type: boolean
        is_slice_edge_caching_enabled:
          type: boolean
        is_slice_l2_caching_enabled:
          type: boolean
        slice_configuration_range:
          format: int64
          type: integer
      type: object
    ApplicationCachePatchResponse:
      additionalProperties: false
      example:
        schema_version: 0
        results:
          cache_by_cookies: cache_by_cookies
          device_group:
          - 1
          - 2
          enable_query_string_sort: true
          l2_caching_enabled: true
          browser_cache_settings: browser_cache_settings
          cdn_cache_settings: cdn_cache_settings
          query_string_fields:
          - query_string_fields
          - query_string_fields
          adaptive_delivery_action: adaptive_delivery_action
          name: name
          enable_caching_for_post: true
          cookie_names:
          - cookie_names
          - cookie_names
          id: 0
          cache_by_query_string: cache_by_query_string
          browser_cache_settings_maximum_ttl: 6
          cdn_cache_settings_maximum_ttl: 1
      properties:
        results:
          $ref: '#/components/schemas/ApplicationCacheResponseDetails'
        schema_version:
          format: int64
          type: integer
      type: object
    ApplicationCacheResponseDetails:
      additionalProperties: false
      example:
        id: 0
        name: name
        browser_cache_settings: browser_cache_settings
        browser_cache_settings_maximum_ttl: 6
        cdn_cache_settings: cdn_cache_settings
        cdn_cache_settings_maximum_ttl: 1
        cache_by_query_string: cache_by_query_string
        query_string_fields:
        - query_string_fields
        - query_string_fields
        enable_query_string_sort: true
        cache_by_cookies: cache_by_cookies
        cookie_names:
        - cookie_names
        - cookie_names
        adaptive_delivery_action: adaptive_delivery_action
        device_group:
        - 1
        - 2
        enable_caching_for_post: true
        l2_caching_enabled: true
        is_slice_configuration_enabled: true
        is_slice_edge_caching_enabled: true
        is_slice_l2_caching_enabled: true
        slice_configuration_range: 1024
        enable_caching_for_options: true
        enable_stale_cache: true
        l2_region: l2_region
      properties:
        id:
          format: int64
          type: integer
        name:
          type: string
        browser_cache_settings:
          type: string
        browser_cache_settings_maximum_ttl:
          format: int64
          type: integer
        cdn_cache_settings:
          type: string
        cdn_cache_settings_maximum_ttl:
          format: int64
          type: integer
        cache_by_query_string:
          type: string
        query_string_fields:
          items:
            type: string
          nullable: true
          type: array
        enable_query_string_sort:
          type: boolean
        cache_by_cookies:
          type: string
        cookie_names:
          items:
            type: string
          nullable: true
          type: array
        adaptive_delivery_action:
          type: string
        device_group:
          items:
            type: integer
          type: array
        enable_caching_for_post:
          type: boolean
        enable_caching_for_options:
          type: boolean
        l2_caching_enabled:
          type: boolean
        is_slice_configuration_enabled:
          type: boolean
        is_slice_edge_caching_enabled:
          type: boolean
        is_slice_l2_caching_enabled:
          type: boolean
        slice_configuration_range:
          format: int64
          type: integer
        enable_stale_cache:
          type: boolean
        l2_region:
          nullable: true
          type: string
      required:
      - browser_cache_settings
      - browser_cache_settings_maximum_ttl
      - cache_by_cookies
      - cache_by_query_string
      - cdn_cache_settings
      - cdn_cache_settings_maximum_ttl
      - cookie_names
      - enable_caching_for_post
      - enable_query_string_sort
      - id
      - l2_caching_enabled
      - name
      - query_string_fields
      type: object
    ApplicationInstancesGetResponse:
      additionalProperties: false
      example:
        schema_version: 1
        count: 0
        links:
          next: next
          previous: previous
        total_pages: 6
        results:
        - args: ""
          edge_function_id: 5
          name: name
          id: 5
        - args: ""
          edge_function_id: 5
          name: name
          id: 5
      properties:
        count:
          format: int64
          type: integer
        total_pages:
          format: int64
          type: integer
        schema_version:
          format: int64
          type: integer
        links:
          $ref: '#/components/schemas/ApplicationLinks'
        results:
          items:
            $ref: '#/components/schemas/ApplicationInstancesResults'
          type: array
      required:
      - count
      - links
      - results
      - schema_version
      - total_pages
      type: object
    ApplicationInstancesGetOneResponse:
      additionalProperties: false
      example:
        schema_version: 0
        results:
          args: ""
          edge_function_id: 5
          name: name
          id: 5
      properties:
        results:
          $ref: '#/components/schemas/ApplicationInstancesResults'
        schema_version:
          format: int64
          type: integer
      required:
      - results
      - schema_version
      type: object
    ApplicationInstancesResults:
      example:
        args: ""
        edge_function_id: 5
        name: name
        id: 5
      properties:
        id:
          format: int64
          type: integer
        edge_function_id:
          format: int64
          type: integer
        name:
          type: string
        args: {}
      required:
      - args
      - edge_function_id
      - id
      - name
    ApplicationCreateInstanceRequest:
      example:
        args: ""
        edge_function_id: 0
        name: name
      properties:
        name:
          type: string
        edge_function_id:
          format: int64
          type: integer
        args: {}
      required:
      - args
      - edge_function_id
      - name
    ApplicationPutInstanceRequest:
      example:
        args: ""
        edge_function_id: 0
        name: name
      properties:
        name:
          type: string
        edge_function_id:
          format: int64
          type: integer
        args: {}
      required:
      - args
      - edge_function_id
      - name
    ApplicationUpdateInstanceRequest:
      example:
        args: ""
        edge_function_id: 0
        name: name
      properties:
        name:
          nullable: true
          type: string
        edge_function_id:
          format: int64
          nullable: true
          type: integer
        args: {}
      required:
      - args
      - edge_function_id
      - name
    ApplicationInstanceResults:
      additionalProperties: false
      example:
        schema_version: 0
        results:
          args: ""
          edge_function_id: 5
          name: name
          id: 5
      properties:
        schema_version:
          format: int64
          type: integer
        results:
          $ref: '#/components/schemas/ApplicationInstancesResults'
      type: object
    CreateOriginsRequest:
      additionalProperties: false
      example:
        addresses:
        - address: address
        - address: address
        hmac_secret_key: hmac_secret_key
        origin_path: origin_path
        origin_protocol_policy: origin_protocol_policy
        hmac_region_name: hmac_region_name
        hmac_access_key: hmac_access_key
        name: name
        origin_type: origin_type
        host_header: host_header
        hmac_authentication: true
        bucket: bucket
        prefix: prefix
      properties:
        name:
          type: string
        origin_type:
          type: string
        addresses:
          items:
            $ref: '#/components/schemas/CreateOriginsRequest_addresses'
          type: array
        origin_protocol_policy:
          type: string
        host_header:
          type: string
        origin_path:
          type: string
        hmac_authentication:
          type: boolean
        hmac_region_name:
          type: string
        hmac_access_key:
          type: string
        hmac_secret_key:
          type: string
        bucket:
          type: string
        prefix:
          type: string
      required:
      - name
      type: object
    UpdateOriginsRequest:
      additionalProperties: false
      example:
        addresses:
        - address: address
        - address: address
        hmac_secret_key: hmac_secret_key
        origin_path: origin_path
        origin_protocol_policy: origin_protocol_policy
        hmac_region_name: hmac_region_name
        hmac_access_key: hmac_access_key
        name: name
        origin_type: origin_type
        host_header: host_header
        hmac_authentication: true
        bucket: bucket
        prefix: prefix
      properties:
        name:
          type: string
        origin_type:
          type: string
        addresses:
          items:
            $ref: '#/components/schemas/CreateOriginsRequest_addresses'
          type: array
        origin_protocol_policy:
          type: string
        host_header:
          type: string
        origin_path:
          type: string
        hmac_authentication:
          type: boolean
        hmac_region_name:
          type: string
        hmac_access_key:
          type: string
        hmac_secret_key:
          type: string
        bucket:
          type: string
        prefix:
          type: string
      required:
      - name
      type: object
    PatchOriginsRequest:
      additionalProperties: false
      example:
        addresses:
        - address: address
        - address: address
        hmac_secret_key: hmac_secret_key
        origin_path: origin_path
        origin_protocol_policy: origin_protocol_policy
        hmac_region_name: hmac_region_name
        hmac_access_key: hmac_access_key
        name: name
        origin_type: origin_type
        host_header: host_header
        hmac_authentication: true
        bucket: bucket
        prefix: prefix
      properties:
        name:
          type: string
        origin_type:
          type: string
        addresses:
          items:
            $ref: '#/components/schemas/CreateOriginsRequest_addresses'
          type: array
        origin_protocol_policy:
          type: string
        host_header:
          type: string
        origin_path:
          type: string
        hmac_authentication:
          type: boolean
        hmac_region_name:
          type: string
        hmac_access_key:
          type: string
        hmac_secret_key:
          type: string
        bucket:
          type: string
        prefix:
          type: string
      type: object
    OriginsResultResponse:
      additionalProperties: false
      example:
        timeout_between_bytes: 2
        addresses:
        - address: address
          is_active: true
          weight: weight
          server_role: server_role
        - address: address
          is_active: true
          weight: weight
          server_role: server_role
        hmac_secret_key: hmac_secret_key
        method: method
        origin_path: origin_path
        origin_protocol_policy: origin_protocol_policy
        hmac_region_name: hmac_region_name
        hmac_access_key: hmac_access_key
        origin_id: 5
        is_origin_redirection_enabled: true
        origin_type: origin_type
        host_header: host_header
        origin_key: origin_key
        name: name
        connection_timeout: 5
        hmac_authentication: true
        bucket: bucket
        prefix: prefix
      properties:
        origin_id:
          format: int64
          type: integer
        origin_key:
          type: string
        name:
          type: string
        origin_type:
          type: string
        addresses:
          items:
            $ref: '#/components/schemas/OriginsResultResponse_addresses'
          type: array
        origin_protocol_policy:
          type: string
        is_origin_redirection_enabled:
          type: boolean
        host_header:
          type: string
        method:
          type: string
        origin_path:
          type: string
        connection_timeout:
          format: int64
          type: integer
        timeout_between_bytes:
          format: int64
          type: integer
        hmac_authentication:
          type: boolean
        hmac_region_name:
          type: string
        hmac_access_key:
          type: string
        hmac_secret_key:
          type: string
        bucket:
          type: string
        prefix:
          type: string
      required:
      - name
      type: object
    OriginsResponse:
      additionalProperties: false
      example:
        schema_version: 1
        count: 0
        links:
          next: next
          previous: previous
        total_pages: 6
        results:
        - timeout_between_bytes: 2
          addresses:
          - address: address
            is_active: true
            weight: weight
            server_role: server_role
          - address: address
            is_active: true
            weight: weight
            server_role: server_role
          hmac_secret_key: hmac_secret_key
          method: method
          origin_path: origin_path
          origin_protocol_policy: origin_protocol_policy
          hmac_region_name: hmac_region_name
          hmac_access_key: hmac_access_key
          origin_id: 5
          is_origin_redirection_enabled: true
          origin_type: origin_type
          host_header: host_header
          origin_key: origin_key
          name: name
          connection_timeout: 5
          hmac_authentication: true
          bucket: bucket
          prefix: prefix
        - timeout_between_bytes: 2
          addresses:
          - address: address
            is_active: true
            weight: weight
            server_role: server_role
          - address: address
            is_active: true
            weight: weight
            server_role: server_role
          hmac_secret_key: hmac_secret_key
          method: method
          origin_path: origin_path
          origin_protocol_policy: origin_protocol_policy
          hmac_region_name: hmac_region_name
          hmac_access_key: hmac_access_key
          origin_id: 5
          is_origin_redirection_enabled: true
          origin_type: origin_type
          host_header: host_header
          origin_key: origin_key
          name: name
          connection_timeout: 5
          hmac_authentication: true
      properties:
        count:
          format: int64
          type: integer
        total_pages:
          format: int64
          type: integer
        schema_version:
          format: int64
          type: integer
        links:
          $ref: '#/components/schemas/OriginsResponse_links'
        results:
          items:
            $ref: '#/components/schemas/OriginsResultResponse'
          type: array
      required:
      - count
      - links
      - results
      - schema_version
      - total_pages
      type: object
    OriginsIdResponse:
      additionalProperties: false
      example:
        schema_version: 0
        results:
          timeout_between_bytes: 2
          addresses:
          - address: address
            is_active: true
            weight: weight
            server_role: server_role
          - address: address
            is_active: true
            weight: weight
            server_role: server_role
          hmac_secret_key: hmac_secret_key
          method: method
          origin_path: origin_path
          origin_protocol_policy: origin_protocol_policy
          hmac_region_name: hmac_region_name
          hmac_access_key: hmac_access_key
          origin_id: 5
          is_origin_redirection_enabled: true
          origin_type: origin_type
          host_header: host_header
          origin_key: origin_key
          name: name
          connection_timeout: 5
          hmac_authentication: true
          bucket: bucket
          prefix: prefix
      properties:
        results:
          $ref: '#/components/schemas/OriginsResultResponse'
        schema_version:
          format: int64
          type: integer
      required:
      - results
      - schema_version
      type: object
    CreateDeviceGroupsRequest:
      additionalProperties: false
      example:
        name: name
        user_agent: user_agent
        addresses: addresses
      properties:
        name:
          type: string
        user_agent:
          type: string
        addresses:
          type: string
      required:
      - addresses
      - user_agent
      type: object
    UpdateDeviceGroupsRequest:
      additionalProperties: false
      example:
        name: name
        user_agent: user_agent
      properties:
        name:
          type: string
        user_agent:
          type: string
      type: object
    PatchDeviceGroupsRequest:
      additionalProperties: false
      example:
        name: name
        user_agent: user_agent
      properties:
        name:
          type: string
        user_agent:
          type: string
      type: object
    DeviceGroupsResultResponse:
      additionalProperties: false
      example:
        id: 5
        name: name
        user_agent: user_agent
      properties:
        id:
          format: int64
          type: integer
        name:
          type: string
        user_agent:
          type: string
      required:
      - name
      - user_agent
      type: object
    DeviceGroupsResponse:
      additionalProperties: false
      example:
        schema_version: 1
        count: 0
        links:
          next: next
          previous: previous
        total_pages: 6
        results:
        - id: 5
          name: name
          user_agent: user_agent
      properties:
        count:
          format: int64
          type: integer
        total_pages:
          format: int64
          type: integer
        schema_version:
          format: int64
          type: integer
        links:
          $ref: '#/components/schemas/DeviceGroupsResponse_links'
        results:
          items:
            $ref: '#/components/schemas/DeviceGroupsResultResponse'
          type: array
      required:
      - count
      - links
      - results
      - schema_version
      - total_pages
      type: object
    DeviceGroupsIdResponse:
      additionalProperties: false
      example:
        schema_version: 0
        results:
          id: 5
          name: name
          user_agent: user_agent
      properties:
        results:
          $ref: '#/components/schemas/DeviceGroupsResultResponse'
        schema_version:
          format: int64
          type: integer
      required:
      - results
      - schema_version
      type: object
    CreateRulesEngineRequest:
      example:
        criteria:
        - - conditional: conditional
            variable: variable
            input_value: input_value
            operator: operator
          - conditional: conditional
            variable: variable
            input_value: input_value
            operator: operator
        - - conditional: conditional
            variable: variable
            input_value: input_value
            operator: operator
          - conditional: conditional
            variable: variable
            input_value: input_value
            operator: operator
        behaviors:
        - name: name
          target: target
        - name: name
          target: target
        name: name
        description: description
      properties:
        name:
          type: string
        order:
          format: int64
          maximum: 10000
          minimum: 1
          type: integer
        is_active:
          type: boolean
        description:
          maxLength: 1000
          type: string
        criteria:
          items:
            items:
              $ref: '#/components/schemas/RulesEngineCriteria'
            type: array
          type: array
        behaviors:
          items:
            $ref: '#/components/schemas/RulesEngineBehaviorEntry'
          type: array
      required:
      - behaviors
      - criteria
      - name
      type: object
    UpdateRulesEngineRequest:
      additionalProperties: false
      example:
        criteria:
        - - conditional: conditional
            variable: variable
            input_value: input_value
            operator: operator
          - conditional: conditional
            variable: variable
            input_value: input_value
            operator: operator
        - - conditional: conditional
            variable: variable
            input_value: input_value
            operator: operator
          - conditional: conditional
            variable: variable
            input_value: input_value
            operator: operator
        behaviors:
        - name: name
          target: target
        - name: name
          target: target
        name: name
        description: description
      properties:
        name:
          type: string
        order:
          format: int64
          maximum: 10000
          minimum: 1
          type: integer
        is_active:
          type: boolean
        description:
          maxLength: 1000
          type: string
        criteria:
          items:
            items:
              $ref: '#/components/schemas/RulesEngineCriteria'
            type: array
          type: array
        behaviors:
          items:
            $ref: '#/components/schemas/RulesEngineBehaviorEntry'
          type: array
      required:
      - behaviors
      - criteria
      - name
      type: object
    PatchRulesEngineRequest:
      additionalProperties: false
      example:
        criteria:
        - - conditional: conditional
            variable: variable
            input_value: input_value
            operator: operator
          - conditional: conditional
            variable: variable
            input_value: input_value
            operator: operator
        - - conditional: conditional
            variable: variable
            input_value: input_value
            operator: operator
          - conditional: conditional
            variable: variable
            input_value: input_value
            operator: operator
        behaviors:
        - name: name
          target: target
        - name: name
          target: target
        name: name
        description: description
      properties:
        name:
          type: string
        order:
          format: int64
          maximum: 10000
          minimum: 1
          type: integer
        is_active:
          type: boolean
        description:
          maxLength: 1000
          type: string
        criteria:
          items:
            items:
              $ref: '#/components/schemas/RulesEngineCriteria'
            type: array
          type: array
        behaviors:
          items:
            $ref: '#/components/schemas/RulesEngineBehaviorEntry'
          type: array
      type: object
    RulesEngineResultResponse:
      example:
        phase: phase
        is_active: true
        behavior:
        - name: name
          target: target
        criteria:
        - - conditional: conditional
            variable: variable
            input_value: input_value
            operator: operator
          - conditional: conditional
            variable: variable
            input_value: input_value
            operator: operator
        - - conditional: conditional
            variable: variable
            input_value: input_value
            operator: operator
          - conditional: conditional
            variable: variable
            input_value: input_value
            operator: operator
        name: name
        id: 5
        order: 5
      properties:
        id:
          format: int64
          type: integer
        name:
          type: string
        description:
          type: string
        phase:
          type: string
        behaviors:
          items:
            $ref: '#/components/schemas/RulesEngineBehaviorEntry'
          type: array
        criteria:
          items:
            items:
              $ref: '#/components/schemas/RulesEngineCriteria'
            type: array
          type: array
        is_active:
          type: boolean
        order:
          format: int64
          type: integer
      required:
      - behavior
      - criteria
      - id
      - is_active
      - name
      - order
      - phase
      type: object
    RulesEngineCriteria:
      additionalProperties: false
      example:
        conditional: conditional
        variable: variable
        input_value: input_value
        operator: operator
      properties:
        conditional:
          type: string
        variable:
          type: string
        operator:
          type: string
        input_value:
          type: string
      required:
      - conditional
      - operator
      - variable
      type: object
    RulesEngineBehaviorEntry:
      anyOf:
      - $ref: '#/components/schemas/RulesEngineBehaviorString'
      - $ref: '#/components/schemas/RulesEngineBehaviorObject'
    RulesEngineBehaviorString:
      example:
        name: name
        target: target
      nullable: true
      properties:
        name:
          type: string
        target:
          type: string
      required:
      - name
      - target
      type: object
    RulesEngineBehaviorObject:
      example:
        name: name
        target:
          type: object
          properties:
            captured_array:
              type: string
            subject:
              type: string
            regex:
              type: string
      properties:
        name:
          type: string
        target:
          $ref: '#/components/schemas/RulesEngineBehaviorObject_target'
      required:
      - name
      - target
      type: object
    RulesEngineResponse:
      additionalProperties: false
      example:
        schema_version: 1
        count: 0
        links:
          next: next
          previous: previous
        total_pages: 6
        results:
        - phase: phase
          is_active: true
          behavior:
          - name: name
            target: target
          criteria:
          - - conditional: conditional
              variable: variable
              input_value: input_value
              operator: operator
            - conditional: conditional
              variable: variable
              input_value: input_value
              operator: operator
          - - conditional: conditional
              variable: variable
              input_value: input_value
              operator: operator
            - conditional: conditional
              variable: variable
              input_value: input_value
              operator: operator
          name: name
          description: description
          id: 5
          order: 5
        - phase: phase
          is_active: true
          behavior:
          - name: name
            target: target
          criteria:
          - - conditional: conditional
              variable: variable
              input_value: input_value
              operator: operator
            - conditional: conditional
              variable: variable
              input_value: input_value
              operator: operator
          - - conditional: conditional
              variable: variable
              input_value: input_value
              operator: operator
            - conditional: conditional
              variable: variable
              input_value: input_value
              operator: operator
          name: name
          description: description
          id: 5
          order: 5
      properties:
        count:
          format: int64
          type: integer
        total_pages:
          format: int64
          type: integer
        schema_version:
          format: int64
          type: integer
        links:
          $ref: '#/components/schemas/OriginsResponse_links'
        results:
          items:
            $ref: '#/components/schemas/RulesEngineResultResponse'
          type: array
      required:
      - count
      - links
      - results
      - schema_version
      - total_pages
      type: object
    RulesEngineIdResponse:
      additionalProperties: false
      example:
        schema_version: 0
        results:
          phase: phase
          is_active: true
          behavior:
          - name: name
            target: target
          criteria:
          - - conditional: conditional
              variable: variable
              input_value: input_value
              operator: operator
            - conditional: conditional
              variable: variable
              input_value: input_value
              operator: operator
          - - conditional: conditional
              variable: variable
              input_value: input_value
              operator: operator
            - conditional: conditional
              variable: variable
              input_value: input_value
              operator: operator
          name: name
          description: description
          id: 5
          order: 5
      properties:
        results:
          $ref: '#/components/schemas/RulesEngineResultResponse'
        schema_version:
          format: int64
          type: integer
      required:
      - results
      - schema_version
      type: object
    CreateOriginsRequest_addresses:
      example:
        address: address
      properties:
        address:
          type: string
      required:
      - address
      type: object
    OriginsResultResponse_addresses:
      example:
        address: address
        is_active: true
        weight: weight
        server_role: server_role
      properties:
        address:
          type: string
        weight:
          nullable: true
          type: string
        server_role:
          type: string
        is_active:
          type: boolean
      required:
      - address
      - is_active
      - server_role
      - weight
      type: object
    OriginsResponse_links:
      example:
        next: next
        previous: previous
      properties:
        previous:
          nullable: true
          type: string
        next:
          nullable: true
          type: string
      type: object
    DeviceGroupsResponse_links:
      example:
        next: next
        previous: previous
      properties:
        previous:
          nullable: true
          type: string
        next:
          nullable: true
          type: string
      type: object
    RulesEngineBehaviorObject_target:
      properties:
        captured_array:
          type: string
        subject:
          type: string
        regex:
          type: string
      type: object
  securitySchemes:
    tokenAuth:
      description: |
        You must inform a token to auth.
        Usage format: `Token <TOKEN>`
      in: header
      name: Authorization
      type: apiKey
