Concepts

Errors

What each status means, and which ones are deliberately not specific.

StatusMeaning
200A read succeeded, or a delete completed
201Rules or filters were created
401No key was supplied
403The key is not allowed — see below
404No such resource, or not yours
422The request was malformed, or the change was refused
429Rate limit exceeded
502The mitigation network or the node did not accept the change

Narrowing down a 403

A 403 covers more than one situation, and the response does not distinguish them:

  • the key is invalid or expired
  • it does not carry the ability this endpoint needs
  • your organisation does not have access to this endpoint

Check the abilities the key carries under Organisation → API keys. If those look right, start with Activation.

422 bodies

Validation failures carry a summary plus per-field messages:

{
  "message": "The destination port field format is invalid.",
  "errors": {
    "destination_port": ["The destination port field format is invalid."]
  }
}

A 422 is also how a refused change is reported, not just a malformed one — a duplicate rule, an exceeded limit, or an object a firewall group owns. Read errors rather than assuming the request was syntactically wrong.

502 means nothing was applied

The request was valid and you were allowed to make it; the mitigation network or the game node did not accept it. Retrying is reasonable. On a multi-port firewall write, check created against requested — see Firewall.

On this page