{"openapi":"3.1.0","info":{"title":"Lao People Data & Research API","description":"AI-enhanced data infrastructure for disaggregated Lao community data. Provides real-time analytics across health, economic, education, and housing domains, with NLP-powered narrative analysis and ML risk prediction.","version":"1.0.0"},"paths":{"/api/dashboard/summary":{"get":{"tags":["Dashboard"],"summary":"Get Dashboard Summary","description":"Get the main dashboard summary with KPI cards and disaggregation data.\n\nMerges live Census data with community survey data. The `state` query\nparameter selects which state's Census slice to load. Community-survey-\nderived KPIs (gambling, depression, etc.) are only populated for\n*featured* states where a research partnership exists; for other states\nthe response sets `community_data_available: false` and the affected\nKPI/disaggregation arrays are empty.","operationId":"get_dashboard_summary_api_dashboard_summary_get","parameters":[{"name":"state","in":"query","required":false,"schema":{"type":"string","description":"Two-letter state abbreviation (default MN for back-compat)","default":"MN","title":"State"},"description":"Two-letter state abbreviation (default MN for back-compat)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/dashboard/kpi":{"get":{"tags":["Dashboard"],"summary":"Get Kpi Cards","description":"Get individual KPI cards, optionally filtered by domain.","operationId":"get_kpi_cards_api_dashboard_kpi_get","parameters":[{"name":"domain","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by domain: health, economic, education, housing_social","title":"Domain"},"description":"Filter by domain: health, economic, education, housing_social"},{"name":"state","in":"query","required":false,"schema":{"type":"string","default":"MN","title":"State"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/dashboard/disaggregation":{"get":{"tags":["Dashboard"],"summary":"Get Disaggregation Data","description":"Get the signature disaggregation comparison data (aggregated Asian vs Lao).","operationId":"get_disaggregation_data_api_dashboard_disaggregation_get","parameters":[{"name":"state","in":"query","required":false,"schema":{"type":"string","default":"MN","title":"State"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/dashboard/trends/{domain}":{"get":{"tags":["Dashboard"],"summary":"Get Domain Trends","description":"Get time-series trend data for a specific domain.","operationId":"get_domain_trends_api_dashboard_trends__domain__get","parameters":[{"name":"domain","in":"path","required":true,"schema":{"type":"string","title":"Domain"}},{"name":"start_year","in":"query","required":false,"schema":{"type":"integer","maximum":2026,"minimum":2019,"default":2019,"title":"Start Year"}},{"name":"end_year","in":"query","required":false,"schema":{"type":"integer","maximum":2026,"minimum":2019,"default":2026,"title":"End Year"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/health/metrics":{"get":{"tags":["Health"],"summary":"List Health Metrics","description":"List health metrics with optional filters.","operationId":"list_health_metrics_api_health_metrics_get","parameters":[{"name":"metric_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Metric Type"}},{"name":"geography_level","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Geography Level"}},{"name":"geography_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Geography Name"}},{"name":"year","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Year"}},{"name":"state","in":"query","required":false,"schema":{"type":"string","description":"State abbreviation (default MN)","default":"MN","title":"State"},"description":"State abbreviation (default MN)"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/HealthMetricOut"},"title":"Response List Health Metrics Api Health Metrics Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/health/metrics/{metric_id}":{"get":{"tags":["Health"],"summary":"Get Health Metric","description":"Get a specific health metric by ID.","operationId":"get_health_metric_api_health_metrics__metric_id__get","parameters":[{"name":"metric_id","in":"path","required":true,"schema":{"type":"string","title":"Metric Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthMetricOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/health/summary":{"get":{"tags":["Health"],"summary":"Health Summary","description":"Get summary of health metrics by type.","operationId":"health_summary_api_health_summary_get","parameters":[{"name":"state","in":"query","required":false,"schema":{"type":"string","default":"MN","title":"State"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/health/disparities":{"get":{"tags":["Health"],"summary":"Health Disparities","description":"Get health disparity comparisons — Lao vs state vs national vs aggregated Asian.","operationId":"health_disparities_api_health_disparities_get","parameters":[{"name":"state","in":"query","required":false,"schema":{"type":"string","default":"MN","title":"State"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/economic/indicators":{"get":{"tags":["Economic"],"summary":"List Economic Indicators","operationId":"list_economic_indicators_api_economic_indicators_get","parameters":[{"name":"indicator_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Indicator Name"}},{"name":"geography_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Geography Name"}},{"name":"year","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Year"}},{"name":"state","in":"query","required":false,"schema":{"type":"string","default":"MN","title":"State"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/EconomicIndicatorOut"},"title":"Response List Economic Indicators Api Economic Indicators Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/economic/summary":{"get":{"tags":["Economic"],"summary":"Economic Summary","operationId":"economic_summary_api_economic_summary_get","parameters":[{"name":"state","in":"query","required":false,"schema":{"type":"string","default":"MN","title":"State"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/education/data":{"get":{"tags":["Education"],"summary":"List Education Data","operationId":"list_education_data_api_education_data_get","parameters":[{"name":"indicator_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Indicator Name"}},{"name":"school_district","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"School District"}},{"name":"year","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Year"}},{"name":"state","in":"query","required":false,"schema":{"type":"string","default":"MN","title":"State"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/EducationDataOut"},"title":"Response List Education Data Api Education Data Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/education/summary":{"get":{"tags":["Education"],"summary":"Education Summary","operationId":"education_summary_api_education_summary_get","parameters":[{"name":"state","in":"query","required":false,"schema":{"type":"string","default":"MN","title":"State"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/education/districts":{"get":{"tags":["Education"],"summary":"List Districts","operationId":"list_districts_api_education_districts_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/housing/indicators":{"get":{"tags":["Housing & Social"],"summary":"List Housing Indicators","operationId":"list_housing_indicators_api_housing_indicators_get","parameters":[{"name":"indicator_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Indicator Name"}},{"name":"geography_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Geography Name"}},{"name":"year","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Year"}},{"name":"state","in":"query","required":false,"schema":{"type":"string","default":"MN","title":"State"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/HousingSocialOut"},"title":"Response List Housing Indicators Api Housing Indicators Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/housing/summary":{"get":{"tags":["Housing & Social"],"summary":"Housing Summary","operationId":"housing_summary_api_housing_summary_get","parameters":[{"name":"state","in":"query","required":false,"schema":{"type":"string","default":"MN","title":"State"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/narratives/":{"get":{"tags":["Narratives"],"summary":"List Narratives","description":"List community narratives with filters.","operationId":"list_narratives_api_narratives__get","parameters":[{"name":"language","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Language"}},{"name":"topic","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Topic"}},{"name":"sentiment_label","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sentiment Label"}},{"name":"age_group","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Age Group"}},{"name":"geography_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Geography Name"}},{"name":"state","in":"query","required":false,"schema":{"type":"string","default":"MN","title":"State"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/NarrativeOut"},"title":"Response List Narratives Api Narratives  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Narratives"],"summary":"Submit Narrative","description":"Submit a new community narrative for analysis.","operationId":"submit_narrative_api_narratives__post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NarrativeCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NarrativeOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/narratives/topics":{"get":{"tags":["Narratives"],"summary":"Get Topic Summary","description":"Get topic model summary across all narratives.","operationId":"get_topic_summary_api_narratives_topics_get","parameters":[{"name":"state","in":"query","required":false,"schema":{"type":"string","default":"MN","title":"State"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/narratives/sentiment/trends":{"get":{"tags":["Narratives"],"summary":"Get Sentiment Trends","description":"Get sentiment trends over time.","operationId":"get_sentiment_trends_api_narratives_sentiment_trends_get","parameters":[{"name":"state","in":"query","required":false,"schema":{"type":"string","default":"MN","title":"State"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/narratives/wordcloud/{language}":{"get":{"tags":["Narratives"],"summary":"Get Wordcloud","description":"Get word frequency data for word cloud visualization.","operationId":"get_wordcloud_api_narratives_wordcloud__language__get","parameters":[{"name":"language","in":"path","required":true,"schema":{"type":"string","title":"Language"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/narratives/analyze":{"post":{"tags":["Narratives"],"summary":"Analyze Narrative","description":"Analyze a narrative using the LLM-powered NLP pipeline.\nReturns deep sentiment analysis, topic extraction, and risk signals.\nFalls back to rule-based analysis if no LLM providers are configured.","operationId":"analyze_narrative_api_narratives_analyze_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NarrativeCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/narratives/analyze-batch":{"post":{"tags":["Narratives"],"summary":"Analyze Narratives Batch","description":"Run LLM-powered batch analysis on recent narratives.\nReturns individual analyses + corpus-level topic discovery.","operationId":"analyze_narratives_batch_api_narratives_analyze_batch_post","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"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/narratives/nlp-status":{"get":{"tags":["Narratives"],"summary":"Nlp Pipeline Status","description":"Get the status of the NLP pipeline including available engines.","operationId":"nlp_pipeline_status_api_narratives_nlp_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/predictions/":{"get":{"tags":["Predictions"],"summary":"List Predictions","description":"List risk predictions with filters.","operationId":"list_predictions_api_predictions__get","parameters":[{"name":"prediction_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prediction Type"}},{"name":"risk_level","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Risk Level"}},{"name":"geography_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Geography Name"}},{"name":"fairness_status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fairness Status"}},{"name":"state","in":"query","required":false,"schema":{"type":"string","default":"MN","title":"State"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RiskPredictionOut"},"title":"Response List Predictions Api Predictions  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/predictions/summary/{prediction_type}":{"get":{"tags":["Predictions"],"summary":"Prediction Summary","description":"Get summary statistics for a prediction type.","operationId":"prediction_summary_api_predictions_summary__prediction_type__get","parameters":[{"name":"prediction_type","in":"path","required":true,"schema":{"type":"string","title":"Prediction Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/predictions/risk-map/{prediction_type}":{"get":{"tags":["Predictions"],"summary":"Risk Map","description":"Get geographic risk aggregation for map visualization.","operationId":"risk_map_api_predictions_risk_map__prediction_type__get","parameters":[{"name":"prediction_type","in":"path","required":true,"schema":{"type":"string","title":"Prediction Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/predictions/trends/{prediction_type}":{"get":{"tags":["Predictions"],"summary":"Prediction Trends","description":"Get risk trends over time for a prediction type.","operationId":"prediction_trends_api_predictions_trends__prediction_type__get","parameters":[{"name":"prediction_type","in":"path","required":true,"schema":{"type":"string","title":"Prediction Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/predictions/fairness/{prediction_type}":{"get":{"tags":["Predictions"],"summary":"Fairness Report","description":"Get algorithmic fairness report for a model.","operationId":"fairness_report_api_predictions_fairness__prediction_type__get","parameters":[{"name":"prediction_type","in":"path","required":true,"schema":{"type":"string","title":"Prediction Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FairnessReportOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/predictions/predict":{"post":{"tags":["Predictions"],"summary":"Predict Individual","description":"Run an individual risk prediction with full SHAP-style explanation.\n\nSupported model_types: gambling, dropout, mental_health, elder_isolation","operationId":"predict_individual_api_predictions_predict_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PredictRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/predictions/feature-importance/{model_type}":{"get":{"tags":["Predictions"],"summary":"Feature Importance","description":"Get global SHAP feature importance for a model type.","operationId":"feature_importance_api_predictions_feature_importance__model_type__get","parameters":[{"name":"model_type","in":"path","required":true,"schema":{"type":"string","title":"Model Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/predictions/model-card/{model_type}":{"get":{"tags":["Predictions"],"summary":"Model Card Endpoint","description":"Get the model card with metadata, performance, and fairness info.","operationId":"model_card_endpoint_api_predictions_model_card__model_type__get","parameters":[{"name":"model_type","in":"path","required":true,"schema":{"type":"string","title":"Model Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/predictions/models":{"get":{"tags":["Predictions"],"summary":"List Models","description":"List all available ML models with summary info.","operationId":"list_models_api_predictions_models_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/governance/overview":{"get":{"tags":["Governance"],"summary":"Governance Overview","description":"Public overview of data governance framework.","operationId":"governance_overview_api_governance_overview_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/governance/privacy-policy":{"get":{"tags":["Governance"],"summary":"Privacy Policy","description":"Data privacy policy details.","operationId":"privacy_policy_api_governance_privacy_policy_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/governance/stakeholders":{"get":{"tags":["Governance"],"summary":"List Stakeholders","description":"List partner organizations.","operationId":"list_stakeholders_api_governance_stakeholders_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/governance/geographic-areas":{"get":{"tags":["Governance"],"summary":"List Geographic Areas","description":"List geographic areas for map visualization.","operationId":"list_geographic_areas_api_governance_geographic_areas_get","parameters":[{"name":"level","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Level"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/consent":{"get":{"tags":["Admin"],"summary":"List Consent Records","operationId":"list_consent_records_api_admin_consent_get","parameters":[{"name":"consent_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Consent Type"}},{"name":"is_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ConsentRecordOut"},"title":"Response List Consent Records Api Admin Consent Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Admin"],"summary":"Create Consent","operationId":"create_consent_api_admin_consent_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsentCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsentRecordOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/consent/{consent_id}/revoke":{"post":{"tags":["Admin"],"summary":"Revoke Consent","operationId":"revoke_consent_api_admin_consent__consent_id__revoke_post","parameters":[{"name":"consent_id","in":"path","required":true,"schema":{"type":"string","title":"Consent Id"}},{"name":"reason","in":"query","required":false,"schema":{"type":"string","default":"","title":"Reason"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/consent/stats":{"get":{"tags":["Admin"],"summary":"Consent Stats","operationId":"consent_stats_api_admin_consent_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/admin/irb":{"get":{"tags":["Admin"],"summary":"List Irb Reviews","operationId":"list_irb_reviews_api_admin_irb_get","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/IRBReviewOut"},"title":"Response List Irb Reviews Api Admin Irb Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/irb/{review_id}/approve":{"post":{"tags":["Admin"],"summary":"Approve Irb","operationId":"approve_irb_api_admin_irb__review_id__approve_post","parameters":[{"name":"review_id","in":"path","required":true,"schema":{"type":"string","title":"Review Id"}},{"name":"notes","in":"query","required":false,"schema":{"type":"string","default":"","title":"Notes"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/audit-log":{"get":{"tags":["Admin"],"summary":"List Audit Logs","operationId":"list_audit_logs_api_admin_audit_log_get","parameters":[{"name":"action_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Action Type"}},{"name":"resource_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resource Type"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AuditLogOut"},"title":"Response List Audit Logs Api Admin Audit Log Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/data-overview":{"get":{"tags":["Admin"],"summary":"Data Overview","description":"Admin overview of all data in the system.","operationId":"data_overview_api_admin_data_overview_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/data-sync/status":{"get":{"tags":["Data Sync"],"summary":"Get Sync Status","description":"Get current data synchronization status across all sources.","operationId":"get_sync_status_api_data_sync_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/data-sync/pipelines":{"get":{"tags":["Data Sync"],"summary":"List Pipelines","description":"List all available data ingestion pipelines.","operationId":"list_pipelines_api_data_sync_pipelines_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/data-sync/run-all":{"post":{"tags":["Data Sync"],"summary":"Trigger Full Sync","description":"Trigger a full data sync across all public data sources. Requires admin role.","operationId":"trigger_full_sync_api_data_sync_run_all_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/data-sync/run/{pipeline_name}":{"post":{"tags":["Data Sync"],"summary":"Trigger Single Pipeline","description":"Trigger a single data ingestion pipeline.","operationId":"trigger_single_pipeline_api_data_sync_run__pipeline_name__post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"pipeline_name","in":"path","required":true,"schema":{"type":"string","title":"Pipeline Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/data-sync/data-sources":{"get":{"tags":["Data Sync"],"summary":"Get Data Sources Info","description":"Public endpoint listing all data sources used by the portal.","operationId":"get_data_sources_info_api_data_sync_data_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/research/cross-tabulation":{"get":{"tags":["Research Analytics"],"summary":"Cross Tabulation","operationId":"cross_tabulation_api_research_cross_tabulation_get","parameters":[{"name":"row_variable","in":"query","required":true,"schema":{"type":"string","description":"Variable for rows (e.g., age_group, gender, county)","title":"Row Variable"},"description":"Variable for rows (e.g., age_group, gender, county)"},{"name":"col_variable","in":"query","required":true,"schema":{"type":"string","description":"Variable for columns (e.g., employment_status, education_level)","title":"Col Variable"},"description":"Variable for columns (e.g., employment_status, education_level)"},{"name":"measure","in":"query","required":false,"schema":{"type":"string","description":"Measure: count, percent_row, percent_col, percent_total","default":"count","title":"Measure"},"description":"Measure: count, percent_row, percent_col, percent_total"},{"name":"state","in":"query","required":false,"schema":{"type":"string","default":"MN","title":"State"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/research/cohort-analysis":{"get":{"tags":["Research Analytics"],"summary":"Cohort Analysis","description":"Cohort analysis comparing outcomes across demographic groupings.\nUseful for studying intergenerational patterns (1st gen vs 2nd gen).","operationId":"cohort_analysis_api_research_cohort_analysis_get","parameters":[{"name":"cohort_type","in":"query","required":false,"schema":{"type":"string","description":"Cohort dimension: generation, age_group, arrival_decade","default":"generation","title":"Cohort Type"},"description":"Cohort dimension: generation, age_group, arrival_decade"},{"name":"metrics","in":"query","required":false,"schema":{"type":"string","description":"Comma-separated metrics to compare","default":"income,education,health","title":"Metrics"},"description":"Comma-separated metrics to compare"},{"name":"state","in":"query","required":false,"schema":{"type":"string","default":"MN","title":"State"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/research/disparity-index":{"get":{"tags":["Research Analytics"],"summary":"Disparity Index","operationId":"disparity_index_api_research_disparity_index_get","parameters":[{"name":"reference_group","in":"query","required":false,"schema":{"type":"string","description":"Reference group for comparison","default":"state_average","title":"Reference Group"},"description":"Reference group for comparison"},{"name":"domains","in":"query","required":false,"schema":{"type":"string","description":"Domains to include","default":"health,economic,education,housing","title":"Domains"},"description":"Domains to include"},{"name":"state","in":"query","required":false,"schema":{"type":"string","default":"MN","title":"State"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/research/statistical-summary":{"get":{"tags":["Research Analytics"],"summary":"Statistical Summary","description":"Generate descriptive statistics for a variable, optionally grouped.","operationId":"statistical_summary_api_research_statistical_summary_get","parameters":[{"name":"variable","in":"query","required":true,"schema":{"type":"string","description":"Variable to summarize","title":"Variable"},"description":"Variable to summarize"},{"name":"group_by","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional grouping variable","title":"Group By"},"description":"Optional grouping variable"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/research/export/csv-config":{"get":{"tags":["Research Analytics"],"summary":"Get Export Config","description":"Get available data export configurations for research use.","operationId":"get_export_config_api_research_export_csv_config_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/alerts/":{"get":{"tags":["Alerts"],"summary":"List Alerts","description":"List all alerts, optionally filtered by severity or status.","operationId":"list_alerts_api_alerts__get","parameters":[{"name":"severity","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter: critical, high, medium, low","title":"Severity"},"description":"Filter: critical, high, medium, low"},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter: active, acknowledged, resolved","title":"Status"},"description":"Filter: active, acknowledged, resolved"},{"name":"state","in":"query","required":false,"schema":{"type":"string","description":"State abbreviation (default MN)","default":"MN","title":"State"},"description":"State abbreviation (default MN)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/alerts/rules":{"get":{"tags":["Alerts"],"summary":"List Alert Rules","description":"List all configured alert rules.","operationId":"list_alert_rules_api_alerts_rules_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/alerts/{alert_id}/acknowledge":{"post":{"tags":["Alerts"],"summary":"Acknowledge Alert","description":"Acknowledge an alert.","operationId":"acknowledge_alert_api_alerts__alert_id__acknowledge_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"alert_id","in":"path","required":true,"schema":{"type":"string","title":"Alert Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/alerts/{alert_id}/resolve":{"post":{"tags":["Alerts"],"summary":"Resolve Alert","description":"Resolve an alert.","operationId":"resolve_alert_api_alerts__alert_id__resolve_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"alert_id","in":"path","required":true,"schema":{"type":"string","title":"Alert Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/insights/data-narrative/{domain}":{"get":{"tags":["AI Insights"],"summary":"Get Data Narrative","description":"Generate an AI-powered narrative summary for a data domain.","operationId":"get_data_narrative_api_insights_data_narrative__domain__get","parameters":[{"name":"domain","in":"path","required":true,"schema":{"type":"string","title":"Domain"}},{"name":"state","in":"query","required":false,"schema":{"type":"string","default":"MN","title":"State"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/insights/cross-domain":{"get":{"tags":["AI Insights"],"summary":"Get Cross Domain Insights","description":"Discover insights across multiple data domains.","operationId":"get_cross_domain_insights_api_insights_cross_domain_get","parameters":[{"name":"state","in":"query","required":false,"schema":{"type":"string","default":"MN","title":"State"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/insights/equity-report":{"get":{"tags":["AI Insights"],"summary":"Get Equity Report","description":"Generate a comprehensive equity assessment report.","operationId":"get_equity_report_api_insights_equity_report_get","parameters":[{"name":"state","in":"query","required":false,"schema":{"type":"string","default":"MN","title":"State"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/insights/narrative-themes":{"get":{"tags":["AI Insights"],"summary":"Get Narrative Themes","description":"AI-synthesized themes from community narratives.","operationId":"get_narrative_themes_api_insights_narrative_themes_get","parameters":[{"name":"state","in":"query","required":false,"schema":{"type":"string","default":"MN","title":"State"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/federal/minnesota-context":{"get":{"tags":["Federal Data"],"summary":"Minnesota Context","description":"Get Minnesota state-level statistics for comparison.","operationId":"minnesota_context_api_federal_minnesota_context_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/federal/lao-community-profile":{"get":{"tags":["Federal Data"],"summary":"Lao Community Profile","description":"Fetch comprehensive Lao community profile from live Census data (Minnesota, back-compat).","operationId":"lao_community_profile_api_federal_lao_community_profile_get","parameters":[{"name":"year","in":"query","required":false,"schema":{"type":"integer","description":"ACS 5-year estimate year (2019-2023)","default":2022,"title":"Year"},"description":"ACS 5-year estimate year (2019-2023)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/federal/lao-dashboard-kpis":{"get":{"tags":["Federal Data"],"summary":"Lao Dashboard Kpis","description":"Get dashboard-ready KPI metrics from live Census data (Minnesota, back-compat).","operationId":"lao_dashboard_kpis_api_federal_lao_dashboard_kpis_get","parameters":[{"name":"year","in":"query","required":false,"schema":{"type":"integer","description":"ACS 5-year estimate year","default":2022,"title":"Year"},"description":"ACS 5-year estimate year"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/federal/states":{"get":{"tags":["Federal Data"],"summary":"List State Registry","description":"List all U.S. states (and DC) in the registry. `featured_only=true`\nreturns only the top-tier states with hand-curated dashboards.","operationId":"list_state_registry_api_federal_states_get","parameters":[{"name":"featured_only","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Featured Only"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/federal/states/{abbr}/lao-profile":{"get":{"tags":["Federal Data"],"summary":"State Lao Profile","description":"Live Census-derived Lao community profile for any U.S. state.","operationId":"state_lao_profile_api_federal_states__abbr__lao_profile_get","parameters":[{"name":"abbr","in":"path","required":true,"schema":{"type":"string","title":"Abbr"}},{"name":"year","in":"query","required":false,"schema":{"type":"integer","description":"ACS 5-year estimate year","default":2022,"title":"Year"},"description":"ACS 5-year estimate year"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/federal/states/{abbr}/dashboard-kpis":{"get":{"tags":["Federal Data"],"summary":"State Dashboard Kpis","description":"Dashboard KPI summary for any U.S. state.","operationId":"state_dashboard_kpis_api_federal_states__abbr__dashboard_kpis_get","parameters":[{"name":"abbr","in":"path","required":true,"schema":{"type":"string","title":"Abbr"}},{"name":"year","in":"query","required":false,"schema":{"type":"integer","description":"ACS 5-year estimate year","default":2022,"title":"Year"},"description":"ACS 5-year estimate year"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/federal/national/lao-by-state":{"get":{"tags":["Federal Data"],"summary":"National Lao By State","description":"Lao population for every state in one call — powers the US choropleth map.","operationId":"national_lao_by_state_api_federal_national_lao_by_state_get","parameters":[{"name":"year","in":"query","required":false,"schema":{"type":"integer","description":"ACS 5-year estimate year","default":2022,"title":"Year"},"description":"ACS 5-year estimate year"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/federal/national/lao-profile":{"get":{"tags":["Federal Data"],"summary":"National Lao Profile","description":"Aggregated US-wide Lao community profile.","operationId":"national_lao_profile_api_federal_national_lao_profile_get","parameters":[{"name":"year","in":"query","required":false,"schema":{"type":"integer","description":"ACS 5-year estimate year","default":2022,"title":"Year"},"description":"ACS 5-year estimate year"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/federal/census/acs":{"get":{"tags":["Federal Data"],"summary":"Census Acs","description":"Fetch American Community Survey data.","operationId":"census_acs_api_federal_census_acs_get","parameters":[{"name":"variables","in":"query","required":false,"schema":{"type":"string","description":"Comma-separated ACS variable codes","default":"B01003_001E,B19013_001E","title":"Variables"},"description":"Comma-separated ACS variable codes"},{"name":"year","in":"query","required":false,"schema":{"type":"integer","description":"ACS year","default":2022,"title":"Year"},"description":"ACS year"},{"name":"state","in":"query","required":false,"schema":{"type":"string","description":"FIPS state code (27=Minnesota)","default":"27","title":"State"},"description":"FIPS state code (27=Minnesota)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/federal/bls/series":{"get":{"tags":["Federal Data"],"summary":"Bls Series","description":"Fetch Bureau of Labor Statistics time series.","operationId":"bls_series_api_federal_bls_series_get","parameters":[{"name":"series_ids","in":"query","required":false,"schema":{"type":"string","description":"Comma-separated BLS series IDs","default":"LAUST270000000000003","title":"Series Ids"},"description":"Comma-separated BLS series IDs"},{"name":"start_year","in":"query","required":false,"schema":{"type":"integer","default":2020,"title":"Start Year"}},{"name":"end_year","in":"query","required":false,"schema":{"type":"integer","default":2024,"title":"End Year"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/federal/fred/series":{"get":{"tags":["Federal Data"],"summary":"Fred Series","description":"Fetch Federal Reserve Economic Data.","operationId":"fred_series_api_federal_fred_series_get","parameters":[{"name":"series_id","in":"query","required":false,"schema":{"type":"string","description":"FRED series ID (e.g., MNUR for MN unemployment)","default":"MNUR","title":"Series Id"},"description":"FRED series ID (e.g., MNUR for MN unemployment)"},{"name":"start_date","in":"query","required":false,"schema":{"type":"string","default":"2020-01-01","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/federal/bea/regional":{"get":{"tags":["Federal Data"],"summary":"Bea Regional","description":"Fetch Bureau of Economic Analysis regional data.","operationId":"bea_regional_api_federal_bea_regional_get","parameters":[{"name":"table","in":"query","required":false,"schema":{"type":"string","description":"BEA table name","default":"CAINC1","title":"Table"},"description":"BEA table name"},{"name":"line_code","in":"query","required":false,"schema":{"type":"string","default":"1","title":"Line Code"}},{"name":"year","in":"query","required":false,"schema":{"type":"string","default":"2022","title":"Year"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/platform/compare":{"get":{"tags":["Platform (cross-state)"],"summary":"Compare States","operationId":"compare_states_api_platform_compare_get","parameters":[{"name":"states","in":"query","required":true,"schema":{"type":"string","description":"Comma-separated state abbreviations (e.g. CA,MN,WA)","title":"States"},"description":"Comma-separated state abbreviations (e.g. CA,MN,WA)"},{"name":"metric","in":"query","required":true,"schema":{"type":"string","description":"Metric id from /methodology/metrics","title":"Metric"},"description":"Metric id from /methodology/metrics"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/platform/national/summary":{"get":{"tags":["Platform (cross-state)"],"summary":"National Summary","description":"High-level national rollup. Top-10 states by Lao population, total,\nplus a list of partnership-tier states.","operationId":"national_summary_api_platform_national_summary_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/platform/methodology/metrics":{"get":{"tags":["Platform (cross-state)"],"summary":"Methodology Metrics","operationId":"methodology_metrics_api_platform_methodology_metrics_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/platform/narratives/search":{"get":{"tags":["Platform (cross-state)"],"summary":"Narrative Search","description":"Case-insensitive ILIKE search across narrative content + summary.\n\nToday only MN has narratives; for other states we return an empty result\nwith `community_data_available: false`. When other states get seeded\nnarratives we'll switch this to PG `to_tsvector` full-text search.","operationId":"narrative_search_api_platform_narratives_search_get","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":2,"description":"Search query (>=2 chars)","title":"Q"},"description":"Search query (>=2 chars)"},{"name":"state","in":"query","required":false,"schema":{"type":"string","default":"MN","title":"State"}},{"name":"theme","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Theme"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":25,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/platform/aapi-subgroups":{"get":{"tags":["Platform (cross-state)"],"summary":"Aapi Subgroup Comparison","description":"Population counts for Asian-American subgroups in a state, so the\ndisaggregation argument is visible at-a-glance: aggregate \"Asian\" masks\nvery different community sizes and outcomes.","operationId":"aapi_subgroup_comparison_api_platform_aapi_subgroups_get","parameters":[{"name":"state","in":"query","required":false,"schema":{"type":"string","default":"MN","title":"State"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/platform/subscribe":{"post":{"tags":["Platform (cross-state)"],"summary":"Subscribe","description":"Store a subscription request. Table is created lazily on first call so\nwe don't depend on a migration step.","operationId":"subscribe_api_platform_subscribe_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscribeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/platform/donate":{"post":{"tags":["Platform (cross-state)"],"summary":"Donate","description":"Record a donation intent. Real payment processing requires a Stripe\n(or similar) integration; this endpoint stores donor info + amount so the\nteam can follow up while the payment processor is being wired in.","operationId":"donate_api_platform_donate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DonateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/platform/releases":{"get":{"tags":["Platform (cross-state)"],"summary":"Releases","operationId":"releases_api_platform_releases_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/health-check":{"get":{"summary":"Health Check","operationId":"health_check_api_health_check_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"AuditLogOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"action_type":{"type":"string","title":"Action Type"},"user_role":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Role"},"resource_type":{"type":"string","title":"Resource Type"},"resource_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resource Id"},"differential_privacy_applied":{"type":"boolean","title":"Differential Privacy Applied"},"cell_suppression_applied":{"type":"boolean","title":"Cell Suppression Applied"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp"}},"type":"object","required":["id","action_type","resource_type","differential_privacy_applied","cell_suppression_applied","timestamp"],"title":"AuditLogOut"},"ConsentCreate":{"properties":{"participant_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Participant Id"},"consent_type":{"type":"string","title":"Consent Type"},"consent_method":{"type":"string","title":"Consent Method"},"language_of_consent":{"type":"string","title":"Language Of Consent","default":"english"},"consented_data_uses":{"items":{"type":"string"},"type":"array","title":"Consented Data Uses","default":[]}},"type":"object","required":["consent_type","consent_method"],"title":"ConsentCreate"},"ConsentRecordOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"participant_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Participant Id"},"consent_type":{"type":"string","title":"Consent Type"},"consent_method":{"type":"string","title":"Consent Method"},"language_of_consent":{"type":"string","title":"Language Of Consent"},"consented_data_uses":{"items":{"type":"string"},"type":"array","title":"Consented Data Uses","default":[]},"is_active":{"type":"boolean","title":"Is Active"},"granted_at":{"type":"string","format":"date-time","title":"Granted At"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"},"revoked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Revoked At"}},"type":"object","required":["id","consent_type","consent_method","language_of_consent","is_active","granted_at"],"title":"ConsentRecordOut"},"DonateRequest":{"properties":{"email":{"type":"string","title":"Email"},"first_name":{"type":"string","title":"First Name"},"last_name":{"type":"string","title":"Last Name"},"amount_cents":{"type":"integer","title":"Amount Cents"},"frequency":{"type":"string","title":"Frequency"},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"}},"type":"object","required":["email","first_name","last_name","amount_cents","frequency"],"title":"DonateRequest"},"EconomicIndicatorOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"indicator_name":{"type":"string","title":"Indicator Name"},"value":{"type":"number","title":"Value"},"unit":{"type":"string","title":"Unit"},"geography_level":{"type":"string","title":"Geography Level"},"geography_name":{"type":"string","title":"Geography Name"},"time_period_start":{"type":"string","format":"date","title":"Time Period Start"},"time_period_end":{"type":"string","format":"date","title":"Time Period End"},"comparison_state_avg":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Comparison State Avg"},"comparison_asian_agg":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Comparison Asian Agg"}},"type":"object","required":["id","indicator_name","value","unit","geography_level","geography_name","time_period_start","time_period_end"],"title":"EconomicIndicatorOut"},"EducationDataOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"indicator_name":{"type":"string","title":"Indicator Name"},"value":{"type":"number","title":"Value"},"unit":{"type":"string","title":"Unit"},"grade_level":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Grade Level"},"school_district":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"School District"},"ell_status":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ell Status"},"geography_level":{"type":"string","title":"Geography Level"},"geography_name":{"type":"string","title":"Geography Name"},"time_period_start":{"type":"string","format":"date","title":"Time Period Start"},"time_period_end":{"type":"string","format":"date","title":"Time Period End"},"comparison_state_avg":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Comparison State Avg"},"comparison_asian_agg":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Comparison Asian Agg"}},"type":"object","required":["id","indicator_name","value","unit","geography_level","geography_name","time_period_start","time_period_end"],"title":"EducationDataOut"},"FairnessReportOut":{"properties":{"model_name":{"type":"string","title":"Model Name"},"model_version":{"type":"string","title":"Model Version"},"demographic_parity":{"type":"object","title":"Demographic Parity"},"equalized_odds":{"type":"object","title":"Equalized Odds"},"calibration":{"type":"object","title":"Calibration"},"disparate_impact_ratio":{"type":"number","title":"Disparate Impact Ratio"},"overall_status":{"type":"string","title":"Overall Status"},"recommendations":{"items":{"type":"string"},"type":"array","title":"Recommendations","default":[]},"generated_at":{"type":"string","format":"date-time","title":"Generated At"}},"type":"object","required":["model_name","model_version","demographic_parity","equalized_odds","calibration","disparate_impact_ratio","overall_status","generated_at"],"title":"FairnessReportOut"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HealthMetricOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"metric_type":{"type":"string","title":"Metric Type"},"metric_name":{"type":"string","title":"Metric Name"},"value":{"type":"number","title":"Value"},"confidence_interval_low":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Confidence Interval Low"},"confidence_interval_high":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Confidence Interval High"},"sample_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sample Size"},"geography_level":{"type":"string","title":"Geography Level"},"geography_name":{"type":"string","title":"Geography Name"},"time_period_start":{"type":"string","format":"date","title":"Time Period Start"},"time_period_end":{"type":"string","format":"date","title":"Time Period End"},"data_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Data Source"},"comparison_state_avg":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Comparison State Avg"},"comparison_national_avg":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Comparison National Avg"},"comparison_asian_agg":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Comparison Asian Agg"}},"type":"object","required":["id","metric_type","metric_name","value","geography_level","geography_name","time_period_start","time_period_end"],"title":"HealthMetricOut"},"HousingSocialOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"indicator_name":{"type":"string","title":"Indicator Name"},"value":{"type":"number","title":"Value"},"unit":{"type":"string","title":"Unit"},"geography_level":{"type":"string","title":"Geography Level"},"geography_name":{"type":"string","title":"Geography Name"},"time_period_start":{"type":"string","format":"date","title":"Time Period Start"},"time_period_end":{"type":"string","format":"date","title":"Time Period End"},"comparison_state_avg":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Comparison State Avg"},"comparison_asian_agg":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Comparison Asian Agg"}},"type":"object","required":["id","indicator_name","value","unit","geography_level","geography_name","time_period_start","time_period_end"],"title":"HousingSocialOut"},"IRBReviewOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"},"status":{"type":"string","title":"Status"},"review_type":{"type":"string","title":"Review Type"},"proposed_data_uses":{"items":{"type":"string"},"type":"array","title":"Proposed Data Uses","default":[]},"affected_population":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Affected Population"},"reviewer_notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reviewer Notes"},"reviewed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Reviewed At"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","title","description","status","review_type","created_at"],"title":"IRBReviewOut"},"NarrativeCreate":{"properties":{"narrative_text":{"type":"string","title":"Narrative Text"},"language":{"type":"string","title":"Language","default":"english"},"collection_method":{"type":"string","title":"Collection Method","default":"web_form"},"geography_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Geography Name"},"age_group":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Age Group"}},"type":"object","required":["narrative_text"],"title":"NarrativeCreate"},"NarrativeOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"narrative_text":{"type":"string","title":"Narrative Text"},"language":{"type":"string","title":"Language"},"topic_tags":{"items":{"type":"string"},"type":"array","title":"Topic Tags","default":[]},"sentiment_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sentiment Score"},"sentiment_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sentiment Label"},"entities_extracted":{"type":"object","title":"Entities Extracted","default":{}},"themes":{"items":{"type":"string"},"type":"array","title":"Themes","default":[]},"risk_signals":{"type":"object","title":"Risk Signals","default":{}},"collection_method":{"type":"string","title":"Collection Method"},"is_anonymized":{"type":"boolean","title":"Is Anonymized"},"geography_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Geography Name"},"age_group":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Age Group"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","narrative_text","language","collection_method","is_anonymized","created_at"],"title":"NarrativeOut"},"PredictRequest":{"properties":{"model_type":{"type":"string","title":"Model Type"},"features":{"type":"object","title":"Features"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}},"type":"object","required":["model_type","features"],"title":"PredictRequest"},"RiskPredictionOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"prediction_type":{"type":"string","title":"Prediction Type"},"risk_score":{"type":"number","title":"Risk Score"},"risk_level":{"type":"string","title":"Risk Level"},"contributing_factors":{"type":"object","title":"Contributing Factors","default":{}},"recommended_interventions":{"items":{"type":"string"},"type":"array","title":"Recommended Interventions","default":[]},"geography_level":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Geography Level"},"geography_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Geography Name"},"confidence":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Confidence"},"model_version":{"type":"string","title":"Model Version"},"fairness_audit_status":{"type":"string","title":"Fairness Audit Status"},"human_review_status":{"type":"string","title":"Human Review Status"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","prediction_type","risk_score","risk_level","model_version","fairness_audit_status","human_review_status","created_at"],"title":"RiskPredictionOut"},"SubscribeRequest":{"properties":{"email":{"type":"string","title":"Email"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"interest":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Interest"}},"type":"object","required":["email"],"title":"SubscribeRequest"},"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"}},"securitySchemes":{"HTTPBearer":{"type":"http","scheme":"bearer"}}}}