Skip to main content
This page is the catalogue of error codes and named error states you’ll encounter across Protect. For symptom-driven debugging see Troubleshooting; this page is the structured reference of every error string the product can show.
The error strings on this page reflect what Protect surfaces in the UI. Exact vendor-side strings can vary by integration and release.

API HTTP status codes

The ThreatAware API returns a JSON envelope of the form {"Success": false, "StatusCode": <code>, "Message": "<text>"} on errors. The HTTP status, the StatusCode field, and the human Message are all surfaced verbatim in API client integrations. Live-captured response shapes:
The 400 vs 401 split is header presence versus header value. Send the header with garbage and you get 400 / "Unexpected error occurred."; omit the header entirely and you get 401 / "No key was provided.". Library defaults that strip empty headers will trip this distinction.
See API Reference → Response Codes for the canonical list and rate-limit handling guidance.

Sync errors (Integrations)

Integration sync state is surfaced on each integration card in Settings → Connections (the URL is /settings/connections). The connected state on a healthy card is the literal label CONNECTED; the Modify button beneath it opens a dialog with Enable Multi-Tenancy, Reauthorise, and Disconnect sections. Categories of sync error (structural — exact per-integration sync error strings vary by vendor):

Action errors

Errors that surface in the Automation Log when an Action’s automation fires.
The webhook Test Webhook control reports the literal toast Successfully complete / The request Successfully completed even when the destination URL returns a 5xx response (verified live by pointing the test at https://httpbin.org/status/500). The Test Webhook flow validates that the request was dispatched, not that the destination accepted it. For end-to-end validation, save the Action, let it fire, and read the Automation Log on the Action detail page.

Integration auth errors

Specific errors during the Connect wizard and during re-authentication. The Reauthorise flow on a connected integration is a 4-step wizard (Step 1 of 4Step 4 of 4). Step 4 is the credentials form (label set varies by integration — e.g. ServiceNow exposes Platform URL, User ID, Password; the URL field placeholder is https://dev123456.service-now.com). The Step 4 button is Authorise. ServiceNow behaviour:
  • Submitting invalid credentials via the Reauthorise flow returns a Credentials saved confirmation in the dialog, followed by a Connect ServiceNow / ServiceNow is connecting, changes will appear soon toast on the connections page.
  • The Authorise step does not synchronously test credentials. Sync failure for bad credentials surfaces later on the integration card (stale last-sync timestamp) and in the next cycle’s audit log entries — not as an immediate wizard error.

Platform error states

These appear in the UI rather than as numeric codes. Vitals composite states (per the live device drawer): Full state reference: Vitals States.

In-product query parsing

The Device Explorer and Saved View query bars do not surface a parse error on malformed input. Invalid queries (e.g. tags:End-User AND AND OR ((() silently render No devices found rather than raising a syntax error. This was verified live by submitting the malformed string above to the Device Explorer command bar — the grid emptied to No devices found with no error toast or inline message. The same silent-zero behaviour applies to unknown field names (e.g. os=Windows returns 0 instead of telling you = is not the operator; the correct operator is :). See Query Syntax for the verified grammar.

Cross-references

Troubleshooting

Symptom → cause → fix

API Reference

HTTP status codes in detail

Webhook Payload

Outbound webhook shape and retry behaviour

Vitals States

All Vitals state values

Audit Log Events

What gets recorded

Support

Escalate persistent errors