API Reference

Firewall Policy API

Firewall policy — rules, objects, change management, audits, NAT, automation, and WAF exceptions. Auto-generated from the platform OpenAPI schema so it matches the running API.

REST API for this feature — 121 operations across 67 resource paths, auto-generated from the platform's live OpenAPI schema (drf-spectacular).

Base URL https://<your-versus-host>/api · Auth Authorization: Bearer <JWT> (from POST /api/auth/token/) · 📄 Download the OpenAPI spec for Postman/Insomnia/Swagger · see the API overview for pagination, filtering, and errors.

Analyze

POST /api/policy/analyze/

POST /api/policy/analyze/

Responses: 200


Controls

GET /api/policy/controls/

CRUD for compliance controls.

ParameterInRequiredTypeDescription
check_typequerynostring* rule_predicate - Rule Predicate
enabledquerynoboolean
frameworkquerynostring* pci_dss - PCI DSS
is_builtinquerynoboolean
orderingquerynostringWhich field to use when ordering the results.
pagequerynointegerA page number within the paginated result set.
page_sizequerynointegerNumber of results to return per page.
searchquerynostringA search term.

Responses: 200 → PaginatedComplianceControlList

POST /api/policy/controls/

CRUD for compliance controls.

Request body (application/json): ComplianceControlRequest

Responses: 201 → ComplianceControl

GET /api/policy/controls/{id}/

CRUD for compliance controls.

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this compliance control.

Responses: 200 → ComplianceControl

PUT /api/policy/controls/{id}/

CRUD for compliance controls.

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this compliance control.

Request body (application/json): ComplianceControlRequest

Responses: 200 → ComplianceControl

PATCH /api/policy/controls/{id}/

CRUD for compliance controls.

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this compliance control.

Request body (application/json): PatchedComplianceControlRequest

Responses: 200 → ComplianceControl

DELETE /api/policy/controls/{id}/

CRUD for compliance controls.

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this compliance control.

Responses: 204


Exceptions

GET /api/policy/exceptions/

CRUD for policy exceptions.

ParameterInRequiredTypeDescription
approved_byquerynointeger
is_activequerynoboolean
orderingquerynostringWhich field to use when ordering the results.
pagequerynointegerA page number within the paginated result set.
page_sizequerynointegerNumber of results to return per page.
searchquerynostringA search term.
violationquerynointeger

Responses: 200 → PaginatedPolicyExceptionList

POST /api/policy/exceptions/

CRUD for policy exceptions.

Request body (application/json): PolicyExceptionRequest

Responses: 201 → PolicyException

GET /api/policy/exceptions/{id}/

CRUD for policy exceptions.

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this policy exception.

Responses: 200 → PolicyException

PUT /api/policy/exceptions/{id}/

CRUD for policy exceptions.

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this policy exception.

Request body (application/json): PolicyExceptionRequest

Responses: 200 → PolicyException

PATCH /api/policy/exceptions/{id}/

CRUD for policy exceptions.

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this policy exception.

Request body (application/json): PatchedPolicyExceptionRequest

Responses: 200 → PolicyException

DELETE /api/policy/exceptions/{id}/

CRUD for policy exceptions.

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this policy exception.

Responses: 204


Exposure

GET /api/policy/exposure/

GET /api/policy/exposure/

ParameterInRequiredTypeDescription
cve_idquerynostring
devicequerynointeger
orderingquerynostringWhich field to use when ordering the results.
pagequerynointegerA page number within the paginated result set.
page_sizequerynointegerNumber of results to return per page.
reachable_from_zonequerynostring
searchquerynostringA search term.

Responses: 200 → PaginatedExposureFindingList

GET /api/policy/exposure/{id}/

GET /api/policy/exposure/

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this exposure finding.

Responses: 200 → ExposureFinding


Findings

GET /api/policy/findings/

GET/PATCH /api/policy/findings/

ParameterInRequiredTypeDescription
devicequerynointeger
finding_typequerynostring* unused - Unused
orderingquerynostringWhich field to use when ordering the results.
pagequerynointegerA page number within the paginated result set.
page_sizequerynointegerNumber of results to return per page.
searchquerynostringA search term.
severityquerynostring* critical - Critical
statusquerynostring* open - Open

Responses: 200 → PaginatedRuleFindingList

GET /api/policy/findings/{id}/

