@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Weatherbit - Interactive Swagger UI Documentation
@base https://api.weatherbit.io/v2.0
@version 2.0.0
@auth ApiKey key in query
@common_fields {key: any}
@endpoints 21
@hint download_for_search
@toc alerts(1), current(3), history(8), forecast(6), normals(1), geocode(1), subscription(1)

@group alerts
@endpoint GET /alerts
@optional {lat: any, lon: any, city: any, postal_code: any, country: any, station: any}
@returns(200)
@returns(204)
@errors {400, 403, 429, 500}

@endgroup

@group current
@endpoint GET /current
@optional {lat: any, lon: any, include: any, city: any, postal_code: any, country: any, station: any, points: any, units: any, lang: any}
@returns(200)
@returns(204)
@errors {400, 403, 429, 500}

@endgroup

@group history
@endpoint GET /history/lightning
@required {lat: any, lon: any, date: any}
@optional {limit: any, skip: any, search_distance_km: any, sort: any, output_type: any, tz: any}
@returns(200)
@returns(204)
@errors {400, 403, 429, 500}

@endgroup

@group current
@endpoint GET /current/lightning
@required {lat: any, lon: any}
@optional {limit: any, skip: any, search_distance_km: any, search_mins: any, sort: any, output_type: any}
@returns(200)
@returns(204)
@errors {400, 403, 429, 500}

@endgroup

@group forecast
@endpoint GET /forecast/daily
@optional {lat: any, lon: any, city: any, postal_code: any, country: any, station: any, days: any, units: any, lang: any}
@returns(200)
@returns(204)
@errors {400, 403, 429, 500}

@endpoint GET /forecast/minutely
@optional {lat: any, lon: any, city: any, postal_code: any, country: any, station: any, units: any}
@returns(200)
@returns(204)
@errors {400, 403, 429, 500}

@endpoint GET /forecast/airquality
@required {lat: any, lon: any}
@optional {city: any, postal_code: any, country: any, hours: any}
@returns(200)
@returns(204)
@errors {400, 403, 429, 500}

@endgroup

@group history
@endpoint GET /history/airquality
@required {lat: any, lon: any}
@optional {city: any, postal_code: any, country: any, start_date: any, end_date: any, tz: any}
@returns(200)
@returns(204)
@errors {400, 403, 429, 500}

@endgroup

@group current
@endpoint GET /current/airquality
@optional {lat: any, lon: any, city: any, postal_code: any, country: any}
@returns(200)
@returns(204)
@errors {400, 403, 429, 500}

@endgroup

@group forecast
@endpoint GET /forecast/hourly
@optional {lat: any, lon: any, city: any, postal_code: any, country: any, station: any, units: any, lang: any, hours: any}
@returns(200)
@returns(204)
@errors {400, 403, 429, 500}

@endpoint GET /forecast/agweather
@required {lat: any, lon: any}
@optional {units: any}
@returns(200)
@returns(204)
@errors {400, 403, 429, 500}

@endgroup

@group history
@endpoint GET /history/agweather
@required {lat: any, lon: any, start_date: any, end_date: any}
@optional {tp: any, units: any}
@returns(200)
@returns(204)
@errors {400, 403, 429, 500}

@endgroup

@group normals
@endpoint GET /normals
@required {lat: any, lon: any, start_day: any, end_day: any}
@optional {tp: any, units: any, series_year: any}
@returns(200)
@returns(204)
@errors {400, 403, 429, 500}

@endgroup

@group history
@endpoint GET /history/daily
@required {start_date: any, end_date: any}
@optional {lat: any, lon: any, city: any, postal_code: any, country: any, station: any, units: any, lang: any}
@returns(200)
@returns(204)
@errors {400, 403, 429, 500}

@endpoint GET /history/hourly
@required {start_date: any, end_date: any}
@optional {lat: any, lon: any, city: any, postal_code: any, country: any, station: any, units: any, lang: any, tz: any}
@returns(200)
@returns(204)
@errors {400, 403, 429, 500}

@endpoint GET /history/subhourly
@required {start_date: any, end_date: any}
@optional {lat: any, lon: any, city: any, postal_code: any, country: any, station: any, units: any, lang: any, tz: any}
@returns(200)
@returns(204)
@errors {400, 403, 429, 500}

@endgroup

@group forecast
@endpoint GET /forecast/energy
@required {lat: any, lon: any}
@optional {threshold: any, units: any, tp: any}
@returns(200)
@returns(204)
@errors {400, 403, 429, 500}

@endgroup

@group history
@endpoint GET /history/energy
@required {lat: any, lon: any, start_date: any, end_date: any}
@optional {tp: any, threshold: any, units: any}
@returns(200)
@returns(204)
@errors {400, 403, 429, 500}

@endgroup

@group geocode
@endpoint GET /geocode
@optional {city: any, state: any, country: any, postal_code: any, city_id: any, station: any}
@returns(200)
@returns(204)
@errors {400, 403, 429, 500}

@endgroup

@group subscription
@endpoint GET /subscription/usage
@returns(200)
@errors {400, 403, 429, 500}

@endgroup

@group history
@endpoint GET /history/revision_version
@returns(200)
@errors {400, 403, 429, 500}

@endgroup

@end
