{"openapi":"3.1.0","info":{"title":"GEONIA API","description":"Ask economic questions of live public sources (World Bank, IMF, FRED, BIS, NRCan, NGA) and GVCdtLab's licensed warehouse. Every answer carries its provenance. Guide: /developers","version":"1.0"},"paths":{"/api/v1":{"get":{"tags":["GEONIA API v1"],"summary":"API index","operationId":"index_api_v1_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Index Api V1 Get"}}}}}}},"/api/v1/questions":{"get":{"tags":["GEONIA API v1"],"summary":"List questions by research direction","operationId":"list_questions_api_v1_questions_get","parameters":[{"name":"lang","in":"query","required":false,"schema":{"type":"string","default":"en","title":"Lang"}},{"name":"direction","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Direction"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Questions Api V1 Questions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/questions/{qid}":{"get":{"tags":["GEONIA API v1"],"summary":"Question metadata: parameters, sources, caveats","operationId":"get_question_api_v1_questions__qid__get","parameters":[{"name":"qid","in":"path","required":true,"schema":{"type":"string","title":"Qid"}},{"name":"lang","in":"query","required":false,"schema":{"type":"string","default":"en","title":"Lang"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Question Api V1 Questions  Qid  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/questions/{qid}/options/{param}":{"get":{"tags":["GEONIA API v1"],"summary":"Valid values for a dynamic parameter","operationId":"question_options_api_v1_questions__qid__options__param__get","parameters":[{"name":"qid","in":"path","required":true,"schema":{"type":"string","title":"Qid"}},{"name":"param","in":"path","required":true,"schema":{"type":"string","title":"Param"}},{"name":"lang","in":"query","required":false,"schema":{"type":"string","default":"en","title":"Lang"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Question Options Api V1 Questions  Qid  Options  Param  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/questions/{qid}/answer":{"get":{"tags":["GEONIA API v1"],"summary":"Answer a question (JSON, or CSV of its table)","operationId":"answer_api_v1_questions__qid__answer_get","parameters":[{"name":"qid","in":"path","required":true,"schema":{"type":"string","title":"Qid"}},{"name":"lang","in":"query","required":false,"schema":{"type":"string","default":"en","title":"Lang"}},{"name":"format","in":"query","required":false,"schema":{"type":"string","pattern":"^(json|csv)$","default":"json","title":"Format"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/questions/{qid}/subnational":{"get":{"tags":["GEONIA API v1"],"summary":"The question's indicator recomputed by province or state","description":"Available for the macro atlas indicators that have a comparable provincial/state series.","operationId":"subnational_api_v1_questions__qid__subnational_get","parameters":[{"name":"qid","in":"path","required":true,"schema":{"type":"string","title":"Qid"}},{"name":"country","in":"query","required":true,"schema":{"type":"string","pattern":"^(CAN|USA)$","title":"Country"}},{"name":"lang","in":"query","required":false,"schema":{"type":"string","default":"en","title":"Lang"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sources":{"get":{"tags":["GEONIA API v1"],"summary":"Sources, licences and access classes","operationId":"list_sources_api_v1_sources_get","parameters":[{"name":"lang","in":"query","required":false,"schema":{"type":"string","default":"en","title":"Lang"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Sources Api V1 Sources Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/geo/countries":{"get":{"tags":["GEONIA API v1"],"summary":"Country boundaries (GeoJSON, Natural Earth 1:110m)","operationId":"geo_countries_api_v1_geo_countries_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/places/index":{"get":{"tags":["GEONIA API v1"],"summary":"Economy → region lookup used to name the place in view","operationId":"places_index_api_v1_places_index_get","parameters":[{"name":"lang","in":"query","required":false,"schema":{"type":"string","default":"en","title":"Lang"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Places Index Api V1 Places Index Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/geo/admin1":{"get":{"tags":["GEONIA API v1"],"summary":"Provinces and states of Canada and the U.S. (GeoJSON)","operationId":"geo_admin1_api_v1_geo_admin1_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/places/{level}/{code}":{"get":{"tags":["GEONIA API v1"],"summary":"Indicators for a place at its level (world, region, economy, subnational)","operationId":"place_level_api_v1_places__level___code__get","parameters":[{"name":"level","in":"path","required":true,"schema":{"type":"string","title":"Level"}},{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}},{"name":"lang","in":"query","required":false,"schema":{"type":"string","default":"en","title":"Lang"}},{"name":"indicators","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Comma-separated indicator ids; defaults per level","title":"Indicators"},"description":"Comma-separated indicator ids; defaults per level"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Place Level Api V1 Places  Level   Code  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/places/{iso3}":{"get":{"tags":["GEONIA API v1"],"summary":"Quick facts for an economy (alias of /places/economy/{iso3})","operationId":"place_api_v1_places__iso3__get","parameters":[{"name":"iso3","in":"path","required":true,"schema":{"type":"string","title":"Iso3"}},{"name":"lang","in":"query","required":false,"schema":{"type":"string","default":"en","title":"Lang"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Place Api V1 Places  Iso3  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/data/wdi/{indicator}":{"get":{"tags":["GEONIA API v1"],"summary":"Any World Bank WDI indicator (live, cached)","operationId":"data_wdi_api_v1_data_wdi__indicator__get","parameters":[{"name":"indicator","in":"path","required":true,"schema":{"type":"string","title":"Indicator"}},{"name":"countries","in":"query","required":false,"schema":{"type":"string","pattern":"^(all|[A-Za-z]{3}(;[A-Za-z]{3})*)$","default":"all","title":"Countries"}},{"name":"date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{4}(:\\d{4})?$"},{"type":"null"}],"title":"Date"}},{"name":"mrnev","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":10,"minimum":1},{"type":"null"}],"title":"Mrnev"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/data/fred/{series_id}":{"get":{"tags":["GEONIA API v1"],"summary":"Any FRED series (live, cached)","operationId":"data_fred_api_v1_data_fred__series_id__get","parameters":[{"name":"series_id","in":"path","required":true,"schema":{"type":"string","title":"Series Id"}},{"name":"start","in":"query","required":false,"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","default":"2000-01-01","title":"Start"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/data/imf/{indicator}":{"get":{"tags":["GEONIA API v1"],"summary":"IMF WEO indicator, history and projections (live, cached)","operationId":"data_imf_api_v1_data_imf__indicator__get","parameters":[{"name":"indicator","in":"path","required":true,"schema":{"type":"string","title":"Indicator"}},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{3}(,[A-Za-z]{3})*$"},{"type":"null"}],"title":"Countries"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/data/bis/policy-rates":{"get":{"tags":["GEONIA API v1"],"summary":"BIS central bank policy rates (live, cached)","operationId":"data_bis_api_v1_data_bis_policy_rates_get","parameters":[{"name":"start","in":"query","required":false,"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}$","default":"2020-01","title":"Start"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/data/statcan/search":{"get":{"tags":["GEONIA API v1"],"summary":"Search Statistics Canada tables (as statcanR::statcan_search)","operationId":"statcan_search_api_v1_data_statcan_search_get","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":2,"title":"Q"}},{"name":"lang","in":"query","required":false,"schema":{"type":"string","default":"en","title":"Lang"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"default":30,"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/data/statcan/{table}/metadata":{"get":{"tags":["GEONIA API v1"],"summary":"Dimensions and members of a Statistics Canada table","operationId":"statcan_metadata_api_v1_data_statcan__table__metadata_get","parameters":[{"name":"table","in":"path","required":true,"schema":{"type":"string","title":"Table"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/data/statcan/{table}/series":{"get":{"tags":["GEONIA API v1"],"summary":"One series by member names, latest periods first","operationId":"statcan_series_api_v1_data_statcan__table__series_get","parameters":[{"name":"table","in":"path","required":true,"schema":{"type":"string","title":"Table"}},{"name":"members","in":"query","required":true,"schema":{"type":"string","description":"Member names in dimension order, separated by |","title":"Members"},"description":"Member names in dimension order, separated by |"},{"name":"periods","in":"query","required":false,"schema":{"type":"integer","maximum":120,"minimum":1,"default":12,"title":"Periods"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/data/statcan/{table}":{"get":{"tags":["GEONIA API v1"],"summary":"A full Statistics Canada table, filtered, newest first (as statcanR::statcan_data)","operationId":"statcan_table_api_v1_data_statcan__table__get","parameters":[{"name":"table","in":"path","required":true,"schema":{"type":"string","title":"Table"}},{"name":"lang","in":"query","required":false,"schema":{"type":"string","default":"en","title":"Lang"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":20000,"minimum":1,"default":1000,"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/local/firms":{"get":{"tags":["GEONIA API v1"],"summary":"Firms in a street-level view (GeoJSON): REQ in Québec, federal corporations elsewhere, city business licences (layer=licences)","operationId":"local_firms_api_v1_local_firms_get","parameters":[{"name":"bbox","in":"query","required":true,"schema":{"type":"string","title":"Bbox"}},{"name":"lang","in":"query","required":false,"schema":{"type":"string","default":"en","title":"Lang"}},{"name":"province","in":"query","required":false,"schema":{"type":"string","default":"QC","title":"Province"}},{"name":"sector","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sector"}},{"name":"chain","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chain"}},{"name":"layer","in":"query","required":false,"schema":{"type":"string","pattern":"^(auto|entities|zips|licences)$","default":"auto","title":"Layer"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":10000,"minimum":1,"default":4000,"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/local/summary":{"get":{"tags":["GEONIA API v1"],"summary":"Street-level indicators: firms, dynamism, industries, employment","operationId":"local_summary_api_v1_local_summary_get","parameters":[{"name":"bbox","in":"query","required":true,"schema":{"type":"string","title":"Bbox"}},{"name":"lang","in":"query","required":false,"schema":{"type":"string","default":"en","title":"Lang"}},{"name":"province","in":"query","required":false,"schema":{"type":"string","default":"QC","title":"Province"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/local/employment":{"get":{"tags":["GEONIA API v1"],"summary":"Jobs per grid cell (Québec) or per ZIP code (U.S. states), GeoJSON","operationId":"local_employment_api_v1_local_employment_get","parameters":[{"name":"bbox","in":"query","required":true,"schema":{"type":"string","title":"Bbox"}},{"name":"province","in":"query","required":false,"schema":{"type":"string","default":"QC","title":"Province"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/city/montreal":{"get":{"tags":["GEONIA API v1"],"summary":"Montréal city layers available at street level","operationId":"city_catalogue_api_v1_city_montreal_get","parameters":[{"name":"lang","in":"query","required":false,"schema":{"type":"string","default":"en","title":"Lang"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/city/montreal/{layer}":{"get":{"tags":["GEONIA API v1"],"summary":"One Montréal city layer in a box (GeoJSON), live from the city portal","operationId":"city_layer_api_v1_city_montreal__layer__get","parameters":[{"name":"layer","in":"path","required":true,"schema":{"type":"string","title":"Layer"}},{"name":"bbox","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bbox"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/units/catalogue":{"get":{"tags":["GEONIA API v1"],"summary":"Census-unit levels, indicators and sectors for /units (Québec or France, from `region` or the view's `bbox`)","operationId":"units_catalogue_api_v1_units_catalogue_get","parameters":[{"name":"lang","in":"query","required":false,"schema":{"type":"string","default":"en","title":"Lang"}},{"name":"region","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^(ca|qc|fr|us|jp|no)$"},{"type":"null"}],"title":"Region"}},{"name":"bbox","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bbox"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/units":{"get":{"tags":["GEONIA API v1"],"summary":"Census units in view (GeoJSON) with firm-register indicators, aggregate statistics and the quarterly series of the view — Québec (REQ) or France (SIRENE)","description":"Québec: dissemination areas (da), census tracts (ct) or municipalities (csd); U.S. (New York and the Great Lakes states): census tracts (tract) or counties (county); France: IRIS (iris), départements (dep) or\ncommunes with Paris arrondissements (com) — units intersecting the box. Each feature carries\nthe chosen indicator in `value`; `stats` aggregates the units in view (ratios computed on the totals),\n`distribution` describes the indicator across them, `series` is the quarterly panel summed over them, newest first.","operationId":"units_in_view_api_v1_units_get","parameters":[{"name":"bbox","in":"query","required":true,"schema":{"type":"string","title":"Bbox"}},{"name":"level","in":"query","required":false,"schema":{"type":"string","pattern":"^(da|ct|csd|cd|iris|com|dep|tract|county|muni|gk|kom|fylke)$","default":"ct","title":"Level"}},{"name":"indicator","in":"query","required":false,"schema":{"type":"string","default":"firms_per_1000","title":"Indicator"}},{"name":"sector","in":"query","required":false,"schema":{"type":"string","default":"all","title":"Sector"}},{"name":"lang","in":"query","required":false,"schema":{"type":"string","default":"en","title":"Lang"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/units/population":{"get":{"tags":["GEONIA API v1"],"summary":"Population as points (census, dot density) in a box — Québec or France","description":"One dot per 25 residents placed inside its dissemination area (Québec) or IRIS (France); beyond 40,000 dots a view is thinned evenly\n(`residents_per_dot` says how many residents each returned dot stands for).","operationId":"units_population_api_v1_units_population_get","parameters":[{"name":"bbox","in":"query","required":true,"schema":{"type":"string","title":"Bbox"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/panel/req":{"get":{"tags":["GEONIA API v1"],"summary":"Quarterly REQ panel by census unit and sector, newest quarter first (JSON or CSV)","description":"Active entities at quarter end, entries, exits and estimated jobs, 1996Q1 → today, for one unit (`uid`), every\nunit in a box (`bbox`), or Québec (`level=qc`). Reconstructed from registration and strike-off dates with each\nentity's latest address, activity and size.","operationId":"req_panel_api_v1_panel_req_get","parameters":[{"name":"level","in":"query","required":false,"schema":{"type":"string","pattern":"^(da|ct|csd|qc)$","default":"qc","title":"Level"}},{"name":"uid","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Uid"}},{"name":"bbox","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bbox"}},{"name":"sector","in":"query","required":false,"schema":{"type":"string","default":"all","title":"Sector"}},{"name":"start","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{4}Q[1-4]$"},{"type":"null"}],"title":"Start"}},{"name":"end","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{4}Q[1-4]$"},{"type":"null"}],"title":"End"}},{"name":"format","in":"query","required":false,"schema":{"type":"string","pattern":"^(json|csv)$","default":"json","title":"Format"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/panel/sirene":{"get":{"tags":["GEONIA API v1"],"summary":"Quarterly SIRENE establishment panel for metropolitan France by IRIS, commune and sector, newest quarter first (JSON or CSV)","description":"Active establishments at quarter end, creations, closures and estimated salaried jobs, 2000Q1 → today, for one\nIRIS or commune (`uid`), every unit in a box (`bbox`), or France (`level=fr`). Reconstructed from creation and\nclosure dates with each establishment's latest address, activity and size band.","operationId":"sirene_panel_api_v1_panel_sirene_get","parameters":[{"name":"level","in":"query","required":false,"schema":{"type":"string","pattern":"^(iris|com|dep|fr)$","default":"fr","title":"Level"}},{"name":"uid","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Uid"}},{"name":"bbox","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bbox"}},{"name":"sector","in":"query","required":false,"schema":{"type":"string","default":"all","title":"Sector"}},{"name":"start","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{4}Q[1-4]$"},{"type":"null"}],"title":"Start"}},{"name":"end","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{4}Q[1-4]$"},{"type":"null"}],"title":"End"}},{"name":"format","in":"query","required":false,"schema":{"type":"string","pattern":"^(json|csv)$","default":"json","title":"Format"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/local/gdp":{"get":{"tags":["GEONIA API v1"],"summary":"Québec GDP per grid cell, downscaled from GDP by industry with REQ jobs (GeoJSON)","description":"Dasymetric estimate: provincial GDP by industry (StatCan 36-10-0402-01, latest year) spread over the REQ's\nestimated jobs by sector, then scaled so each CMA matches StatCan's GDP by CMA (36-10-0468-01). Cells get finer\nas the box shrinks (about 44 across, never under ~300 m).","operationId":"local_gdp_api_v1_local_gdp_get","parameters":[{"name":"bbox","in":"query","required":true,"schema":{"type":"string","title":"Bbox"}},{"name":"lang","in":"query","required":false,"schema":{"type":"string","default":"en","title":"Lang"}},{"name":"calibrate","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Calibrate"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/local/supply-chain":{"get":{"tags":["GEONIA API v1"],"summary":"Provincial input-output partners of a sector and their presence in view","operationId":"local_supply_chain_api_v1_local_supply_chain_get","parameters":[{"name":"bbox","in":"query","required":true,"schema":{"type":"string","title":"Bbox"}},{"name":"sector","in":"query","required":true,"schema":{"type":"string","title":"Sector"}},{"name":"lang","in":"query","required":false,"schema":{"type":"string","default":"en","title":"Lang"}},{"name":"province","in":"query","required":false,"schema":{"type":"string","default":"QC","title":"Province"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/local/sectors":{"get":{"tags":["GEONIA API v1"],"summary":"The 17 sectors used for firms and supply chains","operationId":"local_sectors_api_v1_local_sectors_get","parameters":[{"name":"lang","in":"query","required":false,"schema":{"type":"string","default":"en","title":"Lang"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/local/name-sectors":{"get":{"tags":["GEONIA API v1"],"summary":"New York entities in view by sector estimated from their names","operationId":"local_name_sectors_api_v1_local_name_sectors_get","parameters":[{"name":"bbox","in":"query","required":true,"schema":{"type":"string","title":"Bbox"}},{"name":"lang","in":"query","required":false,"schema":{"type":"string","default":"en","title":"Lang"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/local/traffic":{"get":{"tags":["GEONIA API v1"],"summary":"Traffic volumes, roadworks and cameras in view (Québec: MTMD; New York: NYSDOT, NYC DOT; Paris: permanent road counters, disruptive roadworks)","operationId":"local_traffic_api_v1_local_traffic_get","parameters":[{"name":"bbox","in":"query","required":true,"schema":{"type":"string","title":"Bbox"}},{"name":"lang","in":"query","required":false,"schema":{"type":"string","default":"en","title":"Lang"}},{"name":"province","in":"query","required":false,"schema":{"type":"string","default":"QC","title":"Province"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/local/weather":{"get":{"tags":["GEONIA API v1"],"summary":"Current weather and 3-day outlook at a point (Open-Meteo)","operationId":"local_weather_api_v1_local_weather_get","parameters":[{"name":"lat","in":"query","required":true,"schema":{"type":"number","maximum":90,"minimum":-90,"title":"Lat"}},{"name":"lon","in":"query","required":true,"schema":{"type":"number","maximum":180,"minimum":-180,"title":"Lon"}},{"name":"lang","in":"query","required":false,"schema":{"type":"string","default":"en","title":"Lang"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/live/vessels":{"get":{"tags":["GEONIA API v1"],"summary":"Live AIS vessel positions (aisstream.io; needs GEONIA_AISSTREAM_KEY)","operationId":"live_vessels_api_v1_live_vessels_get","parameters":[{"name":"bbox","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bbox"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/layers/ports":{"get":{"tags":["GEONIA API v1"],"summary":"World Port Index (GeoJSON)","operationId":"layer_ports_api_v1_layers_ports_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/layers/mines":{"get":{"tags":["GEONIA API v1"],"summary":"NRCan producing mines & facilities (GeoJSON)","operationId":"layer_mines_api_v1_layers_mines_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/sql/schema":{"get":{"tags":["GEONIA API v1"],"summary":"Warehouse tables and columns","operationId":"sql_schema_api_v1_sql_schema_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/sql":{"post":{"tags":["GEONIA API v1"],"summary":"Run one read-only SELECT on the warehouse (licensed)","operationId":"sql_api_v1_sql_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Payload","examples":[{"query":"SELECT new_importer, count(*) AS n FROM cca_export WHERE cca_tau > 0 GROUP BY 1 ORDER BY n DESC LIMIT 10"}]}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/projection/country/{iso3}":{"get":{"tags":["GEONIA API v1"],"summary":"Cohort-component (low / mid / high) and trend population projection of one economy","operationId":"projection_country_api_v1_projection_country__iso3__get","parameters":[{"name":"iso3","in":"path","required":true,"schema":{"type":"string","title":"Iso3"}},{"name":"target","in":"query","required":false,"schema":{"type":"integer","maximum":2100,"minimum":2025,"default":2050,"title":"Target"}},{"name":"tfr_target","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":8,"minimum":0},{"type":"null"}],"title":"Tfr Target"}},{"name":"migration","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Migration"}},{"name":"since","in":"query","required":false,"schema":{"type":"integer","maximum":2020,"minimum":1960,"default":1990,"title":"Since"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/foresight/projection":{"get":{"tags":["GEONIA API v1"],"summary":"Population projection of the census units in view (GeoJSON)","operationId":"foresight_projection_api_v1_foresight_projection_get","parameters":[{"name":"bbox","in":"query","required":true,"schema":{"type":"string","title":"Bbox"}},{"name":"level","in":"query","required":true,"schema":{"type":"string","pattern":"^(da|ct|csd|cd|iris|com|dep|tract|county|muni|gk|kom|fylke)$","title":"Level"}},{"name":"target","in":"query","required":false,"schema":{"type":"integer","maximum":2070,"minimum":2025,"default":2040,"title":"Target"}},{"name":"tfr_target","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":8,"minimum":0},{"type":"null"}],"title":"Tfr Target"}},{"name":"migration","in":"query","required":false,"schema":{"type":"string","pattern":"^(local|national)$","default":"local","title":"Migration"}},{"name":"lang","in":"query","required":false,"schema":{"type":"string","default":"en","title":"Lang"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/foresight/vulnerability/catalogue":{"get":{"tags":["GEONIA API v1"],"summary":"Hazard presets and their indicators","operationId":"foresight_catalogue_api_v1_foresight_vulnerability_catalogue_get","parameters":[{"name":"lang","in":"query","required":false,"schema":{"type":"string","default":"en","title":"Lang"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/foresight/vulnerability":{"get":{"tags":["GEONIA API v1"],"summary":"Vulnerability index of the census units in view (GeoJSON)","operationId":"foresight_vulnerability_api_v1_foresight_vulnerability_get","parameters":[{"name":"bbox","in":"query","required":true,"schema":{"type":"string","title":"Bbox"}},{"name":"level","in":"query","required":true,"schema":{"type":"string","pattern":"^(da|ct|csd|cd|iris|com|dep|tract|county|muni|gk|kom|fylke)$","title":"Level"}},{"name":"hazard","in":"query","required":false,"schema":{"type":"string","pattern":"^(heat|flood|earthquake|composite)$","default":"heat","title":"Hazard"}},{"name":"method","in":"query","required":false,"schema":{"type":"string","pattern":"^(geometric|jenks|quantile|equal)$","default":"geometric","title":"Method"}},{"name":"off","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"comma-separated indicator keys to switch off","title":"Off"},"description":"comma-separated indicator keys to switch off"},{"name":"lang","in":"query","required":false,"schema":{"type":"string","default":"en","title":"Lang"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["GEONIA API v1"],"summary":"Custom vulnerability index (indicators in the body)","operationId":"foresight_vulnerability_custom_api_v1_foresight_vulnerability_post","parameters":[{"name":"bbox","in":"query","required":true,"schema":{"type":"string","title":"Bbox"}},{"name":"level","in":"query","required":true,"schema":{"type":"string","pattern":"^(da|ct|csd|cd|iris|com|dep|tract|county|muni|gk|kom|fylke)$","title":"Level"}},{"name":"method","in":"query","required":false,"schema":{"type":"string","pattern":"^(geometric|jenks|quantile|equal)$","default":"geometric","title":"Method"}},{"name":"lang","in":"query","required":false,"schema":{"type":"string","default":"en","title":"Lang"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"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"},"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"}}}}