GET/PATCH /api/policy/findings/

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this rule finding.

Responses: 200 → RuleFinding

PATCH /api/policy/findings/{id}/

GET/PATCH /api/policy/findings/

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this rule finding.

Request body (application/json): PatchedRuleFindingRequest

Responses: 200 → RuleFinding


Firewall audits

GET /api/firewall-audits/

List firewall audits

ParameterInRequiredTypeDescription
audit_typequerynostring* pci_dss_v4 - PCI DSS v4.0
devicequerynointeger
orderingquerynostringWhich field to use when ordering the results.
pagequerynointegerA page number within the paginated result set.
page_sizequerynointegerNumber of results to return per page.
searchquerynostringA search term.
statusquerynostring* running - Running

Responses: 200 → PaginatedFirewallAuditRunList

GET /api/firewall-audits/checklist/

Return the full PCI DSS v4.0 checklist definition with descriptions and severity.

Responses: 200 → FirewallAuditRun

POST /api/firewall-audits/run_all/

Run PCI audit on every firewall/ADC device, optionally scoped to a device group.

Request body (application/json): FirewallAuditRunRequest

Responses: 200 → FirewallAuditRun

POST /api/firewall-audits/run_audit/

Create run audit

Request body (application/json): FirewallAuditRunRequest

Responses: 200 → FirewallAuditRun

GET /api/firewall-audits/{id}/

Retrieve firewall audit

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this firewall audit run.

Responses: 200 → FirewallAuditRun

GET /api/firewall-audits/{id}/findings/

Findings: firewall audit

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this firewall audit run.

Responses: 200 → FirewallAuditRun


Firewall automation

GET /api/firewall-automation/access-requests/

Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated

ParameterInRequiredTypeDescription
orderingquerynostringWhich field to use when ordering the results.
searchquerynostringA search term.

Responses: 200 → AccessRequestList[]

POST /api/firewall-automation/access-requests/

Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated

Request body (application/json): AccessRequestRequest

Responses: 201 → AccessRequest

GET /api/firewall-automation/access-requests/{id}/

Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this access request.

Responses: 200 → AccessRequest

PUT /api/firewall-automation/access-requests/{id}/

Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this access request.

Request body (application/json): AccessRequestRequest

Responses: 200 → AccessRequest

PATCH /api/firewall-automation/access-requests/{id}/

Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this access request.

Request body (application/json): PatchedAccessRequestRequest

Responses: 200 → AccessRequest

DELETE /api/firewall-automation/access-requests/{id}/

Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this access request.

Responses: 204

POST /api/firewall-automation/access-requests/{id}/approve/

Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this access request.

Request body (application/json): AccessRequestRequest

Responses: 200 → AccessRequest

POST /api/firewall-automation/access-requests/{id}/reject/

Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this access request.

Request body (application/json): AccessRequestRequest

Responses: 200 → AccessRequest

POST /api/firewall-automation/access-requests/{id}/retry_path/

Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this access request.

Request body (application/json): AccessRequestRequest

Responses: 200 → AccessRequest

GET /api/firewall-automation/access-requests/{id}/timeline/

Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this access request.

Responses: 200 → AccessRequest

POST /api/firewall-automation/snow-webhook/

Create snow webhook

Responses: 200


Firewall changes

GET /api/firewall-changes/

List firewall changes

ParameterInRequiredTypeDescription
change_typequerynostring* create - Create Rule
devicequerynointeger
orderingquerynostringWhich field to use when ordering the results.
pagequerynointegerA page number within the paginated result set.
page_sizequerynointegerNumber of results to return per page.
searchquerynostringA search term.
statusquerynostring* pending_snow - Creating SNOW CHG

Responses: 200 → PaginatedFirewallChangeRequestList

GET /api/firewall-changes/{id}/

Retrieve firewall change

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this firewall change request.

Responses: 200 → FirewallChangeRequest

POST /api/firewall-changes/{id}/cancel/

Cancel a pending change request and close the SNOW CHG.

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this firewall change request.

Request body (application/json): FirewallChangeRequestRequest

Responses: 200 → FirewallChangeRequest

POST /api/firewall-changes/{id}/check_approval/

Poll ServiceNow for approval status and update the change record.

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this firewall change request.

Request body (application/json): FirewallChangeRequestRequest

