{"openapi":"3.1.0","info":{"title":"Business Registration Proof API","version":"1.0.0","summary":"Verify whether a business is officially registered and what the registry currently says.","description":"Business Registration Proof queries official business registries (Secretaries of State and national registers) and returns a deterministic, evidence-backed registration status. It never invents a status, never treats a registry failure as \"does not exist\", and preserves the registry's original wording. Price: 0.018 USDC per charged verification via x402 on Base mainnet (eip155:8453). Operated by Active Life Hub LLC. Not a KYB, credit, sanctions or legal-advice service."},"servers":[{"url":"https://businessregistrationproof.online"}],"paths":{"/api/v1/verify":{"post":{"operationId":"verifyBusinessRegistration","summary":"Verify a business entity’s registration status","description":"Without PAYMENT-SIGNATURE: validates the request, resolves the jurisdiction and answers 402 with the x402 requirement, the price and the exact official registry that would be queried (free; nothing stored; no registry traffic). With PAYMENT-SIGNATURE and Idempotency-Key: queries the registry live and returns the result. Only determinate results are settled; SOURCE_UNAVAILABLE and UNABLE_TO_VERIFY are never charged. Retrying with the same Idempotency-Key never charges twice.","parameters":[{"name":"PAYMENT-SIGNATURE","in":"header","required":false,"schema":{"type":"string"},"description":"Base64 x402 v2 payment payload (exact scheme, USDC)."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string","pattern":"^[A-Za-z0-9_-]{16,128}$"},"description":"Required with PAYMENT-SIGNATURE. Reuse it for retries."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyRequest"}}}},"responses":{"200":{"description":"Verification result (any result code). Header PAYMENT-RESPONSE carries the settlement when charged.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Verification"}}}},"400":{"description":"Invalid request (schema, name too broad, malformed entity number)","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"402":{"description":"Payment required (quote), or the payment was invalid/rejected. Header PAYMENT-REQUIRED carries the x402 requirement.","content":{"application/json":{"schema":{"type":"object"}}}},"409":{"description":"Idempotency conflict, in progress, or payment replay","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"413":{"description":"Body larger than 16 KB","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"415":{"description":"Content-Type must be application/json","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"422":{"description":"Unknown or uncovered jurisdiction (never charged)","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"503":{"description":"Not configured or payment provider unavailable (nothing charged)","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}}}}},"/api/v1/verifications/{id}":{"get":{"operationId":"getVerification","summary":"Retrieve a stored verification and its evidence (free)","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^brv_[0-9a-f]{52}$"}},{"name":"Authorization","in":"header","required":true,"schema":{"type":"string"},"description":"Bearer <the Idempotency-Key used for the paid request>"}],"responses":{"200":{"description":"Stored result (cache_status STORED, original checked_at)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Verification"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}},"410":{"description":"Evidence retention elapsed","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}}}}}}},"/api/v1/coverage":{"get":{"operationId":"getCoverage","summary":"Machine-readable coverage: jurisdictions, authorities, lookups, status mappings (free)","responses":{"200":{"description":"Coverage entries","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/pricing":{"get":{"operationId":"getPricing","summary":"Machine-readable price and measured cost basis (free)","responses":{"200":{"description":"Pricing","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/health":{"get":{"operationId":"getHealth","summary":"Liveness and configuration status (free, no database)","responses":{"200":{"description":"OK"},"503":{"description":"Not configured"}}}}},"components":{"schemas":{"VerifyRequest":{"type":"object","additionalProperties":false,"required":["jurisdiction"],"properties":{"business_name":{"type":"string","maxLength":200,"description":"Registered legal name, any script (never transliterated). Required unless entity_number is given."},"jurisdiction":{"type":"string","description":"ISO code (FR, NO, US-CO, US-CT, US-NY, US-OR are covered), US state code (\"CO\" — a bare two-letter code is read as a US state first) or a state/country name in several languages (\"Norge\")."},"country":{"type":"string","description":"Optional ISO 3166-1 code or name; disambiguates two-letter jurisdiction codes."},"entity_number":{"type":"string","maxLength":40,"description":"Registry identifier (e.g. Colorado ID, NY DOS ID, SIREN/SIRET, Norwegian organisation number). Exact lookup → HIGH confidence."},"entity_type":{"type":"string","maxLength":80,"description":"Optional tie-breaker between several exact name matches (e.g. \"LLC\")."},"city":{"type":"string","maxLength":100,"description":"Optional tie-breaker between several exact name matches."},"output_language":{"type":"string","description":"Optional BCP 47 preferred explanation language (explanations are English today; official values are never translated)."}}},"Verification":{"type":"object","required":["verification_id","result","confidence","summary","source","evidence","payment"],"properties":{"verification_id":{"type":"string"},"result":{"type":"string","enum":["ACTIVE","DELINQUENT","IN_LIQUIDATION","SUSPENDED","INACTIVE","DISSOLVED","REVOKED","MERGED","WITHDRAWN","CANCELLED","NOT_FOUND","AMBIGUOUS","SOURCE_UNAVAILABLE","UNABLE_TO_VERIFY"]},"confidence":{"type":"string","enum":["HIGH","MEDIUM","LOW"],"description":"Confidence in the registration match: HIGH = exact registry-number match; MEDIUM = unique name match; LOW = legal form differs or status unmapped. Never a model self-assessment."},"summary":{"type":"string"},"charged":{"type":"boolean"},"query":{"type":"object"},"entity":{"type":["object","null"],"properties":{"legal_name":{"type":["string","null"],"description":"Exactly as the registry publishes it (Unicode preserved)."},"entity_number":{"type":["string","null"]},"entity_type":{"type":["string","null"]},"entity_type_code":{"type":["string","null"]},"jurisdiction":{"type":"string"},"jurisdiction_code":{"type":"string"},"country":{"type":"string"},"domestic_or_foreign":{"type":"string","enum":["DOMESTIC","FOREIGN","UNKNOWN"]},"jurisdiction_of_formation":{"type":["string","null"]},"principal_city":{"type":["string","null"]}}},"registration":{"type":["object","null"],"properties":{"original_status":{"type":["string","null"],"description":"Exact wording of the registry."},"original_status_detail":{"type":["string","null"]},"normalized_status":{"type":"string","enum":["ACTIVE","DELINQUENT","IN_LIQUIDATION","SUSPENDED","INACTIVE","DISSOLVED","REVOKED","MERGED","WITHDRAWN","CANCELLED","UNKNOWN"]},"status_basis":{"type":"string","enum":["SOURCE_STATUS","ACTIVE_LISTING","SOURCE_FLAGS"]},"formation_date":{"type":["string","null"],"format":"date"},"end_date":{"type":["string","null"],"format":"date"},"standing":{"type":"string","enum":["GOOD_STANDING","DELINQUENT","NOT_IN_GOOD_STANDING","NOT_REPORTED"],"description":"Only what the registry itself states; ACTIVE never implies GOOD_STANDING."},"original_standing":{"type":["string","null"]},"registered_agent":{"type":"object"}}},"match":{"type":"object","properties":{"method":{"type":"string","enum":["entity_number","name","entity_number_and_name"]},"matched_legal_name":{"type":["string","null"]},"matched_entity_number":{"type":["string","null"]},"matched_jurisdiction":{"type":["string","null"]},"matched_entity_type":{"type":["string","null"]},"name_similarity":{"type":["string","null"],"enum":["IDENTICAL","EQUIVALENT","FORM_OMITTED","FORM_DIFFERS","DIFFERENT","NOT_CHECKED","NAME_WITHHELD",null]},"ambiguity_count":{"type":"integer"},"records_returned":{"type":"integer"},"search_complete":{"type":"boolean"},"reason":{"type":"string"}}},"candidates":{"type":"array","items":{"type":"object"}},"near_matches":{"type":"array","items":{"type":"object"},"description":"Similar but NON-matching names, for reference only."},"non_entity_matches":{"type":"array","items":{"type":"object"}},"source":{"type":"object","description":"Authority, URL, request URL, checked_at, source_type OFFICIAL_REGISTRY, response SHA-256 or error_category."},"verification":{"type":"object","properties":{"checked_at":{"type":"string","format":"date-time"},"source_updated_at":{"type":["string","null"],"format":"date-time"},"cache_used":{"type":"boolean"},"cache_age_seconds":{"type":"integer"},"cache_status":{"type":"string","enum":["LIVE","IDEMPOTENT_REPLAY","STORED"]},"freshness":{"type":"string"},"sources":{"type":"array","items":{"type":"object"}}}},"interpretation":{"type":"object"},"unknowns":{"type":"array","items":{"type":"string"}},"evidence":{"type":"object","description":"Verbatim, minimised registry fields and a SHA-256 over the evidence package."},"limitations":{"type":"array","items":{"type":"string"}},"language":{"type":"object"},"payment":{"type":"object"}}}}},"x-pricing":{"amount":"0.018","currency":"USDC","unit":"verification","version":"brp-cost-plus-2026-09-30-v1"}}