openapi: 3.1.0 info: title: Tomorrow.io Alerts Forecast API version: '4.0' description: 'Create, manage, and trigger weather-based alerts. Alerts evaluate Tomorrow.io weather data layers against custom thresholds for one or more linked locations and deliver notifications via webhook, email, and the Tomorrow.io app. ' contact: name: Tomorrow.io Support url: https://support.tomorrow.io servers: - url: https://api.tomorrow.io/v4 description: Tomorrow.io Production security: - apikeyAuth: [] tags: - name: Forecast description: 1h / 1d step weather forecast for the next 14 days. paths: /weather/forecast: get: tags: - Forecast summary: Get Weather Forecast operationId: getWeatherForecast description: 'Retrieve a structured forecast for a point or location, broken into ``minutely`` (60m), ``hourly`` (up to 120h), and ``daily`` (up to 14d) intervals depending on plan tier. ' parameters: - name: location in: query required: true schema: type: string - name: timesteps in: query description: Comma separated steps from minutely, 1h, 1d. schema: type: string example: 1h,1d - name: units in: query schema: type: string enum: - metric - imperial - name: apikey in: query required: true schema: type: string responses: '200': description: Forecast timelines. content: application/json: schema: $ref: '#/components/schemas/ForecastResponse' '401': $ref: '#/components/responses/Unauthorized' '429': $ref: '#/components/responses/RateLimited' components: responses: RateLimited: description: Rate limit exceeded for the plan tier. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' Unauthorized: description: Missing or invalid API key. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' schemas: Location: type: object properties: lat: type: number format: float lon: type: number format: float name: type: string type: type: string ForecastResponse: type: object properties: timelines: type: object properties: minutely: type: array items: $ref: '#/components/schemas/TimelineInterval' hourly: type: array items: $ref: '#/components/schemas/TimelineInterval' daily: type: array items: $ref: '#/components/schemas/TimelineInterval' location: $ref: '#/components/schemas/Location' ErrorResponse: type: object properties: code: type: integer type: type: string message: type: string TimelineInterval: type: object properties: startTime: type: string format: date-time values: $ref: '#/components/schemas/WeatherValues' WeatherValues: type: object description: Subset of the 60+ Tomorrow.io data layers requested via the fields parameter. properties: temperature: type: number description: Air temperature in C or F depending on units. temperatureApparent: type: number humidity: type: number windSpeed: type: number windDirection: type: number windGust: type: number precipitationIntensity: type: number precipitationProbability: type: number precipitationType: type: integer cloudCover: type: number visibility: type: number pressureSurfaceLevel: type: number uvIndex: type: integer weatherCode: type: integer description: Tomorrow.io weather code (e.g. 1000 Clear, 4000 Drizzle, 5000 Snow). epaIndex: type: integer treeIndex: type: integer grassIndex: type: integer weedIndex: type: integer securitySchemes: apikeyAuth: type: apiKey in: query name: apikey