Fastly WAF Firewalls API

Operations for managing WAF firewall instances associated with Fastly services.

Operations 5

GET /waf/firewalls List WAF firewalls #
POST /waf/firewalls Create a WAF firewall #
GET /waf/firewalls/{firewall_id} Get a WAF firewall #
PATCH /waf/firewalls/{firewall_id} Update a WAF firewall #
DELETE /waf/firewalls/{firewall_id} Delete a WAF firewall #

Documentation

📖
Documentation
https://www.fastly.com/documentation/reference/api/services/
📖
Documentation
https://www.fastly.com/documentation/reference/api/purging/
📖
Documentation
https://www.fastly.com/documentation/reference/api/logging/
📖
Documentation
https://www.fastly.com/documentation/reference/api/metrics-stats/
📖
Documentation
https://www.fastly.com/documentation/reference/api/tls/
📖
Documentation
https://www.fastly.com/documentation/reference/api/vcl-services/
📖
Documentation
https://www.fastly.com/documentation/reference/api/account/
📖
Documentation
https://www.fastly.com/documentation/reference/api/auth-tokens/
📖
Documentation
https://www.fastly.com/documentation/reference/api/acls/
📖
Documentation
https://www.fastly.com/documentation/reference/api/dictionaries/
📖
Documentation
https://www.fastly.com/documentation/guides/compute/
📖
Documentation
https://www.fastly.com/documentation/reference/api/ngwaf/
📖
Documentation
https://www.fastly.com/documentation/reference/api/domain-management/
📖
Documentation
https://www.fastly.com/documentation/reference/api/products/
📖
Documentation
https://www.fastly.com/documentation/reference/api/observability/
📖
Documentation
https://www.fastly.com/documentation/reference/api/api-security/
📖
Documentation
https://www.fastly.com/documentation/reference/api/ddos-protection/
📖
Documentation
https://www.fastly.com/documentation/reference/api/client-side-protection/
📖
Documentation
https://www.fastly.com/documentation/reference/api/publishing/
📖
Documentation
https://www.fastly.com/documentation/reference/api/load-balancing/
📖
Documentation
https://www.fastly.com/documentation/reference/api/utils/
📖
Documentation
https://www.fastly.com/products/ai
📖
Documentation
https://www.fastly.com/products/object-storage

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/fastly-waf-firewalls-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

fastly-waf-firewalls-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Fastly Next-Gen WAF WAF Firewalls API
  description: The Fastly Next-Gen WAF API provides programmatic access to configure and manage web application firewall rules that protect applications delivered through Fastly's edge network. It enables developers to manage WAF firewall configurations, rule sets, and exclusions to defend against common web attacks including SQL injection, cross-site scripting, and other OWASP Top 10 vulnerabilities. The API supports managing active rules, reviewing firewall events, and configuring response behaviors for detected threats.
  version: '1.0'
  contact:
    name: Fastly Support
    url: https://support.fastly.com
  termsOfService: https://www.fastly.com/terms
servers:
- url: https://api.fastly.com
  description: Fastly API Production Server
security:
- apiKeyAuth: []
tags:
- name: WAF Firewalls
  description: Operations for managing WAF firewall instances associated with Fastly services.
