Docs / AI agents
Use Stratum from an AI agent
Every Stratum API has an OpenAPI file at a stable URL, so an AI agent or assistant can call it as a tool: give it the operations it needs, keep your key in your own code, and it can screen names, check companies and run whole compliance jobs.
1. Pick the operations
Load the OpenAPI file for each API the agent should use. Most agent frameworks import these directly.
- Transactions API (whole jobs and the three suites):
https://stratumapis.com/docs/transactions/openapi.json - UK Business Risk + Director Score:
https://stratumapis.com/docs/business-risk/openapi.json - UK Companies House Watch:
https://stratumapis.com/docs/ch-watch/openapi.json - UK EPC Energy Performance:
https://stratumapis.com/docs/epc-energy/openapi.json - UK FCA Regulated Firm Verification:
https://stratumapis.com/docs/fca-verification/openapi.json - UK Postcode Intelligence:
https://stratumapis.com/docs/postcode-intelligence/openapi.json - UK Sanctions Screening:
https://stratumapis.com/docs/sanctions-screening/openapi.json
Give the agent only the operations it needs: a screening assistant rarely needs the watch-list routes.
2. Keep the key out of the prompt
The model decides which tool to call and with what; your code makes the HTTPS call with the X-Stratum-Key header and hands back the JSON. The single APIs, like the sanctions screen below, take the key from your plan, and every plan starts with a 14-day free trial. For the Transactions API and the suites, a free test key runs real checks on real data with nothing charged, up to 25 a day, with certificates marked TEST.
A tool definition for the sanctions screen (Claude's tool format; other providers use the same JSON Schema):
{
"name": "screen_sanctions",
"description": "Screen a person or organisation against the UK, UN, EU and US OFAC sanctions lists. Returns possible matches with a score, the list and the listing, and names every list screened with its date. A possible match is not a finding: a person must confirm it.",
"input_schema": {
"type": "object",
"properties": {
"name": { "type": "string", "description": "Full name as you hold it" },
"type": { "type": "string", "enum": ["person", "entity", "any"] },
"dateOfBirth": { "type": "string", "description": "YYYY-MM-DD, or YYYY-MM / YYYY" },
"nationality": { "type": "string", "description": "Two-letter ISO country code" }
},
"required": ["name"]
}
}And the call your code makes when the model uses it:
// Your code runs the tool call; the key stays on your server, never in the prompt.
const params = new URLSearchParams(toolInput);
const res = await fetch(`https://api.stratumapis.com/v1/sanctions/screen?${params}`, {
headers: { 'X-Stratum-Key': process.env.STRATUM_KEY },
});
return await res.json(); // hand the JSON back to the model as the tool result3. Keep a person in the loop
- An agent can run the screen and summarise it, but a possible match needs a person to compare the listing’s date of birth, nationality and other details with what you hold before anyone acts on it.
- A confirmed match on the UK list means stop, don’t deal with the person’s money or assets, and report to OFSI.
- Every response names the lists screened and when each was refreshed: let the agent quote that, not paraphrase it.
4. Costs and limits
Calls are charged from your plan or your prepaid credit at the prices on the pricing page. When credit runs out, a call paid from credit returns HTTP 402 with the amount needed, so the agent can tell the user rather than retry. Webhooks can tell your system about matches and watch alerts without the agent polling.
Want to call Stratum from an MCP client? A generic OpenAPI-to-MCP bridge can expose these files today. If a hosted Stratum MCP server would help you, tell us at support@stratumapis.com.