Create or replace an exception

PUT
/v1/{namespace}/config/{firewall}/exceptions/{id}

Lets packages matching selector through the rule named by rule.

Authorization

headerAuthorizationBearer <token>

A personal or service access token, sent as Authorization: Bearer <token>. See access tokens.

Path Parameters

namespace*string

The namespace id.

firewall*string

The firewall id.

id*string

The exception id.

Request Body

application/json
  1. body

An exception: lets packages through that a rule would otherwise block.

id*string

The exception id, unique within the firewall.

rule*string

The id of the rule the exception applies to. It can be a rule inherited from a parent firewall.

selector*

Which of the rule's matches the exception lets through. An empty selector lets through everything the rule matches.

log*boolean

Record a log entry each time the exception lets a package through.

expires?string

When the exception stops applying. Without it, the exception never expires.

Formatdate-time
reason?string

Why the exception was granted.

Value in"""acknowledged_violation""evaluating_component""mitigated_externally""no_upgrade_path""not_exploitable""not_reachable""other"
notes?string

Free-form notes, e.g. who approved the exception and why.

Response Body

The stored exception.

application/json
  1. response

An exception: lets packages through that a rule would otherwise block.

id*string

The exception id, unique within the firewall.

rule*string

The id of the rule the exception applies to. It can be a rule inherited from a parent firewall.

selector*

Which of the rule's matches the exception lets through. An empty selector lets through everything the rule matches.

log*boolean

Record a log entry each time the exception lets a package through.

expires?string

When the exception stops applying. Without it, the exception never expires.

Formatdate-time
reason?string

Why the exception was granted.

Value in"""acknowledged_violation""evaluating_component""mitigated_externally""no_upgrade_path""not_exploitable""not_reachable""other"
notes?string

Free-form notes, e.g. who approved the exception and why.

curl -X PUT 'https://eu-sov-1.bytesafecloud.eu/v1/my-namespace-id/config/my-firewall-id/exceptions/allow-left-pad' \  -H 'Content-Type: application/json' \  -d '{  "id": "allow-left-pad",  "log": true,  "notes": "Reviewed by the security team.",  "reason": "not_exploitable",  "rule": "block-malware",  "selector": {    "packageName": "left-pad",    "version": "1.3.0"  }}'
{  "id": "allow-left-pad",  "rule": "block-malware",  "selector": {    "packageName": "left-pad",    "version": "1.3.0"  },  "log": true,  "expires": "2026-05-31T09:30:00Z",  "reason": "not_exploitable",  "notes": "Reviewed by the security team."}