Skip to content

KYC list screening for agents

Did a company or person match a supported public sanctions, export-control or debarment list? Vigil checks one company and up to three named people for $1.00 per standard screen. You get structured findings, the sources checked and a review PDF. Call it directly without a Cairn account, API key or interview.

Payment uses the Machine Payments Protocol (MPP) over HTTP 402: cards through a Link Shared Payment Token, or USDC on Tempo. Use a wallet with permission to spend. The live endpoint is:

POST https://cairn.cmdrvl.com/vigil-paid/v1/screen

The API uses HTTP and MPP. Vigil MCP access is arranged separately. HTTP 402 alone does not establish x402 compatibility.

Read the offer before paying

  • Current offer: price, supported payment methods, sources, exclusions, attribution, retention and refund conditions.
  • OpenAPI: request fields, response statuses and payment offers.
  • Agent instructions: service-specific calling instructions.
  • Service health: deployment mode and configured payment rails.

Check the live offer for paid API coverage, which differs from free screening through Text Cairn.

1. Prepare the request

company is required. persons accepts up to three names, or objects with a required name and optional dob and nationality. A date of birth can be a year or an ISO date. Nationality uses a two-letter country code.

This is a synthetic example:

{
"company": "Example Holdings LLC",
"persons": [
"Jane Example",
{ "name": "John Example", "dob": "1970", "nationality": "US" }
],
"wait_seconds": 0
}

wait_seconds accepts 0 to 240 seconds and defaults to 15. A short wait returns a result URL if screening is still running. Save the exact request body for the payment retry.

2. Inspect the unpaid challenge

Send this request without a payment credential to inspect the challenge. It does not buy a screen:

curl -i 'https://cairn.cmdrvl.com/vigil-paid/v1/screen' \
-H 'Content-Type: application/json' \
--data '{"company":"Example Holdings LLC","persons":[],"wait_seconds":0}'

Expect 402 Payment Required, with WWW-Authenticate: Payment challenges for the available methods. An ordinary curl request cannot pay by itself. A malformed request is rejected before the payment challenge.

3. Pay with a supported wallet

Follow Stripe's MPP client instructions or the MPP wallet guide. The wallet handles the challenge, payment and retry with a payment credential. Retry the same request body and route.

For cards, Stripe documents these Link CLI commands. They use real funds when run against the live endpoint:

npx @stripe/link-cli auth login
npx @stripe/link-cli mpp pay \
'https://cairn.cmdrvl.com/vigil-paid/v1/screen' \
-X POST \
-d '{"company":"Example Holdings LLC","persons":[],"wait_seconds":0}' \
--context 'Pay $1 for one standard Vigil KYC list screen.'

For a funded Tempo wallet, the provider documents this command:

tempo request -X POST \
--json '{"company":"Example Holdings LLC","persons":[],"wait_seconds":0}' \
'https://cairn.cmdrvl.com/vigil-paid/v1/screen'

The payer sets up and funds the wallet and controls its spending permissions. Keep card details, private keys and payment credentials out of website forms and support email.

4. Retrieve the result and PDF

The paid response carries a Payment-Receipt header. If it returns 202, screening is still running. Save the returned result_url and token, and GET that URL until it returns 200. Polling requires no further payment; submitting another paid POST can create another charge.

When screening finishes, read the result and retrieve its report_pdf_url. The result includes severity, review routing, a recommendation, potential matches, source dates and evidence identifiers. Check the sources and gaps before passing the findings to a person for review.

Result URLs contain access tokens. Keep them out of public examples, analytics, issue reports and shared logs. Set RESULT_URL to the URL returned by your own request:

curl --fail-with-body "$RESULT_URL"

Coverage and interpretation

The paid API checks supported OFAC, UK, EU, BIS, US Consolidated Screening List and SAM exclusions sources. The live offer names each list, its attribution and freshness limit.

It does not screen the UN consolidated list, World Bank debarments, Interpol Red Notices, Australian DFAT or adverse media. DDTC is cross-referenced through the US Consolidated Screening List. It does not verify identity documents, discover beneficial owners or check politically exposed persons.

“Potential match” identifies a record for review. “No candidate found” applies to the sources and snapshots checked. A screen never clears a person or company. Matching and review rules are deterministic; the person using the report makes the decision.

Errors, retention and refunds

ResponseWhat to do
200Read the completed result and retrieve its PDF.
202Poll the returned result URL. Do not pay again.
400Correct the input. Malformed requests are rejected before a challenge.
402Use a supported wallet to pay and retry the same request.
404 on result/PDFCheck your returned URL and token; an unknown or unauthorized job is not exposed.
429Respect the rate limit; inspect any payment/refund information before retrying.
502The screen did not complete. Inspect its refund status and contact support if needed.

Payment settles before screening runs. A screen that produces no report is eligible for a refund. The service attempts card refunds automatically and reports any failure for manual handling. Stablecoin refunds are handled manually to the paying wallet.

The current offer allows 20 screens per payer per hour and retains results for 90 days. Within 24 hours, the same payer and matching inputs return the earlier pack. The new charge is refunded subject to the current automatic-refund cap of three per payer per day; beyond that cap, the earlier pack is returned and the charge stands. Polling an existing result avoids a new charge. Check the live offer for current conditions.

Choose the path that fits

Text Cairn provides free screening through messaging, with its own coverage and admission conditions. Use this API to run the standard screen from an agent or application. For larger lists, custom policy, formats, sources or integrations, agree on the work with Hire Cairn.

For support or a data correction, email cairn@cmdrvl.com. Include a safe description of the problem; keep access tokens and payment credentials private.