{"openapi":"3.1.0","info":{"title":"Juris","version":"0.1.0","description":"Owned structured-fact API. UCC Article 9 debtor search with provenance."},"servers":[{"url":"https://jurisapi.com"}],"paths":{"/v1/coverage":{"get":{"summary":"UCC coverage map (admits holes)","responses":{"200":{"description":"Coverage catalog"}}}},"/v1/ucc/search":{"post":{"summary":"Search UCC filings by debtor name","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["debtor_name"],"properties":{"debtor_name":{"type":"string"},"states":{"type":"array","items":{"type":"string"}}}}}}},"responses":{"200":{"description":"Search with provenance"},"401":{"description":"Missing/invalid API key"},"402":{"description":"Insufficient credits"}}}},"/v1/billing/checkout":{"post":{"summary":"Create Stripe Checkout session","responses":{"200":{"description":"Session"}}}},"/v1/billing/stripe-ping":{"get":{"summary":"Ping Stripe (balance.retrieve) without creating Checkout","responses":{"200":{"description":"{ ok: true }"},"502":{"description":"Mapped stripe_error with nested detail"}}}},"/v1/billing/redeem":{"get":{"summary":"Fulfill paid session and issue API key","responses":{"200":{"description":"Issued key"}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}}}}