Responses: 200 → FirewallChangeRequest

POST /api/firewall-changes/{id}/execute/

Execute an approved change (checks SNOW approval first).

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this firewall change request.

Request body (application/json): FirewallChangeRequestRequest

Responses: 200 → FirewallChangeRequest


Firewall objects

GET /api/firewall-objects/

Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated

ParameterInRequiredTypeDescription
devicequerynointeger
namequerynostring
object_typequerynostring* address - Address
orderingquerynostringWhich field to use when ordering the results.
pagequerynointegerA page number within the paginated result set.
page_sizequerynointegerNumber of results to return per page.
searchquerynostringA search term.
vsysquerynostring

Responses: 200 → PaginatedFirewallObjectList

POST /api/firewall-objects/

Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated

Request body (application/json): FirewallObjectRequest

Responses: 201 → FirewallObject

GET /api/firewall-objects/resolve/

Recursively resolve an address object/group to a flat list of IPs/CIDRs.

Responses: 200 → FirewallObject

GET /api/firewall-objects/{id}/

Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this firewall object.

Responses: 200 → FirewallObject

PUT /api/firewall-objects/{id}/

Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this firewall object.

Request body (application/json): FirewallObjectRequest

Responses: 200 → FirewallObject

PATCH /api/firewall-objects/{id}/

Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this firewall object.

Request body (application/json): PatchedFirewallObjectRequest

Responses: 200 → FirewallObject

DELETE /api/firewall-objects/{id}/

Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this firewall object.

Responses: 204


Firewall rule sets

GET /api/firewall-rule-sets/

Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated

ParameterInRequiredTypeDescription
devicequerynointeger
orderingquerynostringWhich field to use when ordering the results.
pagequerynointegerA page number within the paginated result set.
page_sizequerynointegerNumber of results to return per page.
rule_typequerynostring
searchquerynostringA search term.
vsysquerynostring

Responses: 200 → PaginatedFirewallRuleSetList

POST /api/firewall-rule-sets/

Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated

Request body (application/json): FirewallRuleSetRequest

Responses: 201 → FirewallRuleSet

GET /api/firewall-rule-sets/{id}/

Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this firewall rule set.

Responses: 200 → FirewallRuleSet

PUT /api/firewall-rule-sets/{id}/

Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this firewall rule set.

Request body (application/json): FirewallRuleSetRequest

Responses: 200 → FirewallRuleSet

PATCH /api/firewall-rule-sets/{id}/

Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this firewall rule set.

Request body (application/json): PatchedFirewallRuleSetRequest

Responses: 200 → FirewallRuleSet

DELETE /api/firewall-rule-sets/{id}/

Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this firewall rule set.

Responses: 204


Firewall rules

GET /api/firewall-rules/

Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated

ParameterInRequiredTypeDescription
actionquerynostring* allow - Allow
devicequerynointeger
enabledquerynoboolean
orderingquerynostringWhich field to use when ordering the results.
pagequerynointegerA page number within the paginated result set.
page_sizequerynointegerNumber of results to return per page.
rule_setquerynointeger
searchquerynostringA search term.

Responses: 200 → PaginatedFirewallRuleList

POST /api/firewall-rules/

Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated

Request body (application/json): FirewallRuleRequest

Responses: 201 → FirewallRule

POST /api/firewall-rules/sync_hit_counts/

Pull rule hit counts from Panorama and update hit_count / last_hit on each rule.

Request body (application/json): FirewallRuleRequest

Responses: 200 → FirewallRule

GET /api/firewall-rules/{id}/

Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this firewall rule.

Responses: 200 → FirewallRule

PUT /api/firewall-rules/{id}/

Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this firewall rule.

Request body (application/json): FirewallRuleRequest

Responses: 200 → FirewallRule

PATCH /api/firewall-rules/{id}/

Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this firewall rule.

Request body (application/json): PatchedFirewallRuleRequest

Responses: 200 → FirewallRule

DELETE /api/firewall-rules/{id}/

Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this firewall rule.

Responses: 204

POST /api/firewall-rules/{id}/push_to_device/

Gate a push-to-device behind a ServiceNow change request.

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this firewall rule.

Request body (application/json): FirewallRuleRequest

Responses: 200 → FirewallRule

POST /api/firewall-rules/{id}/toggle_enabled/

Gate enable/disable behind a ServiceNow change request.

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this firewall rule.

