{"openapi":"3.1.0","info":{"title":"Apizie","version":"2.0.0","description":"One API key, one envelope, many public data sources."},"servers":[{"url":"https://www.apizie.tech"}],"security":[{"ApiKeyAuth":[]}],"paths":{"/v1/web-tools:weather/forecast":{"get":{"operationId":"web_tools_weather_forecast","summary":"Weather Forecast","description":"Current weather and an N-day daily forecast for coordinates (timezone auto-detected).","tags":["web-tools"],"parameters":[{"name":"lat","in":"query","required":true,"schema":{"type":"number","minimum":-90,"maximum":90},"example":-6.2},{"name":"lon","in":"query","required":true,"schema":{"type":"number","minimum":-180,"maximum":180},"example":106.82},{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":7,"minimum":1,"maximum":16}},{"name":"units","in":"query","required":false,"schema":{"type":"string","enum":["metric","imperial"],"default":"metric"}}],"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/web-tools:weather/geocode":{"get":{"operationId":"web_tools_weather_geocode","summary":"Geocode","description":"Look up coordinates for a place name (to feed into forecast).","tags":["web-tools"],"parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string"},"example":"Bandung"},{"name":"count","in":"query","required":false,"description":"Results per page","schema":{"type":"integer","default":5,"minimum":1,"maximum":100,"description":"Results per page"}},{"name":"language","in":"query","required":false,"schema":{"type":"string","default":"en"}},{"name":"countryCode","in":"query","required":false,"schema":{"type":"string"},"example":"ID"}],"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"}}}}}}}