API ReferenceGroupsBeta

Apply a group to addressesBeta

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}/assignments

Addresses only — you know the address you want to protect, and you should not have to learn our prefix and service ids to name it.

There are two distinct refusals, and two different switches:

  • An address your organisation has no claim on, or that you may not manage, lands in skipped. By default that fails the whole request; partial: true applies the rest and reports the remainder.
  • An address the group would not fit on is a pre-flight failure. By default nothing is queued — a half-applied group is the drift groups exist to prevent — and the response carries the same report /preflight would have given. force: true applies it as far as it goes and leaves that address out of sync.

Re-assigning an address the group already reaches is not an error: it re-queues that address.

Rules already on an address that this group also wants are adopted, not duplicated.

Authorization

orgApiKey firewall-groups.manage
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.manage

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/assignments" \  -H "Content-Type: application/json" \  -d '{    "ips": [      "192.168.0.1"    ]  }'
{  "data": {    "operation_id": 0,    "applied": [      "192.168.0.1"    ],    "skipped": {      "property1": "string",      "property2": "string"    }  },  "message": "string"}