Use this flow when your application owns the user interface and Zquence supplies sanctions screening and case records through the API.

Before you start

Create an environment-bound API key with these scopes: Add sanctions.export only if the integration downloads CSV exports.
Store x-api-secret on your server. Do not send either credential from browser or mobile code.

1. Check screening readiness

Call readiness before enabling screening in your production workflow:
Proceed only when ready is true. A false value includes tenant-safe blockers and the team responsible for resolving them.

2. Register a webhook endpoint

The API key and endpoint belong to the same environment. Zquence sends only that environment’s events to the endpoint.

3. Screen a subject

Send a unique requestNonce for each logical screening operation. Reusing the nonce returns the existing screening record instead of calling the provider and charging twice.
Store _id, caseId, attemptId, and status from the response. Keep your original requestNonce with the operation in your own system; the stored response value may include an internal namespace.

4. Apply the result

A screening result is evidence for your compliance process, not legal advice. Define your own review and escalation policy with qualified compliance counsel.

5. Process webhook results

Verify the signature against the raw request body, deduplicate on the top-level event id, enqueue the event, and return 2xx within 10 seconds. Use caseId to retrieve current state after receiving sanctions.screening.completed or an outcome-specific event. Do not depend on delivery order. Retries and endpoint recovery can change the order in which your worker sees events. See Sanctions webhook events and signature verification.

6. Review a potential match

Retrieve the authoritative case:
Use the current projection.version when you record a decision:
If another reviewer or screening attempt changed the case, the API returns 409. Retrieve the case again and reassess it before submitting another decision.

Recovery checklist

  • Retry network failures with the same requestNonce.
  • Treat error, skipped, and HTTP 5xx responses as unresolved.
  • Poll GET /sanctions/cases/{caseId} when a webhook is late.
  • Deduplicate webhook deliveries on the event id.
  • Keep sandbox and live API keys, webhook secrets, and stored event data separate.

Reference

Screen a subject

Request and response fields for ad-hoc screening.

Retrieve a case

Attempts, matches, decisions, and case state.