{"openapi":"3.0.0","info":{"description":"12 pay-per-query data and utility services for AI agents, secured by x402 micropayments on Base.","version":"1.0.0","contact":{"name":"Vibe Springs Support","url":"https://vibesprings.net/for-agents"}},"servers":[{"url":"https://vibesprings.net","description":"Production Server"}],"paths":{"/api/weather":{"get":{"summary":"Historical Weather","description":"Retrieve daily historical weather for any location and date range.","parameters":[{"name":"location","in":"query","required":true,"schema":{"type":"string"},"description":"City or region name"},{"name":"start_date","in":"query","required":true,"schema":{"type":"string","format":"date"},"description":"YYYY-MM-DD"},{"name":"end_date","in":"query","required":true,"schema":{"type":"string","format":"date"},"description":"YYYY-MM-DD"}],"responses":{"200":{"description":"Weather data","content":{"application/json":{"example":{"location":"Tokyo","daily":[]}}}},"402":{"description":"Payment Required"}}}},"/api/forecast":{"get":{"summary":"Weather Forecast","description":"Up to 16-day weather forecast.","parameters":[{"name":"location","in":"query","required":true,"schema":{"type":"string"},"description":"City or region name"},{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":7},"description":"Forecast days (1-16)"}],"responses":{"200":{"description":"Forecast data"},"402":{"description":"Payment Required"}}}},"/api/air-quality":{"get":{"summary":"Air Quality Index","description":"PM2.5, PM10, ozone, and US/European AQI data.","parameters":[{"name":"location","in":"query","required":true,"schema":{"type":"string"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":1}}],"responses":{"200":{"description":"Air quality data"},"402":{"description":"Payment Required"}}}},"/api/marine":{"get":{"summary":"Marine Weather","description":"Wave height and ocean currents for coastal areas.","parameters":[{"name":"location","in":"query","required":true,"schema":{"type":"string"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":3}}],"responses":{"200":{"description":"Marine data"},"402":{"description":"Payment Required"}}}},"/api/earthquakes":{"get":{"summary":"Earthquake Activity","description":"Recent seismic events from USGS.","parameters":[{"name":"location","in":"query","required":true,"schema":{"type":"string"}},{"name":"radius_km","in":"query","schema":{"type":"integer","default":500}},{"name":"min_mag","in":"query","schema":{"type":"number","default":2.5}},{"name":"days","in":"query","schema":{"type":"integer","default":7}}],"responses":{"200":{"description":"Seismic events"},"402":{"description":"Payment Required"}}}},"/api/flood":{"get":{"summary":"Flood Risk","description":"River discharge and flood probability.","parameters":[{"name":"location","in":"query","required":true,"schema":{"type":"string"}},{"name":"days","in":"query","schema":{"type":"integer","default":7}}],"responses":{"200":{"description":"Flood risk data"}}}},"/api/solar":{"get":{"summary":"Solar & Astronomy","description":"Sunrise, sunset, and UV radiation data.","parameters":[{"name":"location","in":"query","required":true,"schema":{"type":"string"}},{"name":"date","in":"query","schema":{"type":"string","format":"date"}},{"name":"days","in":"query","schema":{"type":"integer","default":1}}],"responses":{"200":{"description":"Solar data"}}}},"/api/exchange":{"get":{"summary":"Currency Exchange","description":"Real-time and historical forex rates.","parameters":[{"name":"base","in":"query","schema":{"type":"string","default":"USD"}},{"name":"to","in":"query","schema":{"type":"string"},"description":"Comma-separated list (e.g. EUR,GBP)"},{"name":"date","in":"query","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Forex rates"}}}},"/api/holidays":{"get":{"summary":"Public Holidays","description":"Public holidays for 100+ countries.","parameters":[{"name":"country","in":"query","required":true,"schema":{"type":"string"},"description":"ISO 3166-1 alpha-2 code (e.g. US, JP)"},{"name":"year","in":"query","schema":{"type":"integer"}}],"responses":{"200":{"description":"Holidays list"}}}},"/api/convert-image":{"post":{"summary":"Image Conversion","description":"Transform, resize, and convert images.","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"},"format":{"type":"string","enum":["jpg","png","webp","avif"]},"width":{"type":"integer"},"quality":{"type":"integer"}},"required":["file"]}}}},"responses":{"200":{"description":"Processed image"}}}},"/api/generate-pdf":{"post":{"summary":"PDF Generation","description":"Generate professional PDFs from JSON data.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"template":{"type":"string","enum":["invoice","resume","report","contract","receipt","document"]},"data":{"type":"object"},"options":{"type":"object"}},"required":["template","data"]}}}},"responses":{"200":{"description":"PDF document"}}}},"/api/process-csv":{"post":{"summary":"CSV Processing","description":"Clean, filter, and analyze CSV files.","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"},"instructions":{"type":"string","description":"JSON string with processing rules"}},"required":["file"]}}}},"responses":{"200":{"description":"Processed data or summary"}}}}},"components":{"securitySchemes":{"x402":{"type":"apiKey","name":"X-Payment","in":"header","description":"Base64 encoded x402 payment payload signed by the agent wallet."}}},"security":[{"x402":[]}]}