ShieldSignup
API reference

Get an assessment

GET /v1/assess/:request_id — fetch a previously stored assessment by ID.

GET /v1/assess/:request_id returns a previously stored assessment by its request_id. Use it for async webhook workflows, audit logs, or to display an assessment in your own admin UI without re-running the scorer.

This endpoint does not deduct quota.

Endpoint

GET https://api.shieldsignup.com/v1/assess/{request_id}

Authentication

Bearer token in the Authorization header. See Authentication.

Path parameters

ParameterTypeRequiredDescription
request_idstringYesThe request_id returned from a prior POST /v1/assess call (prefix req_).

Request example

curl https://api.shieldsignup.com/v1/assess/req_01hw5k3mfvx8t2b4ncqw7ydpej \
  -H "Authorization: Bearer ${SHIELDSIGNUP_API_KEY}"
const res = await fetch(
  `https://api.shieldsignup.com/v1/assess/${requestId}`,
  {
    headers: {
      "Authorization": `Bearer ${process.env.SHIELDSIGNUP_API_KEY}`,
    },
    signal: AbortSignal.timeout(3000),
  },
);

if (!res.ok) {
  // 400 missing_field — unknown request_id
  // 401 unauthorized — bad key
  throw new Error(`Assessment lookup failed: ${res.status}`);
}

const assessment = await res.json();

Response

200 OK with the same body shape as POST /v1/assess.

{
  "request_id": "req_01hw5k3mfvx8t2b4ncqw7ydpej",
  "verdict": "block",
  "score": 91,
  "reasons": [...],
  "ip_provided": true,
  "ip_status": "ok",
  "signals": { ... },
  "processed_ms": 18,
  "assessed_at": "2026-05-10T10:14:33Z"
}

Errors

HTTPerror.codeMeaning
400missing_fieldThe request_id is empty or unknown.
401unauthorizedMissing or invalid API key.
500internal_errorDatabase lookup failed. Retry after a short delay.

The full error envelope is documented in Errors.

On this page