Request body (application/json): FirewallRuleRequest

Responses: 200 → FirewallRule


Impact analysis

POST /api/policy/impact-analysis/

POST /api/policy/impact-analysis/

Responses: 200


Nat rules

GET /api/nat-rules/

Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated

ParameterInRequiredTypeDescription
devicequerynointeger
enabledquerynoboolean
nat_typequerynostring* static - Static NAT
orderingquerynostringWhich field to use when ordering the results.
pagequerynointegerA page number within the paginated result set.
page_sizequerynointegerNumber of results to return per page.
searchquerynostringA search term.

Responses: 200 → PaginatedNatRuleList

POST /api/nat-rules/

Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated

Request body (application/json): NatRuleRequest

Responses: 201 → NatRule

GET /api/nat-rules/{id}/

Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this nat rule.

Responses: 200 → NatRule

PUT /api/nat-rules/{id}/

Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this nat rule.

Request body (application/json): NatRuleRequest

Responses: 200 → NatRule

PATCH /api/nat-rules/{id}/

Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this nat rule.

Request body (application/json): PatchedNatRuleRequest

Responses: 200 → NatRule

DELETE /api/nat-rules/{id}/

Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this nat rule.

Responses: 204


Policies

GET /api/policies/

List policys

ParameterInRequiredTypeDescription
devicequerynointeger
orderingquerynostringWhich field to use when ordering the results.
pagequerynointegerA page number within the paginated result set.
page_sizequerynointegerNumber of results to return per page.
partitionquerynostring
searchquerynostringA search term.

Responses: 200 → PaginatedLtmPolicyList

GET /api/policies/{id}/

Retrieve policy

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this ltm policy.

Responses: 200 → LtmPolicy


Recert

GET /api/policy/recert/

Full CRUD + transition actions for recertification reviews.

ParameterInRequiredTypeDescription
assigned_toquerynointeger
orderingquerynostringWhich field to use when ordering the results.
pagequerynointegerA page number within the paginated result set.
page_sizequerynointegerNumber of results to return per page.
searchquerynostringA search term.
statusquerynostring* open - Open
triggerquerynostring* scheduled - Scheduled

Responses: 200 → PaginatedRecertReviewList

POST /api/policy/recert/

Full CRUD + transition actions for recertification reviews.

Request body (application/json): RecertReviewRequest

Responses: 201 → RecertReview

GET /api/policy/recert/{id}/

Full CRUD + transition actions for recertification reviews.

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this recert review.

Responses: 200 → RecertReview

PUT /api/policy/recert/{id}/

Full CRUD + transition actions for recertification reviews.

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this recert review.

Request body (application/json): RecertReviewRequest

Responses: 200 → RecertReview

PATCH /api/policy/recert/{id}/

Full CRUD + transition actions for recertification reviews.

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this recert review.

Request body (application/json): PatchedRecertReviewRequest

Responses: 200 → RecertReview

DELETE /api/policy/recert/{id}/

Full CRUD + transition actions for recertification reviews.

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this recert review.

Responses: 204

POST /api/policy/recert/{id}/assign/

Full CRUD + transition actions for recertification reviews.

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this recert review.

Request body (application/json): RecertReviewRequest

Responses: 200 → RecertReview

POST /api/policy/recert/{id}/certify/

Full CRUD + transition actions for recertification reviews.

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this recert review.

Request body (application/json): RecertReviewRequest

Responses: 200 → RecertReview

POST /api/policy/recert/{id}/decertify/

Full CRUD + transition actions for recertification reviews.

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this recert review.

Request body (application/json): RecertReviewRequest

Responses: 200 → RecertReview

POST /api/policy/recert/{id}/request-modify/

Full CRUD + transition actions for recertification reviews.

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this recert review.

Request body (application/json): RecertReviewRequest

Responses: 200 → RecertReview


Rule meta

GET /api/policy/rule-meta/

GET/POST/PATCH /api/policy/rule-meta/

ParameterInRequiredTypeDescription
certification_statusquerynostring* never_reviewed - Never Reviewed
orderingquerynostringWhich field to use when ordering the results.
ownerquerynointeger
pagequerynointegerA page number within the paginated result set.
page_sizequerynointegerNumber of results to return per page.
rulequerynointeger
searchquerynostringA search term.

