{"openapi":"3.1.0","info":{"title":"Apizie","version":"2.0.0","description":"One API key, one envelope, many public data sources."},"servers":[{"url":"https://apizie.tech"}],"security":[{"ApiKeyAuth":[]}],"paths":{"/v1/places:open-meteo/forecast":{"get":{"operationId":"places_open_meteo_forecast","summary":"Forecast","description":"Current conditions plus hourly and daily forecast for a coordinate.","tags":["places"],"parameters":[{"name":"latitude","in":"query","required":true,"schema":{"type":"number"},"example":48.8566},{"name":"longitude","in":"query","required":true,"schema":{"type":"number"},"example":2.3522},{"name":"current","in":"query","required":false,"description":"Comma-separated current variables","schema":{"type":"string","default":"temperature_2m,relative_humidity_2m,apparent_temperature,precipitation,weather_code,wind_speed_10m","description":"Comma-separated current variables"}},{"name":"hourly","in":"query","required":false,"description":"Comma-separated hourly variables, e.g. temperature_2m,precipitation_probability","schema":{"type":"string","description":"Comma-separated hourly variables, e.g. temperature_2m,precipitation_probability"}},{"name":"daily","in":"query","required":false,"description":"Comma-separated daily variables","schema":{"type":"string","default":"temperature_2m_max,temperature_2m_min,precipitation_sum,sunrise,sunset","description":"Comma-separated daily variables"}},{"name":"forecastDays","in":"query","required":false,"schema":{"type":"integer","default":7,"minimum":1,"maximum":16}},{"name":"timezone","in":"query","required":false,"schema":{"type":"string","default":"auto"}},{"name":"temperatureUnit","in":"query","required":false,"schema":{"type":"string","enum":["celsius","fahrenheit"],"default":"celsius"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":900,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"live"}},"/v1/places:open-meteo/history":{"get":{"operationId":"places_open_meteo_history","summary":"Historical weather","description":"Daily weather history from the ERA5 archive (1940 to a few days ago).","tags":["places"],"parameters":[{"name":"latitude","in":"query","required":true,"schema":{"type":"number"},"example":40.71},{"name":"longitude","in":"query","required":true,"schema":{"type":"number"},"example":-74.01},{"name":"startDate","in":"query","required":true,"schema":{"type":"string"},"example":"2024-01-01"},{"name":"endDate","in":"query","required":true,"schema":{"type":"string"},"example":"2024-01-31"},{"name":"daily","in":"query","required":false,"schema":{"type":"string","default":"temperature_2m_max,temperature_2m_min,precipitation_sum"}},{"name":"timezone","in":"query","required":false,"schema":{"type":"string","default":"auto"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":86400,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"live"}},"/v1/places:open-meteo/air-quality":{"get":{"operationId":"places_open_meteo_air_quality","summary":"Air quality","description":"Current and hourly air quality (PM2.5, PM10, ozone, US and European AQI).","tags":["places"],"parameters":[{"name":"latitude","in":"query","required":true,"schema":{"type":"number"},"example":28.61},{"name":"longitude","in":"query","required":true,"schema":{"type":"number"},"example":77.21},{"name":"current","in":"query","required":false,"schema":{"type":"string","default":"us_aqi,european_aqi,pm10,pm2_5,ozone,nitrogen_dioxide"}},{"name":"hourly","in":"query","required":false,"schema":{"type":"string"}},{"name":"timezone","in":"query","required":false,"schema":{"type":"string","default":"auto"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":1800,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"live"}},"/v1/places:open-meteo/marine":{"get":{"operationId":"places_open_meteo_marine","summary":"Marine forecast","description":"Wave height, direction and period for ocean coordinates.","tags":["places"],"parameters":[{"name":"latitude","in":"query","required":true,"schema":{"type":"number"},"example":-8.72},{"name":"longitude","in":"query","required":true,"schema":{"type":"number"},"example":115.17},{"name":"current","in":"query","required":false,"schema":{"type":"string","default":"wave_height,wave_direction,wave_period"}},{"name":"daily","in":"query","required":false,"schema":{"type":"string","default":"wave_height_max"}},{"name":"timezone","in":"query","required":false,"schema":{"type":"string","default":"auto"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":1800,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"live"}},"/v1/places:open-meteo/geocode":{"get":{"operationId":"places_open_meteo_geocode","summary":"Geocoding","description":"Find coordinates, country and timezone for a place name.","tags":["places"],"parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string"},"example":"Lisbon"},{"name":"count","in":"query","required":false,"description":"Number of results","schema":{"type":"integer","default":5,"minimum":1,"maximum":100,"description":"Number of results"}},{"name":"language","in":"query","required":false,"schema":{"type":"string","default":"en"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":86400,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"live"}}},"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key"}},"schemas":{"RunEnvelope":{"type":"object","required":["project","data","timestamp"],"properties":{"project":{"type":"string","example":"dev-tools:hash"},"data":{},"timestamp":{"type":"string","format":"date-time"}}},"ErrorEnvelope":{"type":"object","properties":{"content":{},"message":{"type":"string"},"errors":{"type":"array","items":{}},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}}},"responses":{"Error":{"description":"Invalid key, plan gate, rate limit or upstream failure","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}}