{"openapi":"3.1.0","info":{"title":"DataGov Real Estate API","description":"🏠 Israeli government real estate data for israel-estates.com","version":"1.0.0"},"paths":{"/api/v1/health":{"get":{"tags":["System"],"summary":"Health Check","description":"Service health check.","operationId":"health_check_api_v1_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthResponse"}}}}}}},"/api/v1/stats":{"get":{"tags":["System"],"summary":"Cache Stats","description":"Detailed cache statistics.","operationId":"cache_stats_api_v1_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/sync-logs":{"get":{"tags":["System"],"summary":"Sync Logs","description":"Recent data sync logs.","operationId":"sync_logs_api_v1_sync_logs_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/market/prices":{"get":{"tags":["Market Intelligence"],"summary":"Get Prices","description":"Apartment prices by city and year.","operationId":"get_prices_api_v1_market_prices_get","parameters":[{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by city name (Hebrew)","title":"City"},"description":"Filter by city name (Hebrew)"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"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/market/trends":{"get":{"tags":["Market Intelligence"],"summary":"Get Trends","description":"Price trends over time for a specific city.","operationId":"get_trends_api_v1_market_trends_get","parameters":[{"name":"city","in":"query","required":true,"schema":{"type":"string","description":"City name (Hebrew)","title":"City"},"description":"City name (Hebrew)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/construction/active":{"get":{"tags":["Construction"],"summary":"Get Active Construction","description":"Active construction sites.","operationId":"get_active_construction_api_v1_construction_active_get","parameters":[{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by city","title":"City"},"description":"Filter by city"},{"name":"region","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by region","title":"Region"},"description":"Filter by region"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"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/construction/progress":{"get":{"tags":["Construction"],"summary":"Get Construction Progress","description":"Construction progress tracking.","operationId":"get_construction_progress_api_v1_construction_progress_get","parameters":[{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by city","title":"City"},"description":"Filter by city"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"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/contractors":{"get":{"tags":["Professionals"],"summary":"Get Contractors","description":"Licensed contractor registry (23,782 entries).","operationId":"get_contractors_api_v1_contractors_get","parameters":[{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by city","title":"City"},"description":"Filter by city"},{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Search by name","title":"Name"},"description":"Search by name"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"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/appraisers":{"get":{"tags":["Professionals"],"summary":"Get Appraisers","description":"Real estate appraisers (91,359 entries).","operationId":"get_appraisers_api_v1_appraisers_get","parameters":[{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"}},{"name":"region","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Region"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"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/urban-renewal":{"get":{"tags":["Urban Renewal"],"summary":"Get Urban Renewal","description":"Urban renewal (TAMA 38) projects.","operationId":"get_urban_renewal_api_v1_urban_renewal_get","parameters":[{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"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/incentives/priority-areas":{"get":{"tags":["Incentives"],"summary":"Get Priority Areas","description":"National priority areas with tax benefits.","operationId":"get_priority_areas_api_v1_incentives_priority_areas_get","parameters":[{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"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/risk/contamination":{"get":{"tags":["Risk"],"summary":"Get Contamination","description":"Contaminated land risk data.","operationId":"get_contamination_api_v1_risk_contamination_get","parameters":[{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"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/housing/public":{"get":{"tags":["Housing"],"summary":"Get Public Housing","description":"Public housing apartment data.","operationId":"get_public_housing_api_v1_housing_public_get","parameters":[{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"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/zoning":{"get":{"tags":["Planning"],"summary":"Get Zoning","description":"Land zoning data.","operationId":"get_zoning_api_v1_zoning_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"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/calculator/autofill":{"get":{"tags":["Calculators"],"summary":"Calculator Autofill","description":"Smart Auto-Fill: returns all relevant data for calculator pre-population.","operationId":"calculator_autofill_api_v1_calculator_autofill_get","parameters":[{"name":"city","in":"query","required":true,"schema":{"type":"string","description":"City name in Hebrew","title":"City"},"description":"City name in Hebrew"},{"name":"rooms","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Number of rooms (2-6)","title":"Rooms"},"description":"Number of rooms (2-6)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/calculator/roi":{"post":{"tags":["Calculators"],"summary":"Calculator Roi","description":"Advanced ROI calculator with government data auto-fill. Combines rental income + capital appreciation.","operationId":"calculator_roi_api_v1_calculator_roi_post","parameters":[{"name":"city","in":"query","required":true,"schema":{"type":"string","description":"City name in Hebrew","title":"City"},"description":"City name in Hebrew"},{"name":"rooms","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rooms"}},{"name":"purchase_price","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Purchase price (NIS), auto-filled if empty","title":"Purchase Price"},"description":"Purchase price (NIS), auto-filled if empty"},{"name":"monthly_rent","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Monthly rent (NIS), auto-filled if empty","title":"Monthly Rent"},"description":"Monthly rent (NIS), auto-filled if empty"},{"name":"annual_appreciation","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Annual appreciation %, auto-filled from trends","title":"Annual Appreciation"},"description":"Annual appreciation %, auto-filled from trends"},{"name":"holding_years","in":"query","required":false,"schema":{"type":"integer","maximum":30,"minimum":1,"default":10,"title":"Holding Years"}},{"name":"down_payment_percent","in":"query","required":false,"schema":{"type":"number","maximum":100,"minimum":0,"default":25.0,"title":"Down Payment Percent"}},{"name":"mortgage_rate","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Mortgage rate %, auto-filled if empty","title":"Mortgage Rate"},"description":"Mortgage rate %, auto-filled if empty"},{"name":"mortgage_years","in":"query","required":false,"schema":{"type":"integer","maximum":30,"minimum":5,"default":25,"title":"Mortgage Years"}},{"name":"annual_expenses_percent","in":"query","required":false,"schema":{"type":"number","maximum":10,"minimum":0,"default":1.5,"title":"Annual Expenses Percent"}},{"name":"vacancy_rate_percent","in":"query","required":false,"schema":{"type":"number","maximum":50,"minimum":0,"default":5.0,"title":"Vacancy Rate Percent"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/calculator/mortgage":{"post":{"tags":["Calculators"],"summary":"Calculator Mortgage","description":"Mortgage calculator with priority area detection and government benefits alerts.","operationId":"calculator_mortgage_api_v1_calculator_mortgage_post","parameters":[{"name":"property_price","in":"query","required":true,"schema":{"type":"number","description":"Property price (NIS)","title":"Property Price"},"description":"Property price (NIS)"},{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"City for priority area detection","title":"City"},"description":"City for priority area detection"},{"name":"down_payment_percent","in":"query","required":false,"schema":{"type":"number","maximum":100,"minimum":0,"default":25.0,"title":"Down Payment Percent"}},{"name":"interest_rate","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Interest rate %, auto-filled if empty","title":"Interest Rate"},"description":"Interest rate %, auto-filled if empty"},{"name":"loan_years","in":"query","required":false,"schema":{"type":"integer","maximum":30,"minimum":5,"default":25,"title":"Loan Years"}},{"name":"loan_type","in":"query","required":false,"schema":{"type":"string","description":"fixed / variable / mixed","default":"fixed","title":"Loan Type"},"description":"fixed / variable / mixed"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/calculator/purchase-tax":{"get":{"tags":["Calculators"],"summary":"Calculator Purchase Tax","description":"Israeli purchase tax calculator with all buyer categories.","operationId":"calculator_purchase_tax_api_v1_calculator_purchase_tax_get","parameters":[{"name":"price","in":"query","required":true,"schema":{"type":"number","description":"Property price (NIS)","title":"Price"},"description":"Property price (NIS)"},{"name":"is_single_apartment","in":"query","required":false,"schema":{"type":"boolean","description":"First/only apartment?","default":true,"title":"Is Single Apartment"},"description":"First/only apartment?"},{"name":"is_new_immigrant","in":"query","required":false,"schema":{"type":"boolean","description":"New immigrant (oleh)?","default":false,"title":"Is New Immigrant"},"description":"New immigrant (oleh)?"},{"name":"is_foreign_resident","in":"query","required":false,"schema":{"type":"boolean","description":"Foreign resident?","default":false,"title":"Is Foreign Resident"},"description":"Foreign resident?"},{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"City for priority area check","title":"City"},"description":"City for priority area check"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/calculator/foreign-investor":{"get":{"tags":["Calculators"],"summary":"Calculator Foreign Investor","description":"Foreign investor calculator — currency conversion + tax + total acquisition costs.","operationId":"calculator_foreign_investor_api_v1_calculator_foreign_investor_get","parameters":[{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"City for auto-fill","title":"City"},"description":"City for auto-fill"},{"name":"rooms","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rooms"}},{"name":"price_nis","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Price in NIS","title":"Price Nis"},"description":"Price in NIS"},{"name":"price_usd","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Price in USD","title":"Price Usd"},"description":"Price in USD"},{"name":"price_eur","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Price in EUR","title":"Price Eur"},"description":"Price in EUR"},{"name":"exchange_rate_usd","in":"query","required":false,"schema":{"type":"number","default":3.65,"title":"Exchange Rate Usd"}},{"name":"exchange_rate_eur","in":"query","required":false,"schema":{"type":"number","default":3.95,"title":"Exchange Rate Eur"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/bi/market-trends":{"get":{"tags":["BI Dashboard"],"summary":"Bi Market Trends","description":"BI market trends for dashboard context integration.","operationId":"bi_market_trends_api_v1_bi_market_trends_get","parameters":[{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"City name, or empty for all cities","title":"City"},"description":"City name, or empty for all cities"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sync":{"post":{"tags":["System"],"summary":"Trigger Sync","description":"Manually trigger data sync. If dataset is None, syncs all.","operationId":"trigger_sync_api_v1_sync_post","parameters":[{"name":"dataset","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dataset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/companies/daily-alert":{"get":{"tags":["CompanyRadar"],"summary":"Companies Daily Alert","description":"Daily intelligence alert — new companies, changes, violations.","operationId":"companies_daily_alert_api_v1_companies_daily_alert_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":30,"minimum":1,"description":"Look back N days","default":7,"title":"Days"},"description":"Look back N days"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/companies/search":{"get":{"tags":["CompanyRadar"],"summary":"Companies Search","description":"Search the Israeli company registry (721K+ companies).","operationId":"companies_search_api_v1_companies_search_get","parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Free text search","default":"","title":"Q"},"description":"Free text search"},{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by city (Hebrew)","title":"City"},"description":"Filter by city (Hebrew)"},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Company status","title":"Status"},"description":"Company status"},{"name":"company_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Company type","title":"Company Type"},"description":"Company type"},{"name":"is_violating","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Violating companies only","title":"Is Violating"},"description":"Violating companies only"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"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/companies/stats":{"get":{"tags":["CompanyRadar"],"summary":"Companies Stats","description":"Aggregate statistics for the company registry.","operationId":"companies_stats_api_v1_companies_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/companies/new":{"get":{"tags":["CompanyRadar"],"summary":"Companies New","description":"Newly incorporated companies.","operationId":"companies_new_api_v1_companies_new_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":30,"minimum":1,"default":7,"title":"Days"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/companies/violating":{"get":{"tags":["CompanyRadar"],"summary":"Companies Violating","description":"Companies marked as violating (did not file annual reports).","operationId":"companies_violating_api_v1_companies_violating_get","parameters":[{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"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/companies/deletion":{"get":{"tags":["CompanyRadar"],"summary":"Companies Deletion","description":"Companies pending deletion.","operationId":"companies_deletion_api_v1_companies_deletion_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"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/companies/changes":{"get":{"tags":["CompanyRadar"],"summary":"Companies Changes","description":"Recent company changes (liens, status updates).","operationId":"companies_changes_api_v1_companies_changes_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":30,"minimum":1,"default":7,"title":"Days"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/companies/cities":{"get":{"tags":["CompanyRadar"],"summary":"Companies Cities","description":"City list for autocomplete.","operationId":"companies_cities_api_v1_companies_cities_get","parameters":[{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Search/filter prefix","title":"Q"},"description":"Search/filter prefix"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/companies/{company_number}":{"get":{"tags":["CompanyRadar"],"summary":"Company Detail","description":"Get full details for a single company by registration number.","operationId":"company_detail_api_v1_companies__company_number__get","parameters":[{"name":"company_number","in":"path","required":true,"schema":{"type":"integer","title":"Company Number"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business-data/stats":{"get":{"tags":["Business Data"],"summary":"Biz Stats","description":"Row counts for business / trade / compliance datasets.","operationId":"biz_stats_api_v1_business_data_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/business-licenses":{"get":{"tags":["Business Data"],"summary":"Get Business Licenses","description":"רישיונות עסק (היתרים) — חיפוש לפי שם, עיר, מחוז, סטטוס.","operationId":"get_business_licenses_api_v1_business_licenses_get","parameters":[{"name":"business","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"שם המפעל / עסק (Mifal_Name)","title":"Business"},"description":"שם המפעל / עסק (Mifal_Name)"},{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ישוב (Yishuv_Name)","title":"City"},"description":"ישוב (Yishuv_Name)"},{"name":"region","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"מחוז (Machoz_Name)","title":"Region"},"description":"מחוז (Machoz_Name)"},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"סטטוס היתר (Heter_Status)","title":"Status"},"description":"סטטוס היתר (Heter_Status)"},{"name":"heter_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"סוג היתר (Heter_Name)","title":"Heter Type"},"description":"סוג היתר (Heter_Name)"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"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/fire-safety/categories":{"get":{"tags":["Business Data"],"summary":"Get Fire Safety Categories","description":"קטגוריות בטיחות אש לעסקים — לפי קבוצה.","operationId":"get_fire_safety_categories_api_v1_fire_safety_categories_get","parameters":[{"name":"group","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"קבוצת בטיחות אש","title":"Group"},"description":"קבוצת בטיחות אש"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"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/customs/lookup":{"get":{"tags":["Business Data"],"summary":"Get Customs Lookup","description":"קודי מכס וסיווגים HS — חיפוש לפי טקסט/קוד/פרק. כולל תעריף + מס קנייה.","operationId":"get_customs_lookup_api_v1_customs_lookup_get","parameters":[{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"חיפוש בתיאור הסחורה (אנגלית)","title":"Q"},"description":"חיפוש בתיאור הסחורה (אנגלית)"},{"name":"code","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"קוד מכס (2/4/6/8 ספרות)","title":"Code"},"description":"קוד מכס (2/4/6/8 ספרות)"},{"name":"chapter","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"פרק 2-ספרות (HS chapter)","title":"Chapter"},"description":"פרק 2-ספרות (HS chapter)"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"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/food/manufacturers":{"get":{"tags":["Business Data"],"summary":"Get Food Manufacturers","description":"יצרני מזון מורשים — לפי שם, עיר, מחוז, סוג ייצור.","operationId":"get_food_manufacturers_api_v1_food_manufacturers_get","parameters":[{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"שם יצרן","title":"Q"},"description":"שם יצרן"},{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"עיר","title":"City"},"description":"עיר"},{"name":"district","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"מחוז בריאות","title":"District"},"description":"מחוז בריאות"},{"name":"food_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"סוג פעילות מזון","title":"Food Type"},"description":"סוג פעילות מזון"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"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/food/importers":{"get":{"tags":["Business Data"],"summary":"Get Food Importers","description":"יבואני מזון רשומים — לפי שם, סוג, דירוג אמון.","operationId":"get_food_importers_api_v1_food_importers_get","parameters":[{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"שם יבואן","title":"Q"},"description":"שם יבואן"},{"name":"type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"סוג יבואן","title":"Type"},"description":"סוג יבואן"},{"name":"trust","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"דירוג אמון","title":"Trust"},"description":"דירוג אמון"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"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/food/prices":{"get":{"tags":["Business Data"],"summary":"Get Food Prices","description":"מחירי מזון מפוקחים — לפי מוצר, עיר, יבואן, נקודת מכירה.","operationId":"get_food_prices_api_v1_food_prices_get","parameters":[{"name":"product","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"שם מוצר","title":"Product"},"description":"שם מוצר"},{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"עיר","title":"City"},"description":"עיר"},{"name":"importer","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"יבואן","title":"Importer"},"description":"יבואן"},{"name":"point","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"נקודת מכירה","title":"Point"},"description":"נקודת מכירה"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"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/risk/health":{"get":{"tags":["Risk Score 360"],"summary":"Risk Health","description":"Source health — which caches are reachable + row counts. Auth required.","operationId":"risk_health_api_v1_risk_health_get","parameters":[{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/risk/lookup":{"get":{"tags":["Risk Score 360"],"summary":"Risk Lookup Endpoint","description":"Federated lookup + Risk Score 360 with breakdown.\n\nציון 0-100 (גבוה=סיכון רב). למחויבות: ספק entity_id במקום name.","operationId":"risk_lookup_endpoint_api_v1_risk_lookup_get","parameters":[{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"שם ישות (חברה, אדם, עמותה)","title":"Name"},"description":"שם ישות (חברה, אדם, עמותה)"},{"name":"entity_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ת\"ז / ח\"פ / מספר רישיון","title":"Entity Id"},"description":"ת\"ז / ח\"פ / מספר רישיון"},{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"עיר (סינון נוסף)","title":"City"},"description":"עיר (סינון נוסף)"},{"name":"entity_type","in":"query","required":false,"schema":{"type":"string","description":"any | person | business | ngo","default":"any","title":"Entity Type"},"description":"any | person | business | ngo"},{"name":"per_source_limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Per Source Limit"}},{"name":"include_context","in":"query","required":false,"schema":{"type":"boolean","description":"כלול גם trademarks/patents/votes","default":false,"title":"Include Context"},"description":"כלול גם trademarks/patents/votes"},{"name":"timeout_per_source_s","in":"query","required":false,"schema":{"type":"number","maximum":8.0,"minimum":0.5,"default":2.0,"title":"Timeout Per Source S"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/risk/sources":{"get":{"tags":["Risk Score 360"],"summary":"Risk Sources Endpoint","description":"List of all configured risk sources + their kind/label.","operationId":"risk_sources_endpoint_api_v1_risk_sources_get","parameters":[{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/register":{"post":{"tags":["Auth"],"summary":"Auth Register","description":"Register for a free DataLawAPI key. Idempotent on email — returns existing key\nif email is already registered. Lead is logged to /data/leads.jsonl.","operationId":"auth_register_api_v1_auth_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/check":{"get":{"tags":["Auth"],"summary":"Auth Check","description":"Look up usage stats for the current X-API-Key (read-only, no counter increment).","operationId":"auth_check_api_v1_auth_check_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/admin/stats":{"get":{"tags":["Admin"],"summary":"Admin Stats","description":"Aggregate registration + usage stats. Edge-gated by nginx Basic Auth.","operationId":"admin_stats_api_v1_admin_stats_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":30,"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/admin/keys/{key_id}/tier":{"post":{"tags":["Admin"],"summary":"Admin Set Tier Endpoint","operationId":"admin_set_tier_endpoint_api_v1_admin_keys__key_id__tier_post","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"integer","title":"Key Id"}},{"name":"tier","in":"query","required":true,"schema":{"type":"string","description":"free | pro | enterprise","title":"Tier"},"description":"free | pro | enterprise"},{"name":"daily_quota","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":1000000,"minimum":1},{"type":"null"}],"title":"Daily Quota"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/keys/{key_id}/revoke":{"post":{"tags":["Admin"],"summary":"Admin Revoke Endpoint","operationId":"admin_revoke_endpoint_api_v1_admin_keys__key_id__revoke_post","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"integer","title":"Key Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HealthResponse":{"properties":{"status":{"type":"string","title":"Status","default":"healthy"},"version":{"type":"string","title":"Version","default":"1.0.0"},"datasets_cached":{"type":"integer","title":"Datasets Cached","default":0},"last_sync":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Sync"},"uptime_seconds":{"type":"number","title":"Uptime Seconds","default":0}},"type":"object","title":"HealthResponse","description":"API health check response."},"RegisterRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"name":{"type":"string","maxLength":100,"minLength":2,"title":"Name"},"org":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Org"},"use_case":{"type":"string","maxLength":500,"minLength":10,"title":"Use Case","description":"Briefly: what will you build?"}},"type":"object","required":["email","name","use_case"],"title":"RegisterRequest"},"RegisterResponse":{"properties":{"api_key":{"type":"string","title":"Api Key"},"tier":{"type":"string","title":"Tier"},"daily_quota":{"type":"integer","title":"Daily Quota"},"message":{"type":"string","title":"Message"}},"type":"object","required":["api_key","tier","daily_quota","message"],"title":"RegisterResponse"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}