MatchAudit uses simple, secure API keys for client/server calls and a separate server-only secret for administrative endpoints.
Create and manage keys in Dashboard → Settings → API Keys. Keys are scoped to your organization (tenant) and determine your plan limits. Keep them secret—do not embed in public apps.
Authorization: Bearer <YOUR_API_KEY>x-api-key: <YOUR_API_KEY>curl -X POST https://your-domain.com/api/v1/screen \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{ "names": ["Vladimir Putin"], "entityTypes": ["individual"] }'const res = await fetch("https://your-domain.com/api/v1/screen", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.MATCHAUDIT_API_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({ names:["Vladimir Putin"], entityTypes:["individual"] })
});
console.log(await res.json());import os, requests
resp = requests.post(
"https://your-domain.com/api/v1/screen",
headers={"Authorization": f"Bearer {os.getenv('MATCHAUDIT_API_KEY')}",
"Content-Type": "application/json"},
json={"names":["Vladimir Putin"], "entityTypes":["individual"]}
)
print(resp.json())Administrative/metrics endpoints like GET /api/v1/usage/summary require a server-to-server bearer secret set via API_AUTH_SECRET. Never expose this in browsers.
curl -s 'https://your-domain.com/api/v1/usage/summary?tenantId=org_123&planKey=pro' \
-H "Authorization: Bearer $API_AUTH_SECRET"MATCHAUDIT_API_KEY (client/server),API_AUTH_SECRET (server-only).We send permissive CORS headers for POST/OPTIONS on public endpoints so you can call from server or browser. Prefer server-side calls to keep keys safe.
API_AUTH_SECRET server-only.billing.usage_events.Tip: Want to test failure paths? Create a sandbox key in your dashboard and lower its limits to trigger 429 responses safely.