---
title: "Update a Web Application Firewall (WAF)"
method: PUT
path: "/workspace/wafs/{waf_id}"
tags: ["WAFs"]
---

# Update a Web Application Firewall (WAF)

`PUT /workspace/wafs/{waf_id}`

Update an existing WAF. This replaces the entire WAF with the new data provided.

## Path parameters

- `waf_id` integer, required

## Request body

- WAFRequest
  - `active` boolean
  - `name` string, required
  - `product_version` string, nullable
  - `engine_settings` WAFEngineSettingsFieldRequest
    - `engine_version` '2021-Q3' — * `2021-Q3` - 2021-Q3
    - `type` 'score' — * `score` - score
    - `attributes` WAFEngineSettingsAttributesFieldRequest
      - `rulesets` RulesetsEnum[]
      - `thresholds` ThresholdsConfigFieldRequest[]
        - `threat` 'cross_site_scripting' | 'directory_traversal' | 'evading_tricks' | 'file_upload' | 'identified_attack' | 'remote_file_inclusion' | 'sql_injection' | 'unwanted_access', required — * `cross_site_scripting` - cross_site_scripting * `directory_traversal` - directory_traversal * `evading_tricks` - evading_tricks * `file_upload` - file_upload * `identified_attack` - identified_attack * `remote_file_inclusion` - remote_file_inclusion * `sql_injection` - sql_injection * `unwanted_access` - unwanted_access
        - `sensitivity` 'highest' | 'high' | 'medium' | 'low' | 'lowest' — * `highest` - Highest * `high` - High * `medium` - Medium * `low` - Low * `lowest` - Lowest

## Response `200`

WAF updated successfully.

- WAFResponse
  - `state` string
  - `data` WAF, required
    - `id` integer, required
    - `active` boolean
    - `name` string, required
    - `last_editor` string, required
    - `last_modified` string, date-time, required
    - `product_version` string, nullable
    - `engine_settings` WAFEngineSettingsField
      - `engine_version` '2021-Q3' — * `2021-Q3` - 2021-Q3
      - `type` 'score' — * `score` - score
      - `attributes` WAFEngineSettingsAttributesField
        - `rulesets` RulesetsEnum[]
        - `thresholds` ThresholdsConfigField[]
          - `threat` 'cross_site_scripting' | 'directory_traversal' | 'evading_tricks' | 'file_upload' | 'identified_attack' | 'remote_file_inclusion' | 'sql_injection' | 'unwanted_access', required — * `cross_site_scripting` - cross_site_scripting * `directory_traversal` - directory_traversal * `evading_tricks` - evading_tricks * `file_upload` - file_upload * `identified_attack` - identified_attack * `remote_file_inclusion` - remote_file_inclusion * `sql_injection` - sql_injection * `unwanted_access` - unwanted_access
          - `sensitivity` 'highest' | 'high' | 'medium' | 'low' | 'lowest' — * `highest` - Highest * `high` - High * `medium` - Medium * `low` - Low * `lowest` - Lowest

## Other responses

- `400` — Validation Error
- `401` — Authentication Failed
- `403` — Permission Denied
- `404` — Not Found
- `405` — Method Not Allowed
- `406` — Not Acceptable
- `429` — Throttled
- `500` — Internal Server Error

---

[API](https://skmtc.dev/azion/apis/azion-api.md) · [All operations](https://skmtc.dev/azion/apis/azion-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/azion/azion-api/revisions/bb3250697218/schema)
