Errors
What each status means, and which ones are deliberately not specific.
| Status | Meaning |
|---|---|
200 | A read succeeded, or a delete completed |
201 | Rules or filters were created |
401 | No key was supplied |
403 | The key is not allowed — see below |
404 | No such resource, or not yours |
422 | The request was malformed, or the change was refused |
429 | Rate limit exceeded |
502 | The 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.