Skip to main content
The Customer Screening API checks a customer: sanctions and country restrictions, whether their organization is real and works in the life sciences, whether they work there, and whether they are a scientist. It returns a recommendation, a result for each area and a short summary you can store on the customer’s account. You choose what runs by naming a policy: for example, a basic screen at account creation, or a fuller screen with address checks before you ship. The API recommends; you decide. It never blocks an account or order. This version takes customer details only, with no order or sequence data.

How it works

  1. POST /v1/screenings with the customer’s details. The API returns 202 and a pending screening at once.
  2. Get the result by polling GET /v1/screenings/{id} or by receiving a webhook. A screening usually takes under two minutes.
  3. Optionally, record what you decided with POST /v1/screenings/{id}/decision.

Authentication

Send your API key as a Bearer token over HTTPS:
You get separate test and live keys. Keys starting sb_test_ create test screenings, which live keys cannot read. Keep keys secret; ask us to revoke one at any time.

Quickstart

The API rejects unknown fields, so a misspelled field fails instead of being ignored. Requests are limited to 64 KB. Each account has a limit on requests per minute and on new screenings per day, agreed when we set up your account. Over a limit, the API returns 429 with a Retry-After header; see errors. The response is 202 Accepted with a Location header. Poll that address until status is completed or failed, waiting the number of seconds in the Retry-After header between requests. A retry with the same request_key and body returns 200 and the saved screening.

Test keys

A test key runs a real screening, so use made-up customers. To test your integration without running checks, add test_scenario to the request: These fixed screenings are kept briefly and can disappear when the service restarts. Live keys reject test_scenario.