# Create WAF managed review > Vigil's review of the zone's whole managed WAF phase in one answer: what each exception lets skip the managed rulesets, and for whom, how they overlap, and e... Source: https://docs.vigilbase.com/one/api/reference/services/post-services-cloudflare-zones-zone-id-waf-managed-review `POST https://one.vigilbase.com/api/services/cloudflare/zones/{zoneId}/waf/managed/review` Vigil's review of the zone's whole managed WAF phase in one answer: what each exception lets skip the managed rulesets, and for whom, how they overlap, and each deployment's scope and overrides. Cloudflare logs no events for exceptions, so the review reads the expressions and their order only. ## Authorizations Send one of these: - `Authorization` (string, header, required): Bearer access token from Vigilbase Identity (`auth.vigilbase.com`), sent as `Authorization: Bearer `. The CLI gets one with `vigilbase login`. - `Authorization` (string, header, required): Organisation API key (`vb_one_…`) from **Settings → API keys** in Vigilbase One, sent as `Authorization: Bearer vb_one_…`. Needs a key with write access: read-only keys get `403` with the code `read_only_key`. See [organisation API keys](https://docs.vigilbase.com/one/api#organisation-api-keys). ## Path parameters - `zoneId` (string, required) ## Body (application/json) - `customerId` (string, required) - `refresh` (boolean) ## Responses ### 200 Success ### 401 Authentication required ### 403 Not permitted ## Example request ```bash # Token from `vigilbase login`, or a write API key (vb_one_…) curl --request POST \ --url 'https://one.vigilbase.com/api/services/cloudflare/zones/{zoneId}/waf/managed/review' \ --header "Authorization: Bearer $VIGILBASE_TOKEN" \ --header 'Content-Type: application/json' \ --data '{"customerId":"","refresh":true}' ```