openapi: 3.0.1
info:
  title: FireCloud Management API
  description: REST API to configure and manage FireCloud.
  version: 1.0.0
  contact:
    name: API Support
    url: https://www.watchguard.com/wgrd-support/contact-support
  termsOfService: 
    https://www.watchguard.com/help/docs/api/Content/en-US/license_agreement.html?cshid=18007
paths:
  /health:
    get:
      description: Checks whether the API is healthy.
      summary: Check API health.
      tags:
        - API Health
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Health'
  /v1/configuration/{accountid}/exceptions:
    parameters:
      - $ref: '#/components/parameters/accountid'
    get:
      summary: Retrieves all exceptions in the specified FireCloud account.
      tags:
        - Exceptions
      responses:
        '200':
          description: A list of all exceptions.
          content:
            application/json:
              schema:
                type: array
                items:
                  anyOf:
                    - $ref: '#/components/schemas/blocked_site_exception'
                    - $ref: '#/components/schemas/botnet_exception'
                    - $ref: '#/components/schemas/file_exception'
                    - $ref: '#/components/schemas/geolocation_exception'
                    - $ref: '#/components/schemas/ips_exception'
                    - $ref: '#/components/schemas/webblocker_exception'
                    - $ref: '#/components/schemas/https_exception'
        '403':
          $ref: '#/components/responses/access_denied'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'
  /v1/configuration/{accountid}/exceptions/blockedsite:
    parameters:
      - $ref: '#/components/parameters/accountid'
    get:
      summary: Retrieves all blocked sites exceptions in the specified FireCloud
        account.
      tags:
        - Exceptions (Blocked Sites)
      responses:
        '200':
          description: A list of blocked sites exceptions.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/blocked_site_exception'
        '403':
          $ref: '#/components/responses/access_denied'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'
    post:
      summary: Creates a new blocked sites exception.
      tags:
        - Exceptions (Blocked Sites)
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/blocked_site_exception_base'
            example:
              description: Allow example.com
              address:
                type: fqdn
                value: example.com
              action: allow
      responses:
        '201':
          description: The created blocked sites exception object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/blocked_site_exception'
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/access_denied'
        '405':
          $ref: '#/components/responses/method_denied'
        '409':
          $ref: '#/components/responses/conflict'
        '500':
          $ref: '#/components/responses/internal_error'
  /v1/configuration/{accountid}/exceptions/blockedsite/{objectid}:
    parameters:
      - $ref: '#/components/parameters/accountid'
    get:
      summary: Retrieves the specified blocked sites exception.
      tags:
        - Exceptions (Blocked Sites)
      parameters:
        - in: path
          name: objectid
          required: true
          schema:
            type: string
          description: ID of the blocked sites exception to retrieve.
          example: bse_12345_ARBHLJ70Y78rGOIGBS
      responses:
        '200':
          description: The specified blocked sites exception object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/blocked_site_exception'
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'
    put:
      summary: Updates the specified blocked sites exception.
      tags:
        - Exceptions (Blocked Sites)
      parameters:
        - in: path
          name: objectid
          required: true
          schema:
            type: string
          description: ID of the blocked sites exception to update in your 
            FireCloud account .
          example: bse_12345_ARBHLJ70Y78rGOIGBS
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/object_metadata'
                - $ref: '#/components/schemas/blocked_site_exception_base'
            example:
              id: bse_12345_ARBHLJ70Y78rGOIGBS
              object: blockedsite_exception
              version: 1
              account: WGC-1-123abc456
              created: 1579907960
              device: firewan
              author: jsmith
              description: Allow example.com
              address:
                type: fqdn
                value: example.com
              action: allow
      responses:
        '201':
          description: The updated blocked sites exception object.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/object_metadata'
                  - $ref: '#/components/schemas/blocked_site_exception_base'
                example:
                  id: bse_12345_ARBHLJ70Y78rGOIGBS
                  object: blockedsite_exception
                  version: 2
                  account: WGC-1-123abc456
                  created: 1579907960
                  device: firewan
                  author: jsmith
                  description: Allow example.com
                  address:
                    type: fqdn
                    value: example.com
                  action: allow
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '409':
          $ref: '#/components/responses/conflict'
        '500':
          $ref: '#/components/responses/internal_error'
    delete:
      summary: Deletes the specified blocked sites exception.
      tags:
        - Exceptions (Blocked Sites)
      parameters:
        - in: path
          name: objectid
          required: true
          schema:
            type: string
          description: ID of the blocked sites exception to delete from your 
            FireCloud account.
          example: bse_12345_ARBHLJ70Y78rGOIGBS
      responses:
        '201':
          description: The deleted blocked sites exception object.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/object_metadata'
                  - $ref: '#/components/schemas/blocked_site_exception_base'
                  - type: object
                    properties:
                      inactive:
                        type: boolean
                        description: Indicates whether the object is inactive.
                        example: true
                    required:
                      - inactive
                example:
                  id: bse_12345_ARBHLJ70Y78rGOIGBS
                  object: blockedsite_exception
                  version: 2
                  account: WGC-1-123abc456
                  created: 1579907960
                  device: firewan
                  author: jsmith
                  description: Allow example.com
                  address:
                    type: fqdn
                    value: example.com
                  action: allow
                  inactive: true
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'
  /v1/configuration/{accountid}/exceptions/botnet:
    parameters:
      - $ref: '#/components/parameters/accountid'
    get:
      summary: Retrieves all botnet site exceptions in the specified FireCloud 
        account.
      tags:
        - Exceptions (Botnet)
      responses:
        '200':
          description: A list of botnet site exceptions.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/botnet_exception'
        '403':
          $ref: '#/components/responses/access_denied'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'
    post:
      summary: Creates a new botnet site exception.
      tags:
        - Exceptions (Botnet)
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/botnet_exception_base'
              example:
                description: Allow example.com
                address:
                  type: fqdn
                  value: example.com
                action: allow
      responses:
        '201':
          description: The created botnet site exception.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/botnet_exception'
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/access_denied'
        '405':
          $ref: '#/components/responses/method_denied'
        '409':
          $ref: '#/components/responses/conflict'
        '500':
          $ref: '#/components/responses/internal_error'
  /v1/configuration/{accountid}/exceptions/botnet/{objectid}:
    parameters:
      - $ref: '#/components/parameters/accountid'
    get:
      summary: Retrieves the specified botnet site exception.
      tags:
        - Exceptions (Botnet)
      parameters:
        - in: path
          name: objectid
          required: true
          schema:
            type: string
          description: ID of the botnet site exception to retrieve.
          example: bote_12345_8LBasn0hDNXnli4V0
      responses:
        '200':
          description: The botnet site exception object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/botnet_exception'
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'
    put:
      summary: Updates the specified botnet site exception.
      tags:
        - Exceptions (Botnet)
      parameters:
        - in: path
          name: objectid
          required: true
          schema:
            type: string
          description: ID of the botnet site exception to update in your 
            FireCloud account .
          example: bote_12345_8LBasn0hDNXnli4V0
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/object_metadata'
                - $ref: '#/components/schemas/botnet_exception_base'
            example:
              id: bote_12345_8LBasn0hDNXnli4V0
              object: botnet_exception
              version: 1
              account: WGC-1-123abc456
              created: 1579907960
              device: firewan
              author: jsmith
              description: Allow example.com
              address:
                type: fqdn
                value: example.com
              action: allow
      responses:
        '201':
          description: The updated botnet site exception object.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/object_metadata'
                  - $ref: '#/components/schemas/botnet_exception_base'
                example:
                  id: bote_12345_8LBasn0hDNXnli4V0
                  object: botnet_exception
                  version: 2
                  account: WGC-1-123abc456
                  created: 1579907960
                  device: firewan
                  author: jsmith
                  description: Allow example.com
                  address:
                    type: fqdn
                    value: example.com
                  action: allow
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '409':
          $ref: '#/components/responses/conflict'
        '500':
          $ref: '#/components/responses/internal_error'
    delete:
      summary: Deletes the specified botnet site exception.
      tags:
        - Exceptions (Botnet)
      parameters:
        - in: path
          name: objectid
          required: true
          schema:
            type: string
          description: ID of the botnet site exception to delete from your 
            FireCloud account.
          example: bote_12345_8LBasn0hDNXnli4V0
      responses:
        '201':
          description: The deleted botnet site exception object.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/object_metadata'
                  - $ref: '#/components/schemas/botnet_exception_base'
                  - type: object
                    properties:
                      inactive:
                        type: boolean
                        description: Indicates whether the object is inactive.
                        example: true
                    required:
                      - inactive
                example:
                  id: bote_12345_8LBasn0hDNXnli4V0
                  object: botnet_exception
                  version: 2
                  account: WGC-1-123abc456
                  created: 1579907960
                  device: firewan
                  author: jsmith
                  description: Allow example.com
                  address:
                    type: fqdn
                    value: example.com
                  inactive: true
                  action: allow
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'
  /v1/configuration/{accountid}/exceptions/file:
    parameters:
      - $ref: '#/components/parameters/accountid'
    get:
      summary: Retrieves all file exceptions in the specified FireCloud account.
      tags:
        - Exceptions (File)
      responses:
        '200':
          description: A list of file exceptions.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/file_exception'
        '403':
          $ref: '#/components/responses/access_denied'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'
    post:
      summary: Creates a new file exception.
      tags:
        - Exceptions (File)
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/file_exception_base'
              example:
                description: Allow Sales Presentation.
                md5: d2ffd57b48ee2ac34a4797ea44571a05
                action: allow
      responses:
        '201':
          description: The created file exception object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/file_exception'
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/access_denied'
        '405':
          $ref: '#/components/responses/method_denied'
        '409':
          $ref: '#/components/responses/conflict'
        '500':
          $ref: '#/components/responses/internal_error'
  /v1/configuration/{accountid}/exceptions/file/{objectid}:
    parameters:
      - $ref: '#/components/parameters/accountid'
    get:
      summary: Retrieves the specified file exception.
      tags:
        - Exceptions (File)
      parameters:
        - in: path
          name: objectid
          required: true
          schema:
            type: string
          description: ID of the file exception to retrieve.
          example: file_12345_UqhDVIdx8D5iwivAX
      responses:
        '200':
          description: The file exception object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/file_exception'
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'
    put:
      summary: Updates the specified file exception.
      tags:
        - Exceptions (File)
      parameters:
        - in: path
          name: objectid
          required: true
          schema:
            type: string
          description: ID of the file exception to update in your FireCloud 
            account .
          example: file_12345_UqhDVIdx8D5iwivAX
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/object_metadata'
                - $ref: '#/components/schemas/file_exception_base'
            example:
              id: file_12345_UqhDVIdx8D5iwivAX
              object: file_exception
              version: 1
              account: WGC-1-123abc456
              created: 1579907960
              device: firewan
              author: jsmith
              description: Allow Sales Presentation.
              md5: d2ffd57b48ee2ac34a4797ea44571a05
              action: allow
      responses:
        '201':
          description: The updated file exception object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/file_exception'
              example:
                id: file_12345_UqhDVIdx8D5iwivAX
                object: file_exception
                version: 2
                account: WGC-1-123abc456
                created: 1579907960
                device: firewan
                description: Allow Sales Presentation.
                md5: d2ffd57b48ee2ac34a4797ea44571a05
                action: allow
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '409':
          $ref: '#/components/responses/conflict'
        '500':
          $ref: '#/components/responses/internal_error'
    delete:
      summary: Deletes the specified file exception.
      tags:
        - Exceptions (File)
      parameters:
        - in: path
          name: objectid
          required: true
          schema:
            type: string
          description: ID of the file exception to delete from your FireCloud 
            account.
          example: file_12345_UqhDVIdx8D5iwivAX
      responses:
        '201':
          description: The deleted file exception object.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/object_metadata'
                  - $ref: '#/components/schemas/file_exception_base'
                  - type: object
                    properties:
                      inactive:
                        type: boolean
                        description: Indicates whether the object is inactive.
                        example: true
                    required:
                      - inactive
                example:
                  id: file_12345_UqhDVIdx8D5iwivAX
                  object: file_exception
                  version: 2
                  account: WGC-1-123abc456
                  created: 1579907960
                  device: firewan
                  description: Allow Sales Presentation.
                  md5: d2ffd57b48ee2ac34a4797ea44571a05
                  action: allow
                  inactive: true
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'
  /v1/configuration/{accountid}/exceptions/geolocation:
    parameters:
      - $ref: '#/components/parameters/accountid'
    get:
      summary: Retrieves all Geolocation exceptions in the specified FireCloud 
        account.
      tags:
        - Exceptions (Geolocation)
      responses:
        '200':
          description: A list of Geolocation exceptions.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/geolocation_exception'
        '403':
          $ref: '#/components/responses/access_denied'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'
    post:
      summary: Creates a new Geolocation exception.
      tags:
        - Exceptions (Geolocation)
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/geolocation_exception_base'
              example:
                description: Allow example.com
                address:
                  type: fqdn
                  value: example.com
                action: allow
      responses:
        '201':
          description: The created Geolocation exception object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/geolocation_exception'
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/access_denied'
        '405':
          $ref: '#/components/responses/method_denied'
        '409':
          $ref: '#/components/responses/conflict'
        '500':
          $ref: '#/components/responses/internal_error'
  /v1/configuration/{accountid}/exceptions/geolocation/{objectid}:
    parameters:
      - $ref: '#/components/parameters/accountid'
    get:
      summary: Retrieves the specified Geolocation exception.
      tags:
        - Exceptions (Geolocation)
      parameters:
        - in: path
          name: objectid
          required: true
          schema:
            type: string
          description: ID of the Geolocation exception to retrieve.
          example: geoe_12345_aHbWC5IuWO3qzyV2t
      responses:
        '200':
          description: The Geolocation exception object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/geolocation_exception'
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'
    put:
      summary: Updates the specified Geolocation exception.
      tags:
        - Exceptions (Geolocation)
      parameters:
        - in: path
          name: objectid
          required: true
          schema:
            type: string
          description: ID of the Geolocation exception to update in your 
            FireCloud account .
          example: geoe_12345_aHbWC5IuWO3qzyV2t
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/object_metadata'
                - $ref: '#/components/schemas/geolocation_exception_base'
            example:
              id: geoe_12345_aHbWC5IuWO3qzyV2t
              object: geolocation_exception
              version: 1
              account: WGC-1-123abc456
              created: 1579907960
              device: firewan
              author: jsmith
              description: Allow example.com
              address:
                type: fqdn
                value: example.com
              action: allow
      responses:
        '201':
          description: The updated Geolocation exception object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/geolocation_exception'
              example:
                id: geoe_12345_aHbWC5IuWO3qzyV2t
                object: geolocation_exception
                version: 2
                account: WGC-1-123abc456
                created: 1579907960
                device: firewan
                author: jsmith
                description: Allow example.com
                address:
                  type: fqdn
                  value: example.com
                action: allow
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '409':
          $ref: '#/components/responses/conflict'
        '500':
          $ref: '#/components/responses/internal_error'
    delete:
      summary: Deletes the specified Geolocation exception.
      tags:
        - Exceptions (Geolocation)
      parameters:
        - in: path
          name: objectid
          required: true
          schema:
            type: string
          description: ID of the Geolocation exception to delete from your 
            FireCloud account.
          example: geoe_12345_aHbWC5IuWO3qzyV2t
      responses:
        '201':
          description: The deleted Geolocation exception object.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/object_metadata'
                  - $ref: '#/components/schemas/geolocation_exception_base'
                  - type: object
                    properties:
                      inactive:
                        type: boolean
                        description: Indicates whether the object is inactive.
                        example: true
                    required:
                      - inactive
                example:
                  id: geoe_12345_aHbWC5IuWO3qzyV2t
                  object: geolocation_exception
                  version: 2
                  account: WGC-1-123abc456
                  created: 1579907960
                  device: firewan
                  author: jsmith
                  description: Allow example.com
                  address:
                    type: fqdn
                    value: example.com
                  inactive: true
                  action: allow
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'
  /v1/configuration/{accountid}/exceptions/ips:
    parameters:
      - $ref: '#/components/parameters/accountid'
    get:
      summary: Retrieves all IPS signature exceptions in the specified FireCloud
        account.
      tags:
        - Exceptions (Intrusion Prevention)
      responses:
        '200':
          description: A list of IPS signature exceptions.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ips_exception'
        '403':
          $ref: '#/components/responses/access_denied'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'
    post:
      summary: Creates a new IPS signature exception.
      tags:
        - Exceptions (Intrusion Prevention)
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ips_exception_base'
              example:
                description: Block signature 1055124
                signature_id: 1054265
                action: block
      responses:
        '201':
          description: The created IPS signature exception object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ips_exception'
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/access_denied'
        '405':
          $ref: '#/components/responses/method_denied'
        '409':
          $ref: '#/components/responses/conflict'
        '500':
          $ref: '#/components/responses/internal_error'
  /v1/configuration/{accountid}/exceptions/ips/{objectid}:
    parameters:
      - $ref: '#/components/parameters/accountid'
    get:
      summary: Retrieves the specified IPS signature exception.
      tags:
        - Exceptions (Intrusion Prevention)
      parameters:
        - in: path
          name: objectid
          required: true
          schema:
            type: string
          description: ID of the IPS signature exception to retrieve.
          example: ipse_12345_eY5Jwxv1nE3Xlk3zx
      responses:
        '200':
          description: The IPS signature exception object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ips_exception'
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/bad_request'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'
    put:
      summary: Updates the specified IPS signature exception.
      tags:
        - Exceptions (Intrusion Prevention)
      parameters:
        - in: path
          name: objectid
          required: true
          schema:
            type: string
          description: ID of the IPS signature exception to update in your 
            FireCloud account .
          example: ipse_12345_eY5Jwxv1nE3Xlk3zx
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/object_metadata'
                - $ref: '#/components/schemas/ips_exception_base'
            example:
              id: ipse_12345_eY5Jwxv1nE3Xlk3zx
              object: ips_exception
              version: 1
              account: WGC-1-123abc456
              created: 1579907960
              device: firewan
              author: jsmith
              description: Block signature 1055124
              signature_id: 1054265
              action: block
      responses:
        '201':
          description: The updated IPS signature exception object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ips_exception'
              example:
                id: ipse_12345_eY5Jwxv1nE3Xlk3zx
                object: ips_exception
                device: firewan
                version: 2
                account: WGC-1-123abc456
                created: 1579907960
                author: jsmith
                description: Block signature 1055124
                signature_id: 1054265
                action: block
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '409':
          $ref: '#/components/responses/conflict'
        '500':
          $ref: '#/components/responses/internal_error'
    delete:
      summary: Deletes the specified IPS signature exception.
      tags:
        - Exceptions (Intrusion Prevention)
      parameters:
        - in: path
          name: objectid
          required: true
          schema:
            type: string
          description: ID of the IPS signature exception to delete from your 
            FireCloud account.
          example: ipse_12345_eY5Jwxv1nE3Xlk3zx
      responses:
        '201':
          description: The deleted IPS signature exception object.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/object_metadata'
                  - $ref: '#/components/schemas/ips_exception_base'
                  - type: object
                    properties:
                      inactive:
                        type: boolean
                        description: Indicates whether the object is inactive.
                        example: true
                    required:
                      - inactive
                example:
                  id: ipse_12345_eY5Jwxv1nE3Xlk3zx
                  object: ips_exception
                  device: firewan
                  version: 2
                  account: WGC-1-123abc456
                  created: 1579907960
                  author: jsmith
                  description: Block signature 1055124
                  signature_id: 1054265
                  action: block
                  inactive: true
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'
  /v1/configuration/{accountid}/exceptions/webblocker:
    parameters:
      - $ref: '#/components/parameters/accountid'
    get:
      summary: Retrieves all WebBlocker exceptions in the specified FireCloud 
        account.
      tags:
        - Exceptions (WebBlocker)
      responses:
        '200':
          description: A list of WebBlocker exceptions.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/webblocker_exception'
        '403':
          $ref: '#/components/responses/access_denied'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'
    post:
      summary: Creates a new WebBlocker exception.
      tags:
        - Exceptions (WebBlocker)
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/webblocker_exception_base'
              example:
                name: Allow www.example.com
                rule_type: string
                rule: www.example.com/*
                action: allow
      responses:
        '201':
          description: The created WebBlocker exception object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/webblocker_exception'
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/access_denied'
        '405':
          $ref: '#/components/responses/method_denied'
        '409':
          $ref: '#/components/responses/conflict'
        '500':
          $ref: '#/components/responses/internal_error'
  /v1/configuration/{accountid}/exceptions/webblocker/{objectid}:
    parameters:
      - $ref: '#/components/parameters/accountid'
    get:
      summary: Retrieves the specified WebBlocker exception.
      tags:
        - Exceptions (WebBlocker)
      parameters:
        - in: path
          name: objectid
          required: true
          schema:
            type: string
          description: ID of the WebBlocker exception to retrieve.
          example: wbe_12124_7HM70EvrifZ7rSfXSA
      responses:
        '200':
          description: The WebBlocker exception object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/webblocker_exception'
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'
    put:
      summary: Updates the specified WebBlocker exception.
      tags:
        - Exceptions (WebBlocker)
      parameters:
        - in: path
          name: objectid
          required: true
          schema:
            type: string
          description: ID of the WebBlocker exception to update in your 
            FireCloud account .
          example: wbe_12124_7HM70EvrifZ7rSfXSA
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/object_metadata'
                - $ref: '#/components/schemas/webblocker_exception_base'
            example:
              id: wbe_12124_7HM70EvrifZ7rSfXSA
              object: webblocker_exception
              version: 1
              account: WGC-1-123abc456
              created: 1579907960
              device: firewan
              author: jsmith
              name: Allow www.example.com
              rule_type: string
              rule: www.example.com/*
              action: allow
      responses:
        '201':
          description: The updated WebBlocker exception object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/webblocker_exception'
              example:
                id: wbe_12124_7HM70EvrifZ7rSfXSA
                object: webblocker_exception
                device: firewan
                version: 2
                account: WGC-1-123abc456
                created: 1579907960
                author: jsmith
                name: Allow www.example.com
                rule_type: string
                rule: www.example.com/*
                action: allow
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '409':
          $ref: '#/components/responses/conflict'
        '500':
          $ref: '#/components/responses/internal_error'
    delete:
      summary: Deletes the specified WebBlocker exception.
      tags:
        - Exceptions (WebBlocker)
      parameters:
        - in: path
          name: objectid
          required: true
          schema:
            type: string
          description: ID of the WebBlocker exception to delete from your 
            FireCloud account.
          example: wbe_12124_7HM70EvrifZ7rSfXSA
      responses:
        '201':
          description: The deleted WebBlocker exception object.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/object_metadata'
                  - $ref: '#/components/schemas/webblocker_exception_base'
                  - type: object
                    properties:
                      inactive:
                        type: boolean
                        description: Indicates whether the object is inactive.
                        example: true
                    required:
                      - inactive
                example:
                  id: wbe_12124_7HM70EvrifZ7rSfXSA
                  object: webblocker_exception
                  device: firewan
                  version: 2
                  account: WGC-1-123abc456
                  created: 1579907960
                  author: jsmith
                  name: Allow www.example.com
                  rule_type: string
                  rule: www.example.com/*
                  action: allow
                  inactive: true
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'
  /v1/configuration/{accountid}/exceptions/https:
    parameters:
      - $ref: '#/components/parameters/accountid'
    get:
      summary: Retrieves all HTTPS decryption exceptions in the specified 
        FireCloud account.
      tags:
        - Exceptions (HTTPS)
      responses:
        '200':
          description: A list of HTTPS decryption exceptions.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/https_exception'
        '403':
          $ref: '#/components/responses/access_denied'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'
    post:
      summary: Creates a new HTTPS decryption exception.
      tags:
        - Exceptions (HTTPS)
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/https_exception_base'
              example:
                description: Allow test.com
                address:
                  type: fqdn
                  value: example.com
            example:
              description: Allow test.com
              rule: test.com
              type: fqdn
              action: allow
      responses:
        '201':
          description: The created HTTPS decryption exception object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/https_exception'
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/access_denied'
        '405':
          $ref: '#/components/responses/method_denied'
        '409':
          $ref: '#/components/responses/conflict'
        '500':
          $ref: '#/components/responses/internal_error'
  /v1/configuration/{accountid}/exceptions/https/{objectid}:
    parameters:
      - $ref: '#/components/parameters/accountid'
    get:
      summary: Retrieves the specified HTTPS decryption exception.
      tags:
        - Exceptions (HTTPS)
      parameters:
        - in: path
          name: objectid
          required: true
          schema:
            type: string
          description: ID of the HTTPS decryption exception to retrieve.
          example: hte_12345_8LBasn0hDNXnli4V0
      responses:
        '200':
          description: The specified HTTPS decryption exception object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/https_exception'
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'
    put:
      summary: Updates the specified HTTPS decryption exception.
      tags:
        - Exceptions (HTTPS)
      parameters:
        - in: path
          name: objectid
          required: true
          schema:
            type: string
          description: ID of the HTTPS decryption exception to update in your 
            FireCloud account .
          example: hte_12345_8LBasn0hDNXnli4V0
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/object_metadata'
                - $ref: '#/components/schemas/https_exception_base'
            example:
              id: hte_12345_8LBasn0hDNXnli4V0
              object: https_exception
              version: 2
              account: WGC-1-123abc456
              created: 1579907960
              device: firewan
              author: jsmith
              description: Updated Allow test.com
              address:
                type: fqdn
                value: example.com
      responses:
        '201':
          description: The updated HTTPS decryption exception object.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/object_metadata'
                  - $ref: '#/components/schemas/https_exception_base'
                example:
                  id: hte_12345_8LBasn0hDNXnli4V0
                  object: https_exception
                  version: 2
                  account: WGC-1-123abc456
                  created: 1579907960
                  device: firewan
                  author: jsmith
                  description: Allow test.com
                  address:
                    type: fqdn
                    value: example.com
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '409':
          $ref: '#/components/responses/conflict'
        '500':
          $ref: '#/components/responses/internal_error'
    delete:
      summary: Deletes the specified HTTPS decryption exception.
      tags:
        - Exceptions (HTTPS)
      parameters:
        - in: path
          name: objectid
          required: true
          schema:
            type: string
          description: ID of the HTTPS decryption exception to delete from your 
            FireCloud account.
          example: hte_12345_8LBasn0hDNXnli4V0
      responses:
        '201':
          description: The deleted HTTPS decryption exception object.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/object_metadata'
                  - $ref: '#/components/schemas/https_exception_base'
                  - type: object
                    properties:
                      inactive:
                        type: boolean
                        description: Indicates whether the object is inactive.
                        example: true
                    required:
                      - inactive
                example:
                  id: hte_12345_8LBasn0hDNXnli4V0
                  object: https_exception
                  version: 2
                  account: WGC-1-123abc456
                  created: 1579907960
                  device: firewan
                  author: jsmith
                  description: Allow test.com
                  address:
                    type: fqdn
                    value: example.com
                  inactive: true
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'
components:
  parameters:
    accountid:
      in: path
      name: accountid
      required: true
      schema:
        type: string
      description: Specifies your WatchGuard Cloud account ID.
      examples:
        WGC-1-123abc456:
          value: WGC-1-123abc456
        ACC-1234567:
          value: ACC-1234567
    objectid:
      in: path
      name: objectid
      required: true
      schema:
        type: string
      description: Specifies the unique identifier for the exception in the 
        FireCloud account.
      example: ipsgp_PUfunqLjBP9cJKHe36df
    limit:
      in: query
      name: limit
      required: false
      schema:
        type: integer
      description: Specifies the maximum number of exceptions to return in the 
        response.
      examples:
        example_10:
          value: 10
    start_after:
      in: query
      name: start_after
      required: false
      schema:
        type: string
      description: ID of the first exception to return in the response. The 
        value must be a valid exception ID.
      examples:
        bse_12345_ARBHLJ70Y78rGOIGBS:
          value: bse_12345_ARBHLJ70Y78rGOIGBS
  responses:
    bad_request:
      description: BAD REQUEST
      content:
        application/json:
          schema:
            allOf:
              - $ref: '#/components/schemas/error_response'
              - example:
                  type: invalid_request_error
                  message: The request could not be validated.
    access_denied:
      description: ACCESS DENIED
      content:
        application/json:
          schema:
            allOf:
              - $ref: '#/components/schemas/error_response'
              - example:
                  type: access_denied_error
                  message: The user is not permitted to access the API endpoint.
    not_found:
      description: NOT FOUND
      content:
        application/json:
          schema:
            allOf:
              - $ref: '#/components/schemas/error_response'
              - example:
                  type: invalid_object_error
                  message: The object could not be found.
    method_denied:
      description: METHOD NOT ALLOWED
      content:
        application/json:
          schema:
            allOf:
              - $ref: '#/components/schemas/error_response'
              - example:
                  type: method_denied_error
                  message: The target endpoint does not support the request 
                    method.
    internal_error:
      description: INTERNAL ERROR
      content:
        application/json:
          schema:
            allOf:
              - $ref: '#/components/schemas/error_response'
              - example:
                  type: server_error
                  message: The request could not be processed due to an internal
                    server error.
    conflict:
      description: CONFLICT
      content:
        application/json:
          schema:
            allOf:
              - $ref: '#/components/schemas/error_response'
              - example:
                  type: object_exists_error
                  message: An object exists with the same ID and version.
  schemas:
    Health:
      type: object
      description: Health check response.
      properties:
        healthy:
          type: boolean
          description: Indicates whether the API is operational.
          default: false
    error_response:
      type: object
      description: Error response.
      properties:
        type:
          type: string
          enum:
            - invalid_request_error
            - access_denied_error
            - invalid_object_error
            - method_denied_error
            - object_exists_error
            - server_error
          description: Type of error.
        message:
          type: string
          description: Error message text.
      required:
        - type
        - message
    ipv4_address_string:
      type: string
      description: IPv4 address string.
      pattern: 
        ^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
      example: 192.0.2.1
    ipv4_addr_type:
      description: IPv4 address type.
      oneOf:
        - $ref: '#/components/schemas/ipv4_host_type'
        - $ref: '#/components/schemas/ipv4_range_type'
        - $ref: '#/components/schemas/ipv4_network_type'
    ipv4_host_type:
      type: object
      description: IPv4 address.
      properties:
        type:
          type: string
          description: Address type identifier.
          enum:
            - ipv4_host
        value:
          description: IPv4 host address.
          allOf:
            - $ref: '#/components/schemas/ipv4_address_string'
      required:
        - type
        - value
    ipv4_range_type:
      type: object
      description: IPv4 address range.
      properties:
        type:
          type: string
          description: Address type identifier.
          enum:
            - ipv4_range
        value:
          type: string
          description: IPv4 address range in start-end format.
          pattern: 
            ^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)-(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
          example: 192.0.2.1-192.0.2.5
      required:
        - type
        - value
    ipv4_network_type:
      type: object
      description: IPv4 network.
      properties:
        type:
          type: string
          description: Address type identifier.
          enum:
            - ipv4_network
        value:
          description: IPv4 network address in CIDR notation.
          allOf:
            - $ref: '#/components/schemas/ipv4_cidr_string'
      required:
        - type
        - value
    ipv4_cidr_string:
      type: string
      description: IPv4 CIDR notation string.
      pattern: 
        ^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/([1-9]|[1-2][0-9]|3[0-2])$
      example: 192.0.2.0/24
    fqdn_type:
      type: object
      description: FQDN.
      properties:
        type:
          type: string
          description: Address type identifier.
          enum:
            - fqdn
        value:
          type: string
          description: Fully qualified domain name.
          pattern: 
            ^(\*\.)?([a-zA-Z0-9_](([a-zA-Z0-9_-])*[a-zA-Z0-9_])?\.)+([a-zA-Z])+$
          example: example.com
      required:
        - type
        - value
    object_metadata:
      type: object
      description: Common metadata for all API objects.
      properties:
        id:
          type: string
          description: Unique ID that identifies this object.
        object:
          type: string
          description: Type of object.
        version:
          type: integer
          description: Version number of the object.
          example: 1
        account:
          type: string
          description: Your WatchGuard Cloud account ID.
          example: WGC-1-123abc456
        created:
          type: integer
          description: Time that the object was created, specified in Unix epoch
            time format.
          example: 1579907960
        device:
          type: string
          enum:
            - firewan
          description: Device this object applies to.
          example: firewan
        author:
          type: string
          description: Author of the object. This is always empty for objects 
            added or updated with the FireCloud Management API.
      required:
        - id
        - object
        - version
        - account
        - created
        - author
        - device
    blocked_site_exception_base:
      type: object
      properties:
        description:
          type: string
          maxLength: 127
          description: 'Specifies the description of the blocked sites exception.
            Maximum: 127 characters.'
          example: Allow example.com
        address:
          oneOf:
            - $ref: '#/components/schemas/ipv4_addr_type'
            - $ref: '#/components/schemas/fqdn_type'
          description: Address of the site to allow.
        action:
          type: string
          enum:
            - allow
          description: Action to take for the specified address.
          example: allow
      required:
        - address
    blocked_site_exception:
      description: Blocked sites exception.
      allOf:
        - $ref: '#/components/schemas/object_metadata'
        - $ref: '#/components/schemas/blocked_site_exception_base'
      example:
        id: bse_12345_ARBHLJ70Y78rGOIGBS
        object: blockedsite_exception
        version: 1
        account: WGC-1-123abc456
        created: 1579907960
        device: firewan
        author: jsmith
        description: Allow example.com
        address:
          type: fqdn
          value: example.com
        action: allow
    botnet_exception_base:
      type: object
      properties:
        description:
          type: string
          maxLength: 127
          description: 'Specifies the description of the botnet site exception. Maximum:
            127 characters.'
          example: Allow example.com
        address:
          oneOf:
            - $ref: '#/components/schemas/ipv4_addr_type'
            - $ref: '#/components/schemas/fqdn_type'
          description: Address of the exception.
        action:
          type: string
          enum:
            - allow
          description: Action to take for the specified address.
          example: allow
      required:
        - address
    botnet_exception:
      description: Botnet site exception.
      allOf:
        - $ref: '#/components/schemas/object_metadata'
        - $ref: '#/components/schemas/botnet_exception_base'
        - example:
            id: bote_CjBY92ourN7Izaa1jJu3eH5
            object: botnet_exception
            version: 1
            account: WGC-1-123abc456
            created: 1579907960
            device: firewan
            author: jsmith
            description: Allow example.com
            address:
              type: fqdn
              value: example.com
            action: allow
    file_exception_base:
      type: object
      properties:
        action:
          type: string
          enum:
            - allow
            - block
          description: Specifies the action to take for the specified file, 
            either allow or block.
        description:
          type: string
          maxLength: 127
          description: 'Specifies the description of the file exception. Maximum:
            127 characters.'
          example: Allow Sales Presentation.
        md5:
          type: string
          pattern: ^[a-f0-9]{32}$
          description: Specifies the MD5 hash of the file. Must be 32 characters
            (lowercase letters a-f and numbers only).
          example: d2ffd57b48ee2ac34a4797ea44571a05
      required:
        - action
        - md5
    file_exception:
      description: File exception.
      allOf:
        - $ref: '#/components/schemas/object_metadata'
        - $ref: '#/components/schemas/file_exception_base'
        - example:
            id: file_12345_UqhDVIdx8D5iwivAX
            object: file_exception
            version: 1
            account: WGC-1-123abc456
            created: 1579907960
            device: firewan
            author: jsmith
            description: Allow Sales Presentation.
            md5: d2ffd57b48ee2ac34a4797ea44571a05
            action: allow
    geolocation_exception_base:
      type: object
      properties:
        description:
          type: string
          maxLength: 127
          description: 'Specifies the description of the Geolocation exception. Maximum:
            127 characters.'
          example: Allow example.com
        address:
          oneOf:
            - $ref: '#/components/schemas/ipv4_addr_type'
            - $ref: '#/components/schemas/fqdn_type'
          description: Address of the exception.
        action:
          type: string
          enum:
            - allow
          description: Specifies the action to take for the specified address.
          example: allow
      required:
        - address
    geolocation_exception:
      description: Geolocation exception.
      allOf:
        - $ref: '#/components/schemas/object_metadata'
        - $ref: '#/components/schemas/geolocation_exception_base'
        - example:
            id: geoe_12345_aHbWC5IuWO3qzyV2t
            object: geolocation_exception
            version: 1
            account: WGC-1-123abc456
            created: 1579907960
            device: firewan
            author: jsmith
            description: Allow example.com
            address:
              type: fqdn
              value: example.com
            action: allow
    ips_exception_base:
      type: object
      properties:
        action:
          type: string
          enum:
            - allow
            - block
          description: Specifies the action to take for the specified signature,
            either allow or block.
        alarm:
          type: boolean
          default: false
          description: Specifies whether the FireCloud sends an alarm for the 
            IPS exception.
          example: true
        description:
          type: string
          maxLength: 127
          description: 'Specifies the description of the IPS signature exception.
            Maximum: 127 characters.'
          example: Block signature 1055124
        signature_id:
          type: string
          pattern: ^[0-9]{1,31}$
          description: 'Specifies the IPS signature ID. Must contain only numbers.
            Maximum: 31 characters.'
          example: 1055124
      required:
        - action
        - signature_id
    ips_exception:
      description: IPS signature exception.
      allOf:
        - $ref: '#/components/schemas/object_metadata'
        - $ref: '#/components/schemas/ips_exception_base'
        - example:
            id: ipse_12345_eY5Jwxv1nE3Xlk3zx
            object: ips_exception
            device: firewan
            version: 1
            account: WGC-1-123abc456
            created: 1579907960
            author: jsmith
            description: Block signature 1055124
            signature_id: 1054265
            action: block
    webblocker_exception_base:
      type: object
      properties:
        action:
          type: string
          enum:
            - allow
            - block
          description: Specifies the action to take for the WebBlocker 
            exception, either allow or block.
        alarm:
          type: boolean
          default: false
          description: Specifies whether the FireCloud sends an alarm for the 
            WebBlocker exception.
          example: true
        name:
          type: string
          pattern: ^([A-Za-z0-9\-\ \_\+\.\*\)\(]|[^\x00-\x7f])+$
          maxLength: 58
          description: 'Specifies the name of the WebBlocker exception. Maximum: 58
            characters.'
          example: Allow example.com
        rule_type:
          type: string
          enum:
            - string
            - pattern
            - regexp
          description: Specifies the type of rule, either string (exact match), 
            pattern (pattern match), or regexp (regular expression).
        rule:
          type: string
          pattern: ^(?=.*\S).+$
          maxLength: 255
          description: 'Specifies the URL pattern, value, or expression to match.
            Maximum: 255 characters.'
          example: www.example.com/*, 1.1.1.1, or (www\.)?example\.[com|net]
      required:
        - action
        - name
        - rule_type
        - rule
    webblocker_exception:
      description: WebBlocker exception.
      allOf:
        - $ref: '#/components/schemas/object_metadata'
        - $ref: '#/components/schemas/webblocker_exception_base'
        - example:
            id: wbe_12124_7HM70EvrifZ7rSfXSA
            object: webblocker_exception
            device: firewan
            version: 1
            account: WGC-1-123abc456
            created: 1579907960
            author: jsmith
            name: Allow www.example.com
            rule_type: string
            rule: www.example.com/*
            action: allow
    https_exception_base:
      type: object
      properties:
        description:
          type: string
          maxLength: 127
          description: 'Specifies the description of the HTTPS decryption exception.
            Maximum: 127 characters.'
          example: Allow test.com
        rule:
          type: string
          description: Specifies the FQDN or IPv4 address to match for HTTPS 
            decryption. For ipv4_network type, specify an address other than 
            0.0.0.0/x.
          example: test.com
        type:
          type: string
          enum:
            - fqdn
            - ipv4_host
            - ipv4_network
          description: Specifies the Rule type, either fqdn, ipv4_host, or 
            ipv4_network.
          example: fqdn
        action:
          type: string
          enum:
            - allow
          description: Specifies the action to take for the specified rule.
          example: allow
      required:
        - rule
        - type
    https_exception:
      description: HTTPS decryption exception.
      allOf:
        - $ref: '#/components/schemas/object_metadata'
        - $ref: '#/components/schemas/https_exception_base'
        - example:
            id: hte_12345_ARBHLJ70Y78rGOIGBS
            object: https_exception
            version: 1
            account: WGC-1-123abc456
            created: 1579907960
            device: firewan
            author: jsmith
            description: Allow test.com
            rule: test.com
            type: fqdn
            action: allow
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: WatchGuard-API-Key
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
servers:
  - url: https://api.usa.cloud.watchguard.com/rest/firecloud/management
    description: Prod USA Region
  - url: https://api.deu.cloud.watchguard.com/rest/firecloud/management
    description: Prod DEU region
  - url: https://api.jpn.cloud.watchguard.com/rest/firecloud/management
    description: Prod JPN region
security:
  - ApiKeyAuth: []
    BearerAuth: []
externalDocs:
  description: Additional documentation
  url: https://www.watchguard.com/help/docs/api/Content/en-US/home.html
