{"openapi":"3.1.0","info":{"title":"RateFileAI Public API","version":"1.0.0","description":"Public-facing API for RateFileAI Pro and Enterprise customers. Authentication: Bearer token (Clerk JWT) on all endpoints except /health, /api/v1/openapi-public.json, /api/v1/unsubscribe. Internal endpoints (admin, signals, reports) are not documented here. See https://ratefileai.com/python-sdk.html for the Python SDK + curl examples.","contact":{"name":"RateFileAI","email":"nick@ratefileai.com","url":"https://ratefileai.com"},"termsOfService":"https://ratefileai.com/terms.html","license":{"name":"Commercial — see Terms"}},"servers":[{"url":"https://api.ratefileai.com","description":"Production"}],"paths":{"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/filings":{"get":{"summary":"Search Filings","operationId":"search_filings_api_v1_filings_get","parameters":[{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}},{"name":"carrier","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Carrier"}},{"name":"line","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Line"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"min_change","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Min Change"}},{"name":"max_change","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Change"}},{"name":"market","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Market"}},{"name":"lob","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lob"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":9999,"minimum":1,"default":90,"title":"Days"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":5000,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/filings/{filing_number}":{"get":{"summary":"Get Filing","operationId":"get_filing_api_v1_filings__filing_number__get","parameters":[{"name":"filing_number","in":"path","required":true,"schema":{"type":"string","title":"Filing Number"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/filings/{filing_number}/market-position":{"get":{"summary":"Filing Market Position","description":"Compute market positioning for a single filing.\n\nJoins three signals the agent care about:\n  1. Filing's own rate change (filed)\n  2. Market average rate change for same state × LOB over last 365d\n  3. Carrier's current state-LOB DWP share (latest year)\n\nReturns a 1-line implication the agent can read in 3 seconds.","operationId":"filing_market_position_api_v1_filings__filing_number__market_position_get","parameters":[{"name":"filing_number","in":"path","required":true,"schema":{"type":"string","title":"Filing Number"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/carriers/{name}/market-position-summary":{"get":{"summary":"Carrier Market Position Summary","description":"AGENT-N — Carrier-aggregate market positioning per LOB.\n\nFor each LOB the carrier filed in over the window, compares the carrier's\naverage rate change to the same-LOB market average (all carriers, same window).\nReturns one row per LOB with avg_deviation_pp, label, n_filings, states_covered.","operationId":"carrier_market_position_summary_api_v1_carriers__name__market_position_summary_get","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":365,"title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/states/{state}/market-position-summary":{"get":{"summary":"State Market Position Summary","description":"AGENT-O — State-level market posture + aggressive/defensive carrier callout.\n\nReturns:\n  - by_lob: state-wide avg rate change per LOB over window (n_filings, n_carriers)\n  - aggressive_carriers: top carriers in this state with avg rate above the state's\n    LOB-blended average (positions them as 'warn customers')\n  - defensive_carriers: top carriers below the state's blended avg ('replacement options')\n  - overall: state-blended avg with rate-cycle direction word","operationId":"state_market_position_summary_api_v1_states__state__market_position_summary_get","parameters":[{"name":"state","in":"path","required":true,"schema":{"type":"string","title":"State"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":365,"title":"Days"}},{"name":"top_n","in":"query","required":false,"schema":{"type":"integer","default":5,"title":"Top N"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/meta/carriers":{"get":{"summary":"List Carriers","operationId":"list_carriers_api_v1_meta_carriers_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/meta/states":{"get":{"summary":"List States","operationId":"list_states_api_v1_meta_states_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/search/autocomplete":{"get":{"summary":"Search Autocomplete","description":"Smart multi-token site-wide search:\ntokenizes the query, matches each token across carriers, states, LOBs,\nlegislation, news. Ranks by tokens-matched. Always includes filing\nand news search actions as fallback options.","operationId":"search_autocomplete_api_v1_search_autocomplete_get","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":2,"title":"Q"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/analytics/weekly-activity":{"get":{"summary":"Weekly Activity","operationId":"weekly_activity_api_v1_analytics_weekly_activity_get","parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","default":"filed","title":"Mode"}},{"name":"market","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Market"}},{"name":"lob","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lob"}},{"name":"carrier_tier","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Carrier Tier"}},{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Start Date"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/carriers/{name}/profile":{"get":{"summary":"Carrier Profile","operationId":"carrier_profile_api_v1_carriers__name__profile_get","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":9999,"title":"Days"}},{"name":"market","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Market"}},{"name":"lob","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lob"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/carriers/list":{"get":{"summary":"List Carriers Full","description":"Full carrier list grouped by parent company.\nFiltered to the requested market ('pc', 'life', 'health') based on state_market_share presence.\nDWP is recomputed per latest year, excluding rollup LOB rows, deduped by (state, lob).","operationId":"list_carriers_full_api_v1_carriers_list_get","parameters":[{"name":"market","in":"query","required":false,"schema":{"type":"string","default":"pc","title":"Market"}},{"name":"fields","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fields"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/analytics/top-carrier-rates":{"get":{"summary":"Top Carrier Rates","operationId":"top_carrier_rates_api_v1_analytics_top_carrier_rates_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":90,"title":"Days"}},{"name":"market","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Market"}},{"name":"lob","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lob"}},{"name":"carriers","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Carriers"}},{"name":"carrier_tier","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Carrier Tier"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":10,"title":"Limit"}},{"name":"min_n","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"/*P4-BE-05*/ sample-size floor; exclude carriers with fewer than N filings","default":10,"title":"Min N"},"description":"/*P4-BE-05*/ sample-size floor; exclude carriers with fewer than N filings"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/analytics/approval-trends":{"get":{"summary":"Approval Trends","description":"Monthly approval/rejection/withdrawal rates for rate-bearing filings over time.","operationId":"approval_trends_api_v1_analytics_approval_trends_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":540,"title":"Days"}},{"name":"market","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Market"}},{"name":"lob","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lob"}},{"name":"carrier_tier","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Carrier Tier"}},{"name":"min_n","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"BE-02: drop months with fewer than N filings — approval-rate from <5 filings is too noisy","default":5,"title":"Min N"},"description":"BE-02: drop months with fewer than N filings — approval-rate from <5 filings is too noisy"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/analytics/state-rate-activity":{"get":{"summary":"State Rate Activity","description":"Top states by rate-bearing filing count in last N days.","operationId":"state_rate_activity_api_v1_analytics_state_rate_activity_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":90,"title":"Days"}},{"name":"market","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Market"}},{"name":"lob","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lob"}},{"name":"carriers","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Carriers"}},{"name":"carrier","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Carrier"}},{"name":"carrier_tier","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Carrier Tier"}},{"name":"min_n","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"BE-02: drop states with fewer than N rate-bearing filings","default":3,"title":"Min N"},"description":"BE-02: drop states with fewer than N rate-bearing filings"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/analytics/rate-distribution":{"get":{"summary":"Rate Distribution","description":"Returns a histogram of rate_change_selected values bucketed into ranges.","operationId":"rate_distribution_api_v1_analytics_rate_distribution_get","parameters":[{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}},{"name":"lob","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lob"}},{"name":"market","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Market"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":9999,"minimum":1,"default":365,"title":"Days"}},{"name":"carrier_tier","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Carrier Tier"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/analytics/state/{state_code}":{"get":{"summary":"State Analytics","description":"Deep analytics for a single state: volume by month, top carriers, LOB breakdown,\navg rate change, approval rate, and recent notable filings.","operationId":"state_analytics_api_v1_analytics_state__state_code__get","parameters":[{"name":"state_code","in":"path","required":true,"schema":{"type":"string","title":"State Code"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":9999,"minimum":1,"default":365,"title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/home/kpis":{"get":{"summary":"Home Kpis","operationId":"home_kpis_api_v1_home_kpis_get","parameters":[{"name":"market","in":"query","required":false,"schema":{"type":"string","default":"pc","title":"Market"}},{"name":"lob","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lob"}},{"name":"carriers","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Carriers"}},{"name":"carrier_tier","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Carrier Tier"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":9999,"minimum":1,"default":90,"title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/analytics/data-freshness":{"get":{"summary":"Data Freshness","description":"Return freshness metadata for each data source panel.","operationId":"data_freshness_api_v1_analytics_data_freshness_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/analytics/change-summary":{"get":{"summary":"Change Summary","description":"Executive brief of what changed in the last N days vs the prior N-day period.\nReturns rate filing counts, avg rate, premium impacted, top carriers/states,\nregulatory changes, notable filings, and market direction.","operationId":"change_summary_api_v1_analytics_change_summary_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":9999,"minimum":1,"default":7,"title":"Days"}},{"name":"market","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Market"}},{"name":"lob","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lob"}},{"name":"carrier_tier","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Carrier Tier"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/analytics/historical-trends":{"get":{"summary":"Historical Trends","description":"Multi-year quarterly rate trends for a carrier or state.","operationId":"historical_trends_api_v1_analytics_historical_trends_get","parameters":[{"name":"entity_type","in":"query","required":false,"schema":{"type":"string","default":"carrier","title":"Entity Type"}},{"name":"entity","in":"query","required":true,"schema":{"type":"string","title":"Entity"}},{"name":"market","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Market"}},{"name":"lob","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lob"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":9999,"title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/analytics/rate-distribution-by-lob":{"get":{"summary":"Rate Dist By Lob","description":"Box-plot data: rate change spread per LOB category.","operationId":"rate_dist_by_lob_api_v1_analytics_rate_distribution_by_lob_get","parameters":[{"name":"market","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Market"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":365,"title":"Days"}},{"name":"carrier_tier","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Carrier Tier"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/analytics/coverage":{"get":{"summary":"Coverage","description":"Return coverage % of a metric over a filtered slice of the filings corpus.\n\nUse case: every chart that aggregates filings (rate trends, loss ratio\nbenchmarks, market share) should display a 'Coverage: X% (N of M)' badge\nso users know how confident the underlying signal is. Default to\ntransparency — see W1-COV in scope assessment.","operationId":"coverage_api_v1_analytics_coverage_get","parameters":[{"name":"metric","in":"query","required":false,"schema":{"type":"string","description":"rate_change | loss_ratio | affected_premium | pdf_archived | ai_summary","default":"rate_change","title":"Metric"},"description":"rate_change | loss_ratio | affected_premium | pdf_archived | ai_summary"},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}},{"name":"lob","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lob"}},{"name":"year_start","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":2030,"minimum":2010},{"type":"null"}],"title":"Year Start"}},{"name":"year_end","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":2030,"minimum":2010},{"type":"null"}],"title":"Year End"}},{"name":"carrier","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Carrier"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/renewal-defense/analyze":{"post":{"summary":"Renewal Defense Analyze","description":"Agent's wedge feature: upload book of business → ranked call list.\n\nInput: list of customers each with carrier/state/lob/premium/renewal_date.\nOutput: same list enriched with the most-recent matching rate filing,\n        estimated premium impact, days-to-renewal, and urgency_tier.\n        Sorted by urgency × renewal proximity.\n\nPrivacy: input is NOT persisted. We process the request in-memory and\n         return enriched rows. No book contents land in our DB.","operationId":"renewal_defense_analyze_api_v1_renewal_defense_analyze_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RDRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/renewal-defense/pdf":{"post":{"summary":"Renewal Defense Pdf","description":"AGENT-S — branded PDF export of the ranked call list.\n\nSame input as /analyze; returns a PDF binary. agent_name + book_label\nappear on the cover header. PDF is generated on-demand and never\npersisted server-side (process-and-return, same as /analyze).","operationId":"renewal_defense_pdf_api_v1_renewal_defense_pdf_post","parameters":[{"name":"agent_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Name"}},{"name":"book_label","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Book Label"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RDRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/renewal-defense/template":{"get":{"summary":"Renewal Defense Template","description":"Return the CSV template header so the agent's frontend can show\nthe expected columns. Also serves as a 'try it' helper.","operationId":"renewal_defense_template_api_v1_renewal_defense_template_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"AgentProfileUpdate":{"properties":{"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"zip_codes":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Zip Codes"},"lob_buckets":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Lob Buckets"},"sub_lines":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Sub Lines"}},"type":"object","title":"AgentProfileUpdate"},"AlertCreate":{"properties":{"name":{"type":"string","title":"Name"},"alert_type":{"type":"string","title":"Alert Type"},"criteria":{"additionalProperties":true,"type":"object","title":"Criteria"},"is_active":{"type":"boolean","title":"Is Active","default":true}},"type":"object","required":["name","alert_type","criteria"],"title":"AlertCreate"},"AlertUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"alert_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alert Type"},"criteria":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Criteria"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"}},"type":"object","title":"AlertUpdate"},"BillingCheckoutRequest":{"properties":{"plan":{"type":"string","title":"Plan"},"success_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Success Url"},"cancel_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cancel Url"}},"type":"object","required":["plan"],"title":"BillingCheckoutRequest"},"BillingPortalRequest":{"properties":{"return_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Return Url"}},"type":"object","title":"BillingPortalRequest"},"Body_upload_book_api_renewal_books_upload_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_upload_book_api_renewal_books_upload_post"},"BookSummary":{"properties":{"id":{"type":"string","title":"Id"},"uploaded_at":{"type":"string","title":"Uploaded At"},"filename":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Filename"},"policy_count":{"type":"integer","title":"Policy Count"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","required":["id","uploaded_at","filename","policy_count","notes"],"title":"BookSummary"},"ChannelSelectBody":{"properties":{"channel_id":{"type":"string","title":"Channel Id"},"channel_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Channel Name"}},"type":"object","required":["channel_id"],"title":"ChannelSelectBody"},"CheckoutRequest":{"properties":{"success_url":{"type":"string","title":"Success Url","default":"https://ratefileai.com/?checkout=success"},"cancel_url":{"type":"string","title":"Cancel Url","default":"https://ratefileai.com/?checkout=cancel"},"customer_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Email"}},"type":"object","title":"CheckoutRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"PreferencesUpdate":{"properties":{"digest_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Digest Enabled"},"alerts_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Alerts Enabled"}},"type":"object","title":"PreferencesUpdate"},"ProfileUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company"},"preferences":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Preferences"}},"type":"object","title":"ProfileUpdate"},"RDCustomer":{"properties":{"customer_id":{"type":"string","title":"Customer Id"},"carrier":{"type":"string","title":"Carrier"},"state":{"type":"string","title":"State"},"lob":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lob"},"premium":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Premium"},"renewal_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Renewal Date"}},"type":"object","required":["customer_id","carrier","state"],"title":"RDCustomer"},"RDRequest":{"properties":{"customers":{"items":{"$ref":"#/components/schemas/RDCustomer"},"type":"array","title":"Customers"},"days_back":{"type":"integer","title":"Days Back","default":90}},"type":"object","required":["customers"],"title":"RDRequest"},"ReportRequest":{"properties":{"market":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Market","default":"pc"},"lobs":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Lobs","default":[]},"days":{"type":"integer","title":"Days","default":90},"report_type":{"type":"string","title":"Report Type","default":"detailed"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company"}},"type":"object","title":"ReportRequest"},"SavedSearchCreate":{"properties":{"name":{"type":"string","title":"Name"},"query_json":{"additionalProperties":true,"type":"object","title":"Query Json"},"alert_enabled":{"type":"boolean","title":"Alert Enabled","default":false},"alert_frequency":{"type":"string","title":"Alert Frequency","default":"weekly"},"alert_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alert Email"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","required":["name","query_json"],"title":"SavedSearchCreate"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}