Responses: 200 → PaginatedRuleMetaList

POST /api/policy/rule-meta/

GET/POST/PATCH /api/policy/rule-meta/

Request body (application/json): RuleMetaRequest

Responses: 201 → RuleMeta

POST /api/policy/rule-meta/bulk-assign-owner/

GET/POST/PATCH /api/policy/rule-meta/

Request body (application/json): RuleMetaRequest

Responses: 200 → RuleMeta

GET /api/policy/rule-meta/{id}/

GET/POST/PATCH /api/policy/rule-meta/

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this rule meta.

Responses: 200 → RuleMeta

PUT /api/policy/rule-meta/{id}/

GET/POST/PATCH /api/policy/rule-meta/

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this rule meta.

Request body (application/json): RuleMetaRequest

Responses: 200 → RuleMeta

PATCH /api/policy/rule-meta/{id}/

GET/POST/PATCH /api/policy/rule-meta/

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this rule meta.

Request body (application/json): PatchedRuleMetaRequest

Responses: 200 → RuleMeta

DELETE /api/policy/rule-meta/{id}/

GET/POST/PATCH /api/policy/rule-meta/

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this rule meta.

Responses: 204


Seg policy

GET /api/policy/seg-policy/

CRUD + activate action for segmentation policies.

ParameterInRequiredTypeDescription
orderingquerynostringWhich field to use when ordering the results.
pagequerynointegerA page number within the paginated result set.
page_sizequerynointegerNumber of results to return per page.
searchquerynostringA search term.
statusquerynostring* draft - Draft

Responses: 200 → PaginatedSegmentationPolicyList

POST /api/policy/seg-policy/

CRUD + activate action for segmentation policies.

Request body (application/json): SegmentationPolicyRequest

Responses: 201 → SegmentationPolicy

GET /api/policy/seg-policy/{id}/

CRUD + activate action for segmentation policies.

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this segmentation policy.

Responses: 200 → SegmentationPolicy

PUT /api/policy/seg-policy/{id}/

CRUD + activate action for segmentation policies.

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this segmentation policy.

Request body (application/json): SegmentationPolicyRequest

Responses: 200 → SegmentationPolicy

PATCH /api/policy/seg-policy/{id}/

CRUD + activate action for segmentation policies.

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this segmentation policy.

Request body (application/json): PatchedSegmentationPolicyRequest

Responses: 200 → SegmentationPolicy

DELETE /api/policy/seg-policy/{id}/

CRUD + activate action for segmentation policies.

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this segmentation policy.

Responses: 204

POST /api/policy/seg-policy/{id}/activate/

CRUD + activate action for segmentation policies.

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this segmentation policy.

Request body (application/json): SegmentationPolicyRequest

Responses: 200 → SegmentationPolicy


Usage

GET /api/policy/usage/

GET /api/policy/usage/

ParameterInRequiredTypeDescription
devicequerynointeger
orderingquerynostringWhich field to use when ordering the results.
pagequerynointegerA page number within the paginated result set.
page_sizequerynointegerNumber of results to return per page.
rule_uidquerynostring
searchquerynostringA search term.

Responses: 200 → PaginatedRuleUsageStateList

GET /api/policy/usage/{id}/

GET /api/policy/usage/

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this rule usage state.

Responses: 200 → RuleUsageState


Violations

GET /api/policy/violations/

CRUD + add_exception action for compliance violations.

ParameterInRequiredTypeDescription
controlquerynointeger
devicequerynointeger
orderingquerynostringWhich field to use when ordering the results.
pagequerynointegerA page number within the paginated result set.
page_sizequerynointegerNumber of results to return per page.
searchquerynostringA search term.
statusquerynostring* open - Open

Responses: 200 → PaginatedComplianceViolationList

GET /api/policy/violations/{id}/

CRUD + add_exception action for compliance violations.

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this compliance violation.

Responses: 200 → ComplianceViolation

PATCH /api/policy/violations/{id}/

CRUD + add_exception action for compliance violations.

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this compliance violation.

Request body (application/json): PatchedComplianceViolationRequest

Responses: 200 → ComplianceViolation


Waf exceptions

GET /api/waf-exceptions/

WAF exception requests go through a risk-tiered ServiceNow change +

