{"openapi":"3.1.0","info":{"title":"Limitguard.ai","version":"0.1.0","description":"Limitguard is a lead validation service for lead generation agencies, B2B marketing and sales teams: it checks the company behind each lead against official business registers (full coverage in the Netherlands and Belgium), EU VAT and sanctions lists, with website age in the company check, and returns proceed, review or block with the source on every line. Developers and AI agents can use its HTTP API, MCP server and A2A service, hosted in the EU. Free sandbox key, no wallet. The sandbox covers entity, risk and KYB checks; Lead Verify and the agent check need a live key or an x402 payment. Paid by x402: Lead Verify $0.10 per lead and agent check $0.005 per wallet; entity check and KYB $0.29 and risk score $0.25 fresh, $0.11 cached ($0.25 KYB) when available; report $0.55; sanctions and wallet screens $0.005; other routes at the account price. API keys, the dashboard and the Claude connector pay the account prices: Lead Verify $0.27 per lead and agent check $0.75 per wallet; $0.11-1.85 per call; entity and risk checks $0.88-1.05 fresh ($1.50 KYB), $0.11 cached ($0.25 KYB) when available. Lead verification for NL and BE leads, plus entity, KYB and agent wallet checks, paid per call with x402 (USDC on Base or Solana).","contact":{"name":"Limitguard support","email":"support@limitguard.ai","url":"https://limitguard.ai/?utm_source=api&utm_medium=agent&utm_campaign=home&utm_content=website"},"x-logo":{"url":"https://limitguard.ai/assets/brand/logo.svg","altText":"Limitguard","backgroundColor":"#F3EEE2","href":"https://limitguard.ai/?utm_source=api&utm_medium=agent&utm_campaign=home&utm_content=website"},"x-guidance":"Free sandbox key, no wallet: POST https://api.limitguard.ai/v1/keys/create with {\"email\": \"you@example.com\", \"tier\": \"sandbox\"} returns an lg_sandbox_ key; send it as X-API-Key for mock data at no charge. The sandbox covers entity, risk and KYB checks; Lead Verify and the agent check need a live key or an x402 payment.\nPaying per call: call a priced operation with no credentials. It answers 402 with an x402 v2 challenge in the base64 PAYMENT-REQUIRED header and the JSON body. Pay in USDC on Base or Solana and retry with the PAYMENT-SIGNATURE header.\nPrices: x-payment-info is the x402 agent price. An lg_live_ key sent as X-API-Key is debited per call at the account price instead (x-account-price-usd). Buy balance with POST /v1/keys/upgrade/{tier}.\nOperations with a dynamic price accept X-Response-Quality: cached, fresh or enhanced; fresh is the default, and an endpoint without a cached tier charges fresh.\nFull guide: https://api.limitguard.ai/llms.txt"},"servers":[{"url":"https://api.limitguard.ai"}],"externalDocs":{"url":"https://docs.limitguard.ai/x402-protocol?utm_source=api&utm_medium=agent&utm_campaign=docs&utm_content=x402_protocol"},"x-agentcash-guidance":{"llmsTxtUrl":"https://api.limitguard.ai/llms.txt"},"paths":{"/v1/entity/check":{"post":{"summary":"Verify an entity across registries, sanctions and risk layers","description":"Full entity trust check across multiple verification layers: KVK/CBE registry, OpenSanctions, country risk (CPI/FATF), domain WHOIS, IBAN validation and EU VAT/VIES. Returns trust score 0-100 with cluster and recommendation.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"entity_name":{"type":"string","description":"Legal entity name"},"country":{"type":"string","description":"ISO 3166-1 alpha-2 country code"},"kvk_number":{"type":"string","description":"Dutch KVK number (8 digits)"},"cbe_number":{"type":"string","description":"Belgian CBE number (0XXX.XXX.XXX or 10 digits)"},"domain":{"type":"string","description":"Entity website domain"},"iban":{"type":"string","description":"IBAN for financial validation"},"vat_number":{"type":"string","description":"EU VAT number"},"wallet_address":{"type":"string","description":"Crypto wallet address (format check only; no on-chain lookup)"},"wallet_chain":{"type":"string","description":"Blockchain the address is checked against (eth, base, polygon, arbitrum, btc, sol). Defaults to eth when omitted, so send btc or sol with a Bitcoin or Solana address"},"target_industries":{"type":"array","items":{"type":"string","maxLength":100},"maxItems":20,"description":"Ideal-customer industries: SBI/NACE code prefixes (\"62\", \"64.20\") or plain words matched as whole words against the register's activity descriptions. Information only: never changes the score."},"target_size":{"type":"object","properties":{"min":{"type":"integer","minimum":0},"max":{"type":"integer","minimum":0}},"additionalProperties":false,"description":"Ideal-customer employee range, both ends inclusive. Information only."}},"required":["entity_name","country"],"additionalProperties":false}}}},"security":[{"ApiKey":[]},{}],"x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.11","max":"0.29"},"protocols":[{"x402":{}}]},"x-account-price-usd":{"mode":"dynamic","currency":"USD","min":"0.11","max":"1.05"},"responses":{"200":{"description":"Success","content":{"application/json":{"example":{"trust_score":87,"cluster":"verified","recommendation":"APPROVE","sources_checked":7,"entity_name":"Acme Corp BV","country":"NL","risk_factors":[]}}}},"402":{"description":"Payment required. The x402 v2 challenge is in the base64 PAYMENT-REQUIRED header and the JSON body; pay and retry with PAYMENT-SIGNATURE, or send X-API-Key with prepaid balance.","headers":{"PAYMENT-REQUIRED":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"x402Version":{"type":"integer"},"accepts":{"type":"array","items":{"type":"object"}},"error":{"type":"string"}}}}}}}}},"/v1/risk/score":{"post":{"summary":"Score an entity's risk (0-100) from name and country","description":"Quick risk score (0-100) for entity name + country. Lightweight check without full data source scan.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"entity_name":{"type":"string","description":"Legal entity name"},"country":{"type":"string","description":"ISO 3166-1 alpha-2 country code"}},"required":["entity_name","country"],"additionalProperties":false}}}},"security":[{"ApiKey":[]},{}],"x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.11","max":"0.25"},"protocols":[{"x402":{}}]},"x-account-price-usd":{"mode":"dynamic","currency":"USD","min":"0.11","max":"0.90"},"responses":{"200":{"description":"Success","content":{"application/json":{"example":{"risk_score":23,"risk_level":"low","entity_name":"Acme Corp BV","country":"NL"}}}},"402":{"description":"Payment required. The x402 v2 challenge is in the base64 PAYMENT-REQUIRED header and the JSON body; pay and retry with PAYMENT-SIGNATURE, or send X-API-Key with prepaid balance.","headers":{"PAYMENT-REQUIRED":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"x402Version":{"type":"integer"},"accepts":{"type":"array","items":{"type":"object"}},"error":{"type":"string"}}}}}}}}},"/v1/reputation/score":{"post":{"summary":"Score an entity's reputation with linear trust decay","description":"Reputation scoring with linear trust decay: after its first week a score loses 2-5 points a week by risk cluster (none for a sanctions-flagged entity), plus a bonus of up to 5 points for repeat verifications.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"entity_name":{"type":"string","description":"Legal entity name"},"country":{"type":"string","description":"ISO 3166-1 alpha-2 country code. Required unless trust_score and cluster are both sent; the score is then computed from sanctions and jurisdiction"},"trust_score":{"type":"integer","description":"Latest trust score (0-100). Send with cluster to skip auto-computation"},"cluster":{"type":"string","description":"Current cluster assignment. Send with trust_score to skip auto-computation"},"last_verified_at":{"type":"number","description":"Unix timestamp of last verification (defaults to now)"},"verification_count":{"type":"integer","description":"Times entity verified"},"agent_id":{"type":"string","description":"ERC-8004 agent ID for verification"}},"required":["entity_name"]}}}},"security":[{"ApiKey":[]},{}],"x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.11","max":"0.90"},"protocols":[{"x402":{}}]},"x-account-price-usd":{"mode":"dynamic","currency":"USD","min":"0.11","max":"0.90"},"responses":{"200":{"description":"Success","content":{"application/json":{"example":{"reputation_score":92,"trend":"stable","confidence":0.87,"verification_count":12}}}},"402":{"description":"Payment required. The x402 v2 challenge is in the base64 PAYMENT-REQUIRED header and the JSON body; pay and retry with PAYMENT-SIGNATURE, or send X-API-Key with prepaid balance.","headers":{"PAYMENT-REQUIRED":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"x402Version":{"type":"integer"},"accepts":{"type":"array","items":{"type":"object"}},"error":{"type":"string"}}}}}}}}},"/v1/wallet/balance":{"get":{"summary":"Get an ERC-8004 agent's USDC balance on Base","description":"ERC-8004 agent wallet balance check. Returns the on-chain USDC balance (Base mainnet) for a registered ERC-8004 agent wallet.","parameters":[{"name":"agent_id","in":"query","required":true,"schema":{"type":"string","example":"0x1234567890abcdef1234567890abcdef12345678"},"description":"Agent wallet address (EVM 0x + 40 hex chars, Base mainnet); must be registered in the ERC-8004 Identity Registry"}],"security":[{"ApiKey":[]},{}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.11"},"protocols":[{"x402":{}}]},"x-account-price-usd":{"mode":"fixed","currency":"USD","amount":"0.11"},"responses":{"200":{"description":"Success","content":{"application/json":{"example":{"agent_id":"0x1234567890abcdef1234567890abcdef12345678","chain":"base","currency":"USDC","balance_usdc":150.5,"balance_raw":150500000,"last_updated":1757894400.0}}}},"402":{"description":"Payment required. The x402 v2 challenge is in the base64 PAYMENT-REQUIRED header and the JSON body; pay and retry with PAYMENT-SIGNATURE, or send X-API-Key with prepaid balance.","headers":{"PAYMENT-REQUIRED":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"x402Version":{"type":"integer"},"accepts":{"type":"array","items":{"type":"object"}},"error":{"type":"string"}}}}}}}}},"/v1/compliance/alerts":{"get":{"summary":"Get sanctions-list changes and hits on entities you checked","description":"Daily changes to the OFAC, EU and UN sanctions lists, plus alerts when an entity or wallet this key checked is listed. Poll this route; alerts about entities or wallets this key checked are also sent to a webhook registered for sanctions.match.new (POST /v1/webhooks). Filter by jurisdiction and severity.","parameters":[{"name":"jurisdiction","in":"query","required":false,"schema":{"type":"string","enum":["us","eu","un"],"example":"us"},"description":"Filter by jurisdiction of the source list: us, eu or un"},{"name":"severity","in":"query","required":false,"schema":{"type":"string","enum":["critical","high","medium","low","informational"],"example":"high"},"description":"Filter by severity (informational, low, medium, high, critical)"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":200,"default":50,"example":50},"description":"Results per page (1-200, default 50)"},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"example":0},"description":"Pagination offset"}],"security":[{"ApiKey":[]},{}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.11"},"protocols":[{"x402":{}}]},"x-account-price-usd":{"mode":"fixed","currency":"USD","amount":"0.11"},"responses":{"200":{"description":"Success","content":{"application/json":{"example":{"total":0,"offset":0,"limit":50,"alerts":[]}}}},"402":{"description":"Payment required. The x402 v2 challenge is in the base64 PAYMENT-REQUIRED header and the JSON body; pay and retry with PAYMENT-SIGNATURE, or send X-API-Key with prepaid balance.","headers":{"PAYMENT-REQUIRED":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"x402Version":{"type":"integer"},"accepts":{"type":"array","items":{"type":"object"}},"error":{"type":"string"}}}}}}}}},"/v1/sanctions/screen":{"post":{"summary":"Screen a name against the OFAC, EU and UN sanctions lists","description":"Sanctions screen of a company or person name against the OFAC SDN, EU and UN sanctions lists, held locally and refreshed daily. Returns each matched entry: list, entry id, matched name, programmes, countries, listing date and match score. Exact normalised or word-order-insensitive name match only; a name match is not a determination.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Company or person name to screen"},"country":{"type":"string","description":"ISO 3166-1 alpha-2 country code (optional; orders matches, never excludes one)"}},"required":["name"],"additionalProperties":false}}}},"security":[{"ApiKey":[]},{}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]},"x-account-price-usd":{"mode":"fixed","currency":"USD","amount":"0.11"},"responses":{"200":{"description":"Success","content":{"application/json":{"example":{"possible_match":true,"matches":[{"list":"OFAC SDN","list_key":"ofac_sdn","entry_id":"12345","entry_type":"entity","matched_name":"EXAMPLE TRADING LLC","programmes":["SDGT"],"countries":["AE"],"listed_on":"2024-05-01","match_score":1.0,"match_type":"name_exact"}],"matches_truncated":false,"lists_checked":["OFAC SDN","EU","UN"],"list_dates":{"OFAC SDN":"2026-09-30","EU":"2026-09-30","UN":"2026-09-29"},"list_note":"EU list: the EU's own published file, dated 2026-09-30. Listings the EU adopted after that date may not be in it yet.","disclaimer":"A name match is not a determination: confirm identity with the listed identifiers before acting.","screened_at":"2026-10-01T10:00:00+00:00"}}}},"402":{"description":"Payment required. The x402 v2 challenge is in the base64 PAYMENT-REQUIRED header and the JSON body; pay and retry with PAYMENT-SIGNATURE, or send X-API-Key with prepaid balance.","headers":{"PAYMENT-REQUIRED":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"x402Version":{"type":"integer"},"accepts":{"type":"array","items":{"type":"object"}},"error":{"type":"string"}}}}}}}}},"/v1/kyb/check":{"post":{"summary":"Run a KYB check: registry, sanctions, VAT/VIES and domain","description":"Know Your Business verification: company registration, sanctions screening, VAT/VIES, and domain analysis in one call.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"entity_id":{"type":"string","description":"Internal entity identifier"},"registration_number":{"type":"string","description":"Company registration number"},"country":{"type":"string","description":"ISO 3166-1 alpha-2 country code"},"entity_name":{"type":"string","description":"Legal entity name (optional)"},"vat_number":{"type":"string","description":"VAT number for VIES verification"},"domain":{"type":"string","description":"Company domain for web presence check"}},"required":["entity_id","registration_number","country"]}}}},"security":[{"ApiKey":[]},{}],"x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.25","max":"0.29"},"protocols":[{"x402":{}}]},"x-account-price-usd":{"mode":"dynamic","currency":"USD","min":"0.25","max":"1.50"},"responses":{"200":{"description":"Success","content":{"application/json":{"example":{"verified":true,"register_verified":true,"register_checked":"KVK","sanctions_flagged":false,"kyb_status":"approved","trust_score":91}}}},"402":{"description":"Payment required. The x402 v2 challenge is in the base64 PAYMENT-REQUIRED header and the JSON body; pay and retry with PAYMENT-SIGNATURE, or send X-API-Key with prepaid balance.","headers":{"PAYMENT-REQUIRED":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"x402Version":{"type":"integer"},"accepts":{"type":"array","items":{"type":"object"}},"error":{"type":"string"}}}}}}}}},"/v1/entity/deep-check":{"post":{"summary":"Check an entity for PEP ties, insolvency and adverse media","description":"Extended screening in two tiers. fresh ($0.88): PEP and relative/close-associate matches from OpenSanctions, plus a Dutch insolvency register screen (NL only). enhanced ($1.71): the same plus adverse media screening. If a tier's source cannot be reached the call returns 503 and is not charged.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"entity_name":{"type":"string","description":"Legal entity or person name"},"country":{"type":"string","description":"ISO 3166-1 alpha-2 country code"},"kvk_number":{"type":"string","description":"Dutch KVK number (8 digits), optional; exact insolvency-register lookup"},"credit_report_identifier":{"type":"string","description":"VAT number, tax code or company ID, optional; enables the `credit` tier's Italian credit report (Italy only, available when enabled)"}},"required":["entity_name","country"],"additionalProperties":false}}}},"security":[{"ApiKey":[]},{}],"x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.88","max":"1.71"},"protocols":[{"x402":{}}]},"x-account-price-usd":{"mode":"dynamic","currency":"USD","min":"0.88","max":"1.71"},"responses":{"200":{"description":"Success","content":{"application/json":{"example":{"entity_name":"Jan de Vries","country":"NL","quality":"deep","sources_returned":["pep_extended","insolvency_records"],"pep_extended":{"screened":true,"pep_exposure":true,"match_count":1,"matches":[{"caption":"Jan de Vries","schema_type":"Person","topics":["role.pep"],"datasets":["everypolitician"],"score":0.88,"countries":["nl"],"birth_date":"1965-04-12"}],"truncated":false,"retrieved_at":"2026-01-01T00:00:00+00:00"},"insolvency_records":{"screened":true,"applicable":true,"jurisdiction":"NL","query_by":"name","found":false,"match_count":0,"records":[],"truncated":false,"retrieved_at":"2026-01-01T00:00:00+00:00"},"processing_time_ms":420}}}},"402":{"description":"Payment required. The x402 v2 challenge is in the base64 PAYMENT-REQUIRED header and the JSON body; pay and retry with PAYMENT-SIGNATURE, or send X-API-Key with prepaid balance.","headers":{"PAYMENT-REQUIRED":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"x402Version":{"type":"integer"},"accepts":{"type":"array","items":{"type":"object"}},"error":{"type":"string"}}}}}}}}},"/v1/reports/entity":{"post":{"summary":"Build a compliance report on an entity","description":"Per-entity report built from one real check's signals: identity, sanctions and PEP screening, domain signals, trust score (risk.trust_score, 0-100, 100 = best), correlations with the caller's earlier reports, sources and an evidence hash. A source that did not answer is shown unavailable, never clean.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"check_id":{"type":"string","description":"Id of a check stored by an earlier /v1/reports/entity call"},"entity_name":{"type":"string","description":"Legal entity name"},"country":{"type":"string","description":"ISO 3166-1 alpha-2 country code"},"kvk_number":{"type":"string","description":"Dutch KVK number (8 digits)"},"cbe_number":{"type":"string","description":"Belgian CBE number (0XXX.XXX.XXX or 10 digits)"},"vat_number":{"type":"string","description":"EU VAT number"},"domain":{"type":"string","description":"Entity website domain"},"iban":{"type":"string","description":"IBAN for financial validation"},"wallet_address":{"type":"string","description":"Crypto wallet address (format check only; no on-chain lookup)"},"wallet_chain":{"type":"string","description":"Blockchain the address is checked against"}},"required":[],"additionalProperties":false}}}},"security":[{"ApiKey":[]},{}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.55"},"protocols":[{"x402":{}}]},"x-account-price-usd":{"mode":"fixed","currency":"USD","amount":"1.85"},"responses":{"200":{"description":"Success","content":{"application/json":{"example":{"report_id":"3f9c1e2a-1111-4a2b-9c3d-000000000001","check_id":"3f9c1e2a-1111-4a2b-9c3d-000000000000","entity":{"entity_name":"Acme Corp BV","country":"NL"},"sanctions":{"status":"ok","result":"no_match","threshold":0.7,"lists":[]},"pep":{"status":"ok","exposure":false,"matches":[]},"domain":{"status":"ok","domain":"acme.example","domain_age_days":3200},"risk":{"trust_score":87,"trust_level":"high","recommendation":"APPROVE","cluster":"verified","confidence":0.9,"sources_checked":5},"correlations":{"status":"ok","scope_note":"workspace_reports","links":[]},"sources":[{"source":"opensanctions","status":"ok"}],"evidence":{"report_hash":"sha256:...","hash_algorithm":"sha256"},"created_at":"2026-09-24T10:00:00Z"}}}},"402":{"description":"Payment required. The x402 v2 challenge is in the base64 PAYMENT-REQUIRED header and the JSON body; pay and retry with PAYMENT-SIGNATURE, or send X-API-Key with prepaid balance.","headers":{"PAYMENT-REQUIRED":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"x402Version":{"type":"integer"},"accepts":{"type":"array","items":{"type":"object"}},"error":{"type":"string"}}}}}}}}},"/v1/agent/check":{"post":{"summary":"Check an agent wallet: sanctions, balance, ERC-8004 identity","description":"Agent wallet check in one call: screens an EVM wallet against the OFAC SDN digital-currency address list, reads its Base USDC and ETH balance, looks up its ERC-8004 identity registration (and, given an agent id, that agent's owner and payment wallet) and lists open ERC-8004 feedback, which is not scored. Returns one verdict and each part's status; a part that could not be read says so.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"wallet":{"type":"string","description":"EVM wallet address (0x + 40 hex characters), read on Base"},"agent_id":{"type":"string","description":"Optional ERC-8004 agentId (decimal) the wallet claims"},"domain":{"type":"string","description":"Optional website domain the agent gives for itself; reported, never read by the verdict"}},"required":["wallet"],"additionalProperties":false}}}},"security":[{"ApiKey":[]},{}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]},"x-account-price-usd":{"mode":"fixed","currency":"USD","amount":"0.75"},"responses":{"200":{"description":"Success","content":{"application/json":{"example":{"wallet":"0x7e4c2a91d05b3f68a1c9e2d4b7f05a3c6e81d290","chain_id":"eip155:8453","verdict":"no_findings","verdict_reasons":[],"ran":["sanctions","balance","identity","reputation","wallet_risk"],"did_not_run":[],"sanctions":{"status":"ok","reason":null,"hit":false,"lists":[],"programs":[],"list_as_of":"09/30/2026","list_status":"ok"},"balance":{"status":"ok","reason":null,"chain_id":"eip155:8453","balance_usdc":412.5,"balance_native":0.0031},"identity":{"status":"ok","reason":null,"registry":"erc8004","wallet_agent_ids":["1187"],"agent_id":"1187","agent_registered":true,"agent_owner":"0x7e4c2a91d05b3f68a1c9e2d4b7f05a3c6e81d290","agent_wallet":"0x7e4c2a91d05b3f68a1c9e2d4b7f05a3c6e81d290","wallet_controls_agent":true},"reputation":{"status":"ok","reason":null,"note":"open on-chain feedback, not used in the score","agents":[{"agent_id":"1187","feedback_count":3,"distinct_clients":2,"clients_capped":false,"top_tags":[{"tag":"starred","count":3,"avg":4.67}]}]},"wallet_risk":{"status":"ok","reason":null,"risk_score":10,"risk_level":"low","rules_fired":[]},"domain":{"status":"not_requested","reason":null,"domain":null,"probes":null,"domain_age_days":null,"domain_expires_at":null,"has_mx":null,"has_spf":null,"has_dmarc":null,"ssl_valid":null,"ssl_issuer":null,"web_score":null},"schema_version":"agent-check-v1","checked_at":"2026-10-01T10:00:00Z"}}}},"402":{"description":"Payment required. The x402 v2 challenge is in the base64 PAYMENT-REQUIRED header and the JSON body; pay and retry with PAYMENT-SIGNATURE, or send X-API-Key with prepaid balance.","headers":{"PAYMENT-REQUIRED":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"x402Version":{"type":"integer"},"accepts":{"type":"array","items":{"type":"object"}},"error":{"type":"string"}}}}}}}}},"/v1/leads/verify":{"post":{"summary":"Verify a sales lead: NL/BE register, VAT, mail server, IBAN, sanctions, lead score","description":"Lead verify for one NL or BE sales lead: is it a real, active company? Checks the KVK or KBO register and cross-checks what the lead holds: VAT with VIES, mail server and disposable domain, IBAN country and bank (not the holder), and the company name against the OFAC, EU and UN sanctions lists. Returns a verdict, a 0-100 lead score and flags, each with one action. An input not given is not checked.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"country":{"type":"string","description":"Register country: NL (KVK) or BE (KBO)"},"company_number":{"type":"string","description":"8-digit KVK number or 10-digit KBO/CBE number. company_number or name is required; BE needs company_number"},"name":{"type":"string","description":"Company name as the lead gave it"},"vat_number":{"type":"string","description":"EU VAT number, checked with VIES"},"email":{"type":"string","description":"Contact email; only its domain is checked"},"domain":{"type":"string","description":"Company website domain"},"address":{"type":"object","description":"Address the lead gave, compared with the registered address","properties":{"street":{"type":"string"},"house_number":{"type":"string"},"postcode":{"type":"string"},"city":{"type":"string"}}},"iban":{"type":"string","description":"IBAN the lead gave; validated locally, only the last 4 are returned"},"target_industries":{"type":"array","items":{"type":"string","maxLength":100},"maxItems":20,"description":"Ideal-customer industries: SBI/NACE code prefixes (\"62\", \"64.20\") or plain words matched as whole words against the register's activity descriptions. Information only: never changes the score."},"target_size":{"type":"object","properties":{"min":{"type":"integer","minimum":0},"max":{"type":"integer","minimum":0}},"additionalProperties":false,"description":"Ideal-customer employee range, both ends inclusive. Information only."}},"required":["country"],"additionalProperties":false,"anyOf":[{"required":["company_number"]},{"required":["name"]}]}}}},"security":[{"ApiKey":[]},{}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.10"},"protocols":[{"x402":{}}]},"x-account-price-usd":{"mode":"fixed","currency":"USD","amount":"0.27"},"responses":{"200":{"description":"Success","content":{"application/json":{"example":{"schema_version":"lead-verify-v1","verdict":"real_active","reason":null,"lead_score":95,"company":{"registered":true,"status":"active","legal_form":"Besloten vennootschap","registered_name":"Test BV Donald","name_match":1.0,"registered_since":"2017-05-19","age_years":9.4,"sbi_main":"01241","employees":1,"registered_address":{"street":"Hizzaarderlaan","house_number":"3 A","postcode":"8823 SJ","city":"Lollum","country":"NL"},"address_shielded":false,"address_match":1.0},"vat":{"checked":false,"valid":null,"name_match":null,"reason":null},"iban":{"checked":true,"valid":true,"country":"NL","bank":"ABN AMRO BANK N.V.","bic":"ABNANL2A","last4":"4300","country_agreement":true,"holder_checked":false},"sanctions":{"screened":true,"hit":false,"lists_as_of":{"OFAC SDN":"2026-10-01"},"reason":null},"email":{"checked":true,"has_mx":true,"disposable":false},"flags":[],"findings":[],"correlations":{"kvk_website_match":null,"phone_match":null,"website_identifier_match":null,"kbo_contact_match":null,"kbo_vat_address_match":null},"dormant_shell":{"score":0,"signals":[],"unknown":["no_website","no_annual_accounts"],"flag_at":50},"icp_fit":null,"website_phones":[],"website_phones_reason":"website_phones_disabled","discovered_identifiers":[],"identifier_discovery_reason":"number_given","sources_checked":4,"checked_at":"2026-10-02T10:00:00+00:00"}}}},"402":{"description":"Payment required. The x402 v2 challenge is in the base64 PAYMENT-REQUIRED header and the JSON body; pay and retry with PAYMENT-SIGNATURE, or send X-API-Key with prepaid balance.","headers":{"PAYMENT-REQUIRED":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"x402Version":{"type":"integer"},"accepts":{"type":"array","items":{"type":"object"}},"error":{"type":"string"}}}}}}}}},"/v1/entity/light-check":{"post":{"summary":"Check a company's register status, VAT and sanctions","description":"Light company check for an agent: is the company on the NL (KVK) or BE (KBO) register and active, is its EU VAT number valid (VIES), and does its name match the OFAC, EU or UN sanctions lists? Each part says ok, not covered or unavailable. No owners, PEP or address match.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"country":{"type":"string","description":"ISO 3166-1 alpha-2 country code of the register"},"registration_number":{"type":"string","description":"Company register number (8-digit KVK or 10-digit KBO/CBE). registration_number or vat_number is required"},"vat_number":{"type":"string","description":"EU VAT number, checked with VIES"}},"required":["country"],"additionalProperties":false,"anyOf":[{"required":["registration_number"]},{"required":["vat_number"]}]}}}},"security":[{"ApiKey":[]},{}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.05"},"protocols":[{"x402":{}}]},"x-account-price-usd":{"mode":"fixed","currency":"USD","amount":"0.11"},"responses":{"200":{"description":"Success","content":{"application/json":{"example":{"country":"NL","registration_number":"68750110","vat_number":null,"register":{"status":"active","name":"Acme B.V.","source":"KVK","as_of":"2026-10-13T09:00:00+00:00"},"active":true,"vat":{"status":"not_checked"},"sanctions":{"status":"no_match","lists_checked":["OFAC SDN","EU","UN"],"list_dates":{"OFAC SDN":"2026-10-12","EU":"2026-10-12","UN":"2026-10-12"}},"as_of":"2026-10-13T09:00:00+00:00","not_checked":["name_match","address_match","owners","pep"]}}}},"402":{"description":"Payment required. The x402 v2 challenge is in the base64 PAYMENT-REQUIRED header and the JSON body; pay and retry with PAYMENT-SIGNATURE, or send X-API-Key with prepaid balance.","headers":{"PAYMENT-REQUIRED":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"x402Version":{"type":"integer"},"accepts":{"type":"array","items":{"type":"object"}},"error":{"type":"string"}}}}}}}}},"/v1/seller/preflight":{"post":{"summary":"Check an x402 seller before you pay: wallet, domain, sanctions","description":"Preflight before an agent pays an x402 seller: screens the payTo wallet against the OFAC SDN address list, reads who registered the resource domain and when (RDAP), and screens that company against the OFAC, EU and UN lists. Compares the payTo with the wallet the seller publishes in its 402 and /.well-known/x402, and blocks a lookalike (address poisoning). Returns ok, caution or block with one reason per finding.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"pay_to":{"type":"string","description":"The payTo wallet of the x402 quote you are about to pay"},"network":{"type":"string","description":"CAIP-2 network of the quote (default eip155:8453); eip155:* or solana:*"},"resource_url":{"type":"string","description":"The https URL of the paid resource, on a public DNS name"},"payer":{"type":"string","description":"Optional: your own paying wallet (EVM). Its previous USDC payees on Base are compared with pay_to"}},"required":["pay_to","resource_url"],"additionalProperties":false}}}},"security":[{"ApiKey":[]},{}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]},"x-account-price-usd":{"mode":"fixed","currency":"USD","amount":"0.11"},"responses":{"200":{"description":"Success","content":{"application/json":{"example":{"verdict":"ok","reasons":[],"wallet":{"status":"ok","address_redacted":"0x7e4c...d290","chain_id":"eip155:8453","sanctioned":false,"lists":[],"as_of":"2026-10-12"},"domain":{"host":"api.example.com","rdap_domain":"example.com","rdap_status":"ok","company":{"name":"Example B.V.","country":"NL"},"registered_at":"2019-03-01"},"company_sanctions":{"status":"no_match","lists_checked":["OFAC SDN","EU","UN"],"list_dates":{"OFAC SDN":"2026-10-12","EU":"2026-10-12","UN":"2026-10-12"}},"lookalike":{"status":"ok","reasons":["payto_matches_seller"],"pay_to_masked":"0x7e4c...d290","declared":"match","declared_sources":["payment_required"],"declared_masked":["0x7e4c...d290"],"payer_history":"not_requested","payer_masked":null,"previous_payee_masked":null},"as_of":"2026-10-13T09:00:00+00:00","sources":["ofac_sdn_wallet_list","rdap","sanctions_name_lists","seller_declared_payto"],"not_checked":["scam_lists","x402_seller_lists","wallet_history"],"schema_version":"seller-preflight-v1"}}}},"402":{"description":"Payment required. The x402 v2 challenge is in the base64 PAYMENT-REQUIRED header and the JSON body; pay and retry with PAYMENT-SIGNATURE, or send X-API-Key with prepaid balance.","headers":{"PAYMENT-REQUIRED":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"x402Version":{"type":"integer"},"accepts":{"type":"array","items":{"type":"object"}},"error":{"type":"string"}}}}}}}}},"/v1/mcp/check-entity":{"post":{"summary":"Verify an entity (MCP tool form of the entity check)","description":"MCP tool: entity trust check for LLM agents. Runs the /v1/entity/check engine on entity_name, country, kvk_number and domain only, so up to 5 sources (no IBAN, VAT or wallet).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"entity_name":{"type":"string","description":"Full legal name of the entity"},"country":{"type":"string","description":"ISO country code (NL, BE, etc.)"},"kvk_number":{"type":"string","description":"Dutch KVK number"},"domain":{"type":"string","description":"Entity website domain"}},"required":["entity_name","country"]}}}},"security":[{"ApiKey":[]},{}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.29"},"protocols":[{"x402":{}}]},"x-account-price-usd":{"mode":"fixed","currency":"USD","amount":"1.05"},"responses":{"200":{"description":"Success","content":{"application/json":{"example":{"trust_score":87,"cluster":"verified","recommendation":"APPROVE"}}}},"402":{"description":"Payment required. The x402 v2 challenge is in the base64 PAYMENT-REQUIRED header and the JSON body; pay and retry with PAYMENT-SIGNATURE, or send X-API-Key with prepaid balance.","headers":{"PAYMENT-REQUIRED":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"x402Version":{"type":"integer"},"accepts":{"type":"array","items":{"type":"object"}},"error":{"type":"string"}}}}}}}}},"/v1/mcp/verify-wallet":{"post":{"summary":"Screen a wallet: OFAC SDN, on-chain signals and risk rules","description":"MCP tool: Screen a wallet: OFAC SDN address match, on-chain signals (contract check, native and USDC balance, transaction count, first seen on Base) and named risk rules with up to 3 advice items. On Base, also reports any ERC-8004 agent the wallet owns and its open on-chain reputation as descriptive signals, never scored. Accepts EVM (0x...) and Solana (base58) addresses.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"wallet_address":{"type":"string","description":"Blockchain wallet address"},"chain_id":{"type":"string","description":"CAIP-2 chain ID (default: eip155:8453); base, eth, solana, btc also accepted"}},"required":["wallet_address"]}}}},"security":[{"ApiKey":[]},{}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]},"x-account-price-usd":{"mode":"fixed","currency":"USD","amount":"0.11"},"responses":{"200":{"description":"Success","content":{"application/json":{"example":{"risk_score":0,"risk_level":"low","sanctions":{"hit":false,"lists":[],"source":"ofac_sdn","as_of":"2026-09-23","status":"ok","programs":[]},"rules_fired":[],"advice":[{"action":"proceed with standard monitoring","why":"no OFAC SDN match as of 2026-09-23; no rule fired","expected_result":"re-screen on material change"}],"unavailable":[]}}}},"402":{"description":"Payment required. The x402 v2 challenge is in the base64 PAYMENT-REQUIRED header and the JSON body; pay and retry with PAYMENT-SIGNATURE, or send X-API-Key with prepaid balance.","headers":{"PAYMENT-REQUIRED":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"x402Version":{"type":"integer"},"accepts":{"type":"array","items":{"type":"object"}},"error":{"type":"string"}}}}}}}}},"/v1/mcp/risk-score":{"post":{"summary":"Score an entity's risk (MCP tool form of the risk score)","description":"MCP tool: quick risk score for entity name + country pair.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"entity_name":{"type":"string","description":"Full legal name"},"country":{"type":"string","description":"ISO country code"}},"required":["entity_name","country"]}}}},"security":[{"ApiKey":[]},{}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.25"},"protocols":[{"x402":{}}]},"x-account-price-usd":{"mode":"fixed","currency":"USD","amount":"0.90"},"responses":{"200":{"description":"Success","content":{"application/json":{"example":{"risk_score":23,"risk_level":"low"}}}},"402":{"description":"Payment required. The x402 v2 challenge is in the base64 PAYMENT-REQUIRED header and the JSON body; pay and retry with PAYMENT-SIGNATURE, or send X-API-Key with prepaid balance.","headers":{"PAYMENT-REQUIRED":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"x402Version":{"type":"integer"},"accepts":{"type":"array","items":{"type":"object"}},"error":{"type":"string"}}}}}}}}},"/v1/keys/upgrade/indie":{"post":{"summary":"Add $29 of prepaid balance to an API key (Indie)","description":"Credit $29 of prepaid balance to your API key and set the Indie label. Each priced call is debited at the account price in the table. Pay via x402 USDC.","requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":false,"description":"No body. Send X-API-Key to name the key to credit."}}}},"security":[{"ApiKey":[]}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"29.00"},"protocols":[{"x402":{}}]},"x-account-price-usd":{"mode":"fixed","currency":"USD","amount":"29.00"},"responses":{"200":{"description":"Success","content":{"application/json":{"example":{"status":"ok"}}}},"402":{"description":"Payment required. The x402 v2 challenge is in the base64 PAYMENT-REQUIRED header and the JSON body; pay and retry with PAYMENT-SIGNATURE. Prepaid balance cannot pay for a purchase.","headers":{"PAYMENT-REQUIRED":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"x402Version":{"type":"integer"},"accepts":{"type":"array","items":{"type":"object"}},"error":{"type":"string"}}}}}}}}},"/v1/keys/upgrade/starter":{"post":{"summary":"Add $99 of prepaid balance to an API key (Starter)","description":"Credit $99 of prepaid balance to your API key and set the Starter label. Each priced call is debited at the account price in the table. Pay via x402 USDC.","requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":false,"description":"No body. Send X-API-Key to name the key to credit."}}}},"security":[{"ApiKey":[]}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"99.00"},"protocols":[{"x402":{}}]},"x-account-price-usd":{"mode":"fixed","currency":"USD","amount":"99.00"},"responses":{"200":{"description":"Success","content":{"application/json":{"example":{"status":"ok"}}}},"402":{"description":"Payment required. The x402 v2 challenge is in the base64 PAYMENT-REQUIRED header and the JSON body; pay and retry with PAYMENT-SIGNATURE. Prepaid balance cannot pay for a purchase.","headers":{"PAYMENT-REQUIRED":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"x402Version":{"type":"integer"},"accepts":{"type":"array","items":{"type":"object"}},"error":{"type":"string"}}}}}}}}},"/v1/keys/upgrade/growth":{"post":{"summary":"Add $299 of prepaid balance to an API key (Growth)","description":"Credit $299 of prepaid balance to your API key and set the Growth label for 30 days (paying again extends it; the balance never expires). Each priced call is debited at the account price in the table. Pay via x402 USDC.","requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":false,"description":"No body. Send X-API-Key to name the key to credit."}}}},"security":[{"ApiKey":[]}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"299.00"},"protocols":[{"x402":{}}]},"x-account-price-usd":{"mode":"fixed","currency":"USD","amount":"299.00"},"responses":{"200":{"description":"Success","content":{"application/json":{"example":{"status":"ok"}}}},"402":{"description":"Payment required. The x402 v2 challenge is in the base64 PAYMENT-REQUIRED header and the JSON body; pay and retry with PAYMENT-SIGNATURE. Prepaid balance cannot pay for a purchase.","headers":{"PAYMENT-REQUIRED":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"x402Version":{"type":"integer"},"accepts":{"type":"array","items":{"type":"object"}},"error":{"type":"string"}}}}}}}}},"/v1/keys/upgrade/pro":{"post":{"summary":"Add $999 of prepaid balance to an API key (Pro)","description":"Credit $999 of prepaid balance to your API key and set the Pro label for 30 days (paying again extends it; the balance never expires). Each priced call is debited at the account price in the table. Pay via x402 USDC.","requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":false,"description":"No body. Send X-API-Key to name the key to credit."}}}},"security":[{"ApiKey":[]}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"999.00"},"protocols":[{"x402":{}}]},"x-account-price-usd":{"mode":"fixed","currency":"USD","amount":"999.00"},"responses":{"200":{"description":"Success","content":{"application/json":{"example":{"status":"ok"}}}},"402":{"description":"Payment required. The x402 v2 challenge is in the base64 PAYMENT-REQUIRED header and the JSON body; pay and retry with PAYMENT-SIGNATURE. Prepaid balance cannot pay for a purchase.","headers":{"PAYMENT-REQUIRED":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"x402Version":{"type":"integer"},"accepts":{"type":"array","items":{"type":"object"}},"error":{"type":"string"}}}}}}}}},"/v1/compliance/readiness/{id}":{"get":{"summary":"Get EU AI Act readiness and gaps for an AI system","description":"EU AI Act readiness self-assessment for one AI system. Send the system_type and the checklist items you have completed (completed_items); returns the EU AI Act risk level for that system type, a readiness score and the open gaps. entity_id is your label: nothing is looked up about it.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Your label for the system or company; echoed back, nothing is looked up"},{"name":"system_type","in":"query","required":false,"schema":{"type":"string"},"description":"AI system type: credit_scoring, trust_scoring, biometric_identification or employment_screening (others answer UNDETERMINED)"},{"name":"completed_items","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}},"description":"Checklist items you have completed, one parameter per item: risk_management, data_governance, technical_docs, record_keeping, transparency, human_oversight, accuracy_robustness"}],"security":[{"ApiKey":[]},{}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.11"},"protocols":[{"x402":{}}]},"x-account-price-usd":{"mode":"fixed","currency":"USD","amount":"0.11"},"responses":{"200":{"description":"Success","content":{"application/json":{"example":{"entity_id":"acme-ai","system_type":"credit_scoring","risk_level":"HIGH","readiness_score":14,"completed_items":1,"total_items":7,"gaps":[{"id":"data_governance","requirement":"Data governance and quality (Art. 10)"},{"id":"technical_docs","requirement":"Technical documentation (Art. 11)"}],"days_until_enforcement":415,"urgency":"normal","basis":"self_assessment","note":"Self-assessment: the score counts the completed_items you sent against the 7 EU AI Act high-risk obligations. entity_id is your label; nothing is looked up about it."}}}},"402":{"description":"Payment required. The x402 v2 challenge is in the base64 PAYMENT-REQUIRED header and the JSON body; pay and retry with PAYMENT-SIGNATURE, or send X-API-Key with prepaid balance.","headers":{"PAYMENT-REQUIRED":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"x402Version":{"type":"integer"},"accepts":{"type":"array","items":{"type":"object"}},"error":{"type":"string"}}}}}}}}},"/v1/reputation/history/{id}":{"get":{"summary":"Get an entity's reputation score timeline","description":"Historical reputation trend data. Returns the trust score timeline with the decay applied at each point and an overall trend.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","minLength":1,"example":"5f2b4e0c9a1d3e7f8b6c4a2d0e9f1b3c5d7e9f0a2b4c6d8e0f1a3b5c7d9e1f2a"},"description":"entity_hash, the {id} segment of the path: the sha256 hex (64 characters) of the entity name; a plain name is hashed for you"}],"security":[{"ApiKey":[]},{}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.11"},"protocols":[{"x402":{}}]},"x-account-price-usd":{"mode":"fixed","currency":"USD","amount":"0.11"},"responses":{"200":{"description":"Success","content":{"application/json":{"example":{"history":[{"date":"2026-01-15","score":85},{"date":"2026-02-15","score":92}]}}}},"402":{"description":"Payment required. The x402 v2 challenge is in the base64 PAYMENT-REQUIRED header and the JSON body; pay and retry with PAYMENT-SIGNATURE, or send X-API-Key with prepaid balance.","headers":{"PAYMENT-REQUIRED":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"x402Version":{"type":"integer"},"accepts":{"type":"array","items":{"type":"object"}},"error":{"type":"string"}}}}}}}}},"/v1/keys/create":{"post":{"summary":"Create an API key (tier=sandbox returns mock data)","description":"Free sandbox key, no wallet. The sandbox covers entity, risk and KYB checks; Lead Verify and the agent check need a live key or an x402 payment. Send tier=sandbox for an lg_sandbox_ key that returns mock data at no charge, or omit it for a free key that pays per call. Free, no payment.","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"description":"Request to create a new API key.","properties":{"email":{"description":"Email address for key owner","maxLength":254,"minLength":3,"title":"Email","type":"string"},"tier":{"default":"free","description":"Pricing tier","title":"Tier","type":"string"}},"required":["email"],"title":"KeyCreateRequest","type":"object"}}}},"responses":{"201":{"description":"Key created"}}}}},"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","in":"header","name":"X-API-Key","description":"lg_live_ key with prepaid balance; debited per call at the account price instead of an x402 payment."}}}}