paths:
  /waf/firewalls:
    get:
      operationId: listWafFirewalls
      summary: List WAF firewalls
      description: Retrieves a list of all WAF firewall instances associated with the account.
      tags:
      - WAF Firewalls
      parameters:
      - name: page[number]
        in: query
        description: The page number to retrieve.
        schema:
          type: integer
      - name: page[size]
        in: query
        description: The number of items per page.
        schema:
          type: integer
      - name: filter[service_id]
        in: query
        description: Filter firewalls by service ID.
        schema:
          type: string
      - name: include
        in: query
        description: Related resources to include in the response.
        schema:
          type: string
      responses:
        '200':
          description: Successfully retrieved the list of WAF firewalls.
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/WafFirewall'
        '401':
          description: Unauthorized. The API token is missing or invalid.
    post:
      operationId: createWafFirewall
      summary: Create a WAF firewall
      description: Creates a new WAF firewall instance associated with a Fastly service.
      tags:
      - WAF Firewalls
      requestBody:
        required: true
        content:
          application/vnd.api+json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    type:
                      type: string
                      enum:
                      - waf_firewall
                    attributes:
                      type: object
                      properties:
                        service_id:
                          type: string
                          description: The ID of the service to attach the firewall to.
                        service_version_number:
                          type: integer
                          description: The version number of the service.
                        prefetch_condition:
                          type: string
                          description: The condition that controls when the firewall is applied.
                        response:
                          type: string
                          description: The name of the response object for blocked requests.
      responses:
        '201':
          description: Successfully created the WAF firewall.
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/WafFirewall'
        '400':
          description: Bad request. Missing or invalid parameters.
        '401':
          description: Unauthorized. The API token is missing or invalid.
  /waf/firewalls/{firewall_id}:
    get:
      operationId: getWafFirewall
      summary: Get a WAF firewall
      description: Retrieves the details of a specific WAF firewall instance.
      tags:
      - WAF Firewalls
      parameters:
      - $ref: '#/components/parameters/firewallId'
      responses:
        '200':
          description: Successfully retrieved the WAF firewall.
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/WafFirewall'
        '401':
          description: Unauthorized. The API token is missing or invalid.
        '404':
          description: WAF firewall not found.
    patch:
      operationId: updateWafFirewall
      summary: Update a WAF firewall
      description: Updates the configuration of a specific WAF firewall instance.
      tags:
      - WAF Firewalls
      parameters:
      - $ref: '#/components/parameters/firewallId'
      requestBody:
        required: true
        content:
          application/vnd.api+json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    type:
                      type: string
                      enum:
                      - waf_firewall
                    attributes:
                      type: object
                      properties:
                        service_version_number:
                          type: integer
                          description: The version number of the service.
                        prefetch_condition:
                          type: string
                          description: The condition that controls when the firewall is applied.
                        response:
                          type: string
                          description: The name of the response object for blocked requests.
      responses:
        '200':
          description: Successfully updated the WAF firewall.
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/WafFirewall'
        '401':
          description: Unauthorized. The API token is missing or invalid.
        '404':
          description: WAF firewall not found.
    delete:
      operationId: deleteWafFirewall
      summary: Delete a WAF firewall
      description: Deletes a specific WAF firewall instance.
      tags:
      - WAF Firewalls
      parameters:
      - $ref: '#/components/parameters/firewallId'
      requestBody:
        required: true
        content:
          application/vnd.api+json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    type:
                      type: string
                      enum:
                      - waf_firewall
                    attributes:
                      type: object
                      properties:
                        service_version_number:
                          type: integer
                          description: The version number of the service.
      responses:
        '204':
          description: Successfully deleted the WAF firewall.
        '401':
          description: Unauthorized. The API token is missing or invalid.
        '404':
          description: WAF firewall not found.
components:
  parameters:
    firewallId:
      name: firewall_id
      in: path
      required: true
      description: The alphanumeric string identifying the WAF firewall.
      schema:
        type: string
  schemas:
    WafFirewall:
      type: object
      description: A WAF firewall instance associated with a Fastly service.
      properties:
        id:
          type: string
          description: The alphanumeric string identifying the WAF firewall.
        type:
          type: string
          description: The resource type.
          enum:
          - waf_firewall
        attributes:
          type: object
          properties:
            service_id:
              type: string
              description: The ID of the associated service.
            service_version_number:
              type: integer
              description: The service version number.
            active_rules_fastly_block_count:
              type: integer
              description: The number of active rules in block mode managed by Fastly.
            active_rules_fastly_log_count:
              type: integer
              description: The number of active rules in log mode managed by Fastly.
            active_rules_owasp_block_count:
              type: integer
              description: The number of active OWASP rules in block mode.
            active_rules_owasp_log_count:
              type: integer
              description: The number of active OWASP rules in log mode.
            created_at:
              type: string
              format: date-time
              description: The date and time the firewall was created.
            updated_at:
              type: string
              format: date-time
              description: The date and time the firewall was last updated.
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: Fastly-Key
      description: API token used to authenticate requests to the Fastly API.
externalDocs:
  description: Fastly Next-Gen WAF API Documentation
  url: https://www.fastly.com/documentation/reference/api/waf/