API ReferenceGroupsBeta

Report what applying this group would doBeta

Enabled per organisation

This endpoint answers 403 until our staff enable the Firewall API flag on your organisation, and its ability cannot be granted to a key before then. Open a ticket saying what you intend to build — see Activation.
POST
/firewall/groups/{group}/preflight

Writes nothing. It takes a body because it takes a list of addresses, not because it changes anything — which is why it sits under the read ability.

With ips, reports on those addresses: the call to make before assigning. Without a body, reports on the addresses the group already reaches, which is how you find one that has drifted past its limits.

Per address and per kind it reports what would be created, what is already there and would be adopted rather than duplicated, what would be released, and whether the result still fits. ok is false if any address would not fit — that is exactly the condition force overrides on assign.

Authorization

orgApiKey firewall-groups.read
AuthorizationBearer <token>

An organisation API key, prefixed tbk_. Create one under Organisation to API keys; the plaintext is shown once.

The scopes listed on each operation are the abilities the key must carry. They are not OAuth scopes and are not negotiated per request.

In: header

Scope: firewall-groups.read

Path Parameters

group*integer

The group's id, as returned by the list endpoint. A group belonging to another organisation is a 404, never a 403 — a 403 would confirm the id is real.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/firewall/groups/42/preflight" \  -H "Content-Type: application/json" \  -d '{}'
{  "data": {    "ok": true,    "ips": [      {        "ip": "192.168.0.1",        "ok": true,        "ownership": "string",        "kinds": {          "property1": {            "label": "string",            "limit": 0,            "current": 0,            "projected": 0,            "creating": 0,            "adopting": 0,            "releasing": 0,            "over_by": 0,            "fits": true,            "duplicates": [              "string"            ]          },          "property2": {            "label": "string",            "limit": 0,            "current": 0,            "projected": 0,            "creating": 0,            "adopting": 0,            "releasing": 0,            "over_by": 0,            "fits": true,            "duplicates": [              "string"            ]          }        }      }    ]  }}