API ReferenceGroupsBeta

Read one group, its rules and the addresses it reachesBeta

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.
GET
/firewall/groups/{group}

assignments lists only live addresses; one the group has been detached from is history and is not returned.

Compare each assignment's applied_revision against the group's revision to know whether an edit has reached that address yet. Equal means in sync.

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.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/firewall/groups/42"
{  "data": {    "id": 0,    "name": "string",    "description": "string",    "revision": 0,    "rule_count": 0,    "footprint": {      "ip": 0,      "geo": 0,      "filter": 0    },    "assignment_count": 0,    "updated_at": "2019-08-24T14:15:22Z",    "rules": [      {        "id": 0,        "kind": "ip",        "destination_port": "25565",        "all_ports": true,        "expanded_port_count": 0,        "action": "allow",        "protocol": "tcp",        "source_ip": "string",        "country_code": "string",        "source_asn": 0,        "filter_type": "string",        "filter_name": "string",        "note": "string",        "tags": [          "string"        ],        "summary": "string"      }    ],    "assignments": [      {        "ip": "192.168.0.1",        "prefix": "string",        "status": "pending",        "applied_revision": 0,        "last_error": "string",        "last_synced_at": "2019-08-24T14:15:22Z"      }    ],    "prefixes": [      {        "cidr": "203.0.113.0/24",        "include_edges": true,        "address_count": 0,        "status": "pending",        "status_counts": {          "property1": 0,          "property2": 0        },        "failed": [          {            "ip": "192.168.0.1",            "last_error": "string"          }        ]      }    ]  },  "meta": {    "limits": {      "ip_rules_per_ip": 0,      "geo_rules_per_ip": 0,      "filters_per_ip": 0,      "max_ports_per_group_rule": 0,      "group_rules_max": 0,      "group_assignments_max": 0,      "group_prefix_min_length": 0,      "group_prefix_targets_max": 0    }  }}