ParameterInRequiredTypeDescription
orderingquerynostringWhich field to use when ordering the results.
pagequerynointegerA page number within the paginated result set.
page_sizequerynointegerNumber of results to return per page.
searchquerynostringA search term.
statusquerynostring* requested - Requested
virtual_serverquerynointeger

Responses: 200 → PaginatedWafExceptionList

POST /api/waf-exceptions/

WAF exception requests go through a risk-tiered ServiceNow change +

Request body (application/json): WafExceptionRequest

Responses: 201 → WafException

POST /api/waf-exceptions/shadow-check/

Preview endpoint (§4.4): runs the same shadow/conflict analysis

Request body (application/json): WafExceptionRequest

Responses: 200 → WafException

GET /api/waf-exceptions/{id}/

WAF exception requests go through a risk-tiered ServiceNow change +

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this waf exception.

Responses: 200 → WafException

PUT /api/waf-exceptions/{id}/

WAF exception requests go through a risk-tiered ServiceNow change +

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this waf exception.

Request body (application/json): WafExceptionRequest

Responses: 200 → WafException

PATCH /api/waf-exceptions/{id}/

WAF exception requests go through a risk-tiered ServiceNow change +

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this waf exception.

Request body (application/json): PatchedWafExceptionRequest

Responses: 200 → WafException

DELETE /api/waf-exceptions/{id}/

WAF exception requests go through a risk-tiered ServiceNow change +

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this waf exception.

Responses: 204

POST /api/waf-exceptions/{id}/retry/

Starts a fresh apply-pipeline run for this exception — used when

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this waf exception.

Request body (application/json): WafExceptionRequest

Responses: 200 → WafException


Waf requests

GET /api/waf-requests/

List waf requests

ParameterInRequiredTypeDescription
devicequerynointeger
enforcedquerynoboolean
orderingquerynostringWhich field to use when ordering the results.
pagequerynointegerA page number within the paginated result set.
page_sizequerynointegerNumber of results to return per page.
searchquerynostringA search term.
severityquerynostring

Responses: 200 → PaginatedWafRequestList

POST /api/waf-requests/

Create waf request

Request body (application/json): WafRequestRequest

Responses: 201 → WafRequest

GET /api/waf-requests/summary/

List summarys

Responses: 200 → WafRequest

GET /api/waf-requests/{id}/

Retrieve waf request

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this waf request.

Responses: 200 → WafRequest

PUT /api/waf-requests/{id}/

Update waf request

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this waf request.

Request body (application/json): WafRequestRequest

Responses: 200 → WafRequest

PATCH /api/waf-requests/{id}/

Update waf request

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this waf request.

Request body (application/json): PatchedWafRequestRequest

Responses: 200 → WafRequest

DELETE /api/waf-requests/{id}/

Delete waf request

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this waf request.

Responses: 204


Zone cells

GET /api/policy/zone-cells/

CRUD for zone policy cells.

ParameterInRequiredTypeDescription
dst_zonequerynostring
orderingquerynostringWhich field to use when ordering the results.
pagequerynointegerA page number within the paginated result set.
page_sizequerynointegerNumber of results to return per page.
policyquerynointeger
searchquerynostringA search term.
src_zonequerynostring
stancequerynostring* allow_all - Allow All

Responses: 200 → PaginatedZonePolicyCellList

POST /api/policy/zone-cells/

CRUD for zone policy cells.

Request body (application/json): ZonePolicyCellRequest

Responses: 201 → ZonePolicyCell

GET /api/policy/zone-cells/{id}/

CRUD for zone policy cells.

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this zone policy cell.

Responses: 200 → ZonePolicyCell

PUT /api/policy/zone-cells/{id}/

CRUD for zone policy cells.

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this zone policy cell.

Request body (application/json): ZonePolicyCellRequest

Responses: 200 → ZonePolicyCell

PATCH /api/policy/zone-cells/{id}/

CRUD for zone policy cells.

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this zone policy cell.

Request body (application/json): PatchedZonePolicyCellRequest

Responses: 200 → ZonePolicyCell

DELETE /api/policy/zone-cells/{id}/

CRUD for zone policy cells.

ParameterInRequiredTypeDescription
idpathyesintegerA unique integer value identifying this zone policy cell.

Responses: 204


Auto-generated from drf-spectacular OpenAPI. Endpoint descriptions come from viewset docstrings/serializers; enriching those improves this page on the next generation.