Skip to main content
POST /v1/evaluate is the only runtime endpoint. A collector calls it to evaluate one request against the policy it routes to. See How it works for the pipeline behind it.

Authentication

The collector is resolved from the API key, so you don’t send a collector id in the body. (When TrustGuard runs behind TrustGate, the gateway authenticates and calls this endpoint for you.)

Request

Unknown top‑level fields are rejected with 400 (strict decoding). Do not send input, metadata, collector_id, or detector_id at the top level.
Callers that authenticate with a service token instead of an API key must also send exactly one of gateway_id or collector_key to select the collector. With a collector API key (the common case, and the focus of this page) the collector comes from the key.

Attachments & SSRF

Each attachment in payload.attachments provides either base64 data or a url:
  • URL fetches are HTTPS‑only and bounded (timeout, size cap, redirect limit).
  • A strict SSRF guard resolves DNS before dialing and rejects loopback, private, link‑local, multicast, CGNAT (100.64/10), 0.0.0.0/8, and cloud‑metadata (169.254.169.254) targets.
  • Attachment bytes are never persisted.

Response

Always 200 for a detection — TrustGuard never drops traffic.

The finding object

Status codes

Error responses carry { "error", "trace_id", "request_id" }.

Enforcing the verdict

TrustGuard is advisory. Your collector inspects the status and decides:
When TrustGuard runs behind TrustGate, the gateway performs this enforcement for you.