{"openapi":"3.1.0","info":{"title":"eolas.fyi API","description":"NZ statistics + OECD international comparisons via a single REST API. Sources: Stats NZ, RBNZ, NZ Treasury, LINZ, NZTA, MBIE, MSD, NZ Police, MoJ, ACC, Education Counts, WorkSafe, OECD. Updated weekly.\n\n**Getting started:** Click **Authorize** (top right) and enter your API key to try live requests. Get a free key at [https://eolas.fyi/signup](https://eolas.fyi/signup).\n\nAll `/data` endpoints default to `nz_cpi` (NZ Consumer Price Index) so you can hit **Execute** straight away.","version":"0.1.0"},"paths":{"/health":{"get":{"tags":["meta"],"summary":"Health","description":"Liveness — fast, no external calls. Used by nginx upstream check + UptimeRobot.","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/health/full":{"get":{"tags":["meta"],"summary":"Health Full","description":"Readiness — checks DB, S3, Glue catalog. Cached for 60s.","operationId":"health_full_health_full_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/datasets":{"get":{"tags":["datasets"],"summary":"List Datasets","operationId":"list_datasets_v1_datasets_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/DatasetMeta"},"type":"array","title":"Response List Datasets V1 Datasets Get"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/datasets/{name}":{"get":{"tags":["datasets"],"summary":"Get Dataset Meta","operationId":"get_dataset_meta_v1_datasets__name__get","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"},"example":"nz_cpi"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetMeta"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/datasets/{name}/preview":{"get":{"tags":["datasets"],"summary":"Get Dataset Preview","description":"Return up to 10 rows for the dataset browser — no API key required.","operationId":"get_dataset_preview_v1_datasets__name__preview_get","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"},"example":"nz_cpi"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/datasets/{name}/data":{"get":{"tags":["datasets"],"summary":"Get Dataset Data","description":"Returns the dataset as JSON or CSV. Streams from Iceberg so any dataset\nsize is supported — clients consuming the full dataset should pass `limit=0`.\nDefault 100 rows when limit is omitted, to protect casual callers from\naccidentally pulling millions of rows.","operationId":"get_dataset_data_v1_datasets__name__data_get","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"},"example":"nz_cpi"},{"name":"start","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Start date inclusive (YYYY-MM-DD)","title":"Start"},"description":"Start date inclusive (YYYY-MM-DD)","example":"2020-01-01"},{"name":"end","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"End date inclusive (YYYY-MM-DD)","title":"End"},"description":"End date inclusive (YYYY-MM-DD)","example":"2024-12-31"},{"name":"dimensions","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter rows where any dimension column contains this string (case-insensitive)","title":"Dimensions"},"description":"Filter rows where any dimension column contains this string (case-insensitive)"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Max rows to return. Pass 0 for the full dataset (Pro tier; Free/Starter capped at 50,000).","default":100,"title":"Limit"},"description":"Max rows to return. Pass 0 for the full dataset (Pro tier; Free/Starter capped at 50,000)."},{"name":"format","in":"query","required":false,"schema":{"type":"string","description":"Response format: json or csv","default":"json","title":"Format"},"description":"Response format: json or csv"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/integrations/meltano":{"get":{"tags":["integrations"],"summary":"Integration Meltano","description":"Generate a Meltano project (uses `tap-rest-api-msdk`) for the requested datasets.","operationId":"integration_meltano_v1_integrations_meltano_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"datasets","in":"query","required":true,"schema":{"type":"string","description":"Comma-separated dataset names, e.g. 'nz_cpi,nz_gdp'.","title":"Datasets"},"description":"Comma-separated dataset names, e.g. 'nz_cpi,nz_gdp'."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/integrations/fivetran":{"get":{"tags":["integrations"],"summary":"Integration Fivetran","description":"Generate a Fivetran Connector Builder YAML for the requested datasets.","operationId":"integration_fivetran_v1_integrations_fivetran_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"datasets","in":"query","required":true,"schema":{"type":"string","description":"Comma-separated dataset names.","title":"Datasets"},"description":"Comma-separated dataset names."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/integrations/azure-data-factory":{"get":{"tags":["integrations"],"summary":"Integration Adf","description":"Generate Azure Data Factory linked-service / dataset / pipeline JSON.","operationId":"integration_adf_v1_integrations_azure_data_factory_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"datasets","in":"query","required":true,"schema":{"type":"string","description":"Comma-separated dataset names.","title":"Datasets"},"description":"Comma-separated dataset names."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"DatasetMeta":{"properties":{"name":{"type":"string","title":"Name"},"namespace":{"type":"string","title":"Namespace"},"source":{"type":"string","title":"Source"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},"type":"object","required":["name","namespace","source"],"title":"DatasetMeta"},"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"}},"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-Key"}}}}