Signed results

GET https://api-verify.secuveri.com/v1/verifications/{id}/result with your API key, where id is the verification id or the session id, returns { "result": "<JWS>" } once the verification has finished (409 before). A key reads only its own environment's results.

JSON
{
  "iss": "https://api.secuveri.com",
  "aud": "<your organization id>",
  "sub": "VRF-7KQ2M9XA",
  "iat": 1792746902,
  "jti": "1f0b6c1e-…",
  "verification": {
    "verification_id": "VRF-7KQ2M9XA",
    "session_id": "6f1c2e0a-8f43-4f7e-9a51-2b7c1d9e4a10",
    "workflow_id": "<workflow id>",
    "vendor_data": "customer-1042",
    "metadata": null,
    "status": "COMPLETE",
    "verdict": "APPROVED",
    "trust_level": "HIGH",
    "outcome_reason": null,
    "expected_details": null,
    "document": {
      "type": "PASSPORT",
      "country": "CHE",
      "chip_verified": true,
      "outcome": null
    },
    "checks": {
      "document": "PASS",
      "morph": "PASS",
      "liveness": "PASS",
      "face-match": "PASS",
      "deepfake": "PASS"
    },
    "completed_at": "2026-10-23T09:15:01.902Z"
  }
}

Verify it

Pick the key whose kid matches the JWS header from /.well-known/jwks.json, require alg ES256, check the signature, and check that aud is your organization id. Cache the key set for a few minutes; when a kid is unknown, fetch it again (during a key change both keys are listed).

import { createPublicKey, verify } from "node:crypto";

// jwks: await (await fetch("https://api-verify.secuveri.com/.well-known/jwks.json")).json(), cached for a few minutes.
export function verifySecuveriResult(jws, organizationId, jwks) {
  const [header64, payload64, signature64] = jws.split(".");
  const header = JSON.parse(Buffer.from(header64, "base64url").toString());
  if (header.alg !== "ES256") throw new Error("Unexpected algorithm");
  const jwk = jwks.keys.find((key) => key.kid === header.kid);
  if (!jwk) throw new Error("Unknown signing key; fetch the JWKS again");
  const valid = verify(
    "sha256",
    Buffer.from(`${header64}.${payload64}`),
    { key: createPublicKey({ key: jwk, format: "jwk" }), dsaEncoding: "ieee-p1363" },
    Buffer.from(signature64, "base64url")
  );
  if (!valid) throw new Error("Invalid signature");
  const payload = JSON.parse(Buffer.from(payload64, "base64url").toString());
  if (payload.aud !== organizationId) throw new Error("Result is for another organization");
  return payload;
}