{"openapi":"3.1.0","info":{"title":"Carpe Pulse API v1","version":"1.0.0","description":"Underwriting + claims primitives backed by Carpe Pulse. Two endpoints today: reserve range for a claim, and pulse for an insured business. Both return ground-truth JSON your existing claims/policy system can ingest directly.","contact":{"name":"Carpe Data","url":"https://carpe.io"}},"servers":[{"url":"https://carpe-living-risk-nbcig9kz0-max-druckers-projects.vercel.app","description":"Production"}],"components":{"securitySchemes":{"apiKeyHeader":{"type":"apiKey","in":"header","name":"x-api-key","description":"API key issued by Carpe. Demo accepts any value; production requires a provisioned key."}},"schemas":{"ReserveResponse":{"type":"object","required":["claim_id","business","venue","plaintiff_firm","reserve_range_usd","reasoning","reserve_drivers","siu_referral","defense_counsel","generated_at","model"],"properties":{"claim_id":{"type":"string","format":"uuid"},"claim_number":{"type":"string","nullable":true},"business":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"pulse_score":{"type":"integer","nullable":true},"pulse_tier":{"type":"string","nullable":true}}},"venue":{"type":"object","properties":{"zip":{"type":"string","nullable":true},"city":{"type":"string","nullable":true},"state":{"type":"string","nullable":true},"nve_score":{"type":"integer"}}},"plaintiff_firm":{"type":"object","properties":{"id":{"type":"string","format":"uuid","nullable":true},"name":{"type":"string","nullable":true},"nve_score":{"type":"integer"}}},"reserve_range_usd":{"type":"object","properties":{"low":{"type":"integer"},"mid":{"type":"integer"},"high":{"type":"integer"},"p50":{"type":"integer"},"p90":{"type":"integer"}}},"reasoning":{"type":"string"},"reserve_drivers":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"weight":{"type":"number","minimum":0,"maximum":1},"evidence":{"type":"string"}}}},"siu_referral":{"type":"object","properties":{"recommended":{"type":"boolean"},"reason":{"type":"string"}}},"defense_counsel":{"type":"object","properties":{"posture":{"type":"string","enum":["aggressive_defense","investigate","negotiate","early_settle"]},"notes":{"type":"string"}}},"generated_at":{"type":"string","format":"date-time"},"model":{"type":"string","example":"claude-opus-4-8"}}},"PulseResponse":{"type":"object","required":["business_id","name","pulse_score","pulse_tier","top_signals","lawsuits_open","claims_open"],"properties":{"business_id":{"type":"string","format":"uuid"},"name":{"type":"string"},"pulse_score":{"type":"integer","nullable":true},"pulse_tier":{"type":"string","nullable":true,"enum":["Stable","Watch","Elevated","Critical",null]},"as_of":{"type":"string","format":"date-time","nullable":true},"top_signals":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"severity":{"type":"integer","minimum":0,"maximum":10},"source":{"type":"string"},"observed_at":{"type":"string","format":"date-time"}}}},"lawsuits_open":{"type":"integer"},"claims_open":{"type":"integer"}}},"Error":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"}}}}},"security":[{"apiKeyHeader":[]}],"paths":{"/api/v1/reserve/{claimId}":{"get":{"summary":"Get reserve range for a claim","description":"Returns reserve low/mid/high (and p50/p90), Opus 4.8 reasoning, weighted drivers, SIU referral flag, and defense-counsel posture for a single claim. First call ~6-10s; cached thereafter.","operationId":"getReserveForClaim","parameters":[{"name":"claimId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Claim UUID from your claims system."}],"responses":{"200":{"description":"Reserve recommendation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReserveResponse"}}}},"404":{"description":"Claim not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/pulse/{businessId}":{"get":{"summary":"Get current pulse for a business","description":"Returns the current Carpe Pulse score, tier, top severity-ranked signals, and open claim/lawsuit counts for an insured business.","operationId":"getPulseForBusiness","parameters":[{"name":"businessId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Business UUID."}],"responses":{"200":{"description":"Pulse snapshot","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PulseResponse"}}}},"404":{"description":"Business not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}}}