Tomorrow.io Alerts API

Persistent alerts linked to one or more locations with webhook delivery.

OpenAPI Specification

tomorrow-alerts-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Tomorrow.io Weather Alerts API
  description: Unified Tomorrow.io v4 HTTP API for weather and climate intelligence. Combines realtime observations, forecast timelines (minutely, hourly, daily, current), historical data up to 20 years, weather along a route, raster map tiles, plus management surfaces for Locations, Insights, Alerts, and Events.
  version: 4.0.1
  contact:
    name: Tomorrow.io Support
    url: https://www.tomorrow.io/support/
  license:
    name: Tomorrow.io Terms of Service
    url: https://www.tomorrow.io/terms-of-service/
  x-generated-from: documentation
  x-last-validated: '2026-05-30'
servers:
- url: https://api.tomorrow.io/v4
  description: Tomorrow.io v4 production API
security:
- apiKeyQuery: []
tags:
- name: Alerts
  description: Persistent alerts linked to one or more locations with webhook delivery.
paths:
  /alerts:
    get:
      operationId: listAlerts
      summary: Tomorrow.io List Alerts
      description: Lists alerts configured for the authenticated account.
      tags:
      - Alerts
      responses:
        '200':
          description: Alerts list.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Alert'
              examples:
                ListAlerts200Example:
                  summary: Default listAlerts 200 response
                  x-microcks-default: true
                  value:
                  - id: 6183d156022c1b0008686b14
                    name: Hail Watch — Northeast Region
                    description: example
                    insightIds:
                    - 6183d156022c1b00086860a1
                    notifications:
                    - type: webhook
                      url: https://hooks.example.com/tomorrow-alerts
                    active: true
                    createdAt: '2026-05-30T13:00:00Z'
                    updatedAt: '2026-05-30T13:00:00Z'
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createAlert
      summary: Tomorrow.io Create Alert
      description: Creates an alert that links one or more insights to one or more locations and pushes activations to a webhook URL.
      tags:
      - Alerts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AlertCreateRequest'
            examples:
              CreateAlertRequestExample:
                summary: Default createAlert request
                x-microcks-default: true
                value:
                  name: Hail Watch — Northeast Region
                  description: example
                  insightIds:
                  - example
                  locationIds:
                  - example
                  notifications:
                  - type: webhook
                    url: https://example.com/path
                  active: true
      responses:
        '201':
          description: Alert created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Alert'
              examples:
                CreateAlert201Example:
                  summary: Default createAlert 201 response
                  x-microcks-default: true
                  value:
                    id: 6183d156022c1b0008686b14
                    name: Hail Watch — Northeast Region
                    description: example
                    insightIds:
                    - 6183d156022c1b00086860a1
                    notifications:
                    - type: webhook
                      url: https://hooks.example.com/tomorrow-alerts
                    active: true
                    createdAt: '2026-05-30T13:00:00Z'
                    updatedAt: '2026-05-30T13:00:00Z'
        '400':
          $ref: '#/components/responses/BadRequest'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /alerts/{alertId}:
    parameters:
    - name: alertId
      in: path
      required: true
      schema:
        type: string
      example: 6183d156022c1b0008686b14
    get:
      operationId: getAlert
      summary: Tomorrow.io Get Alert
      description: Retrieves a single alert by ID.
      tags:
      - Alerts
      responses:
        '200':
          description: Alert detail.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Alert'
              examples:
                GetAlert200Example:
                  summary: Default getAlert 200 response
                  x-microcks-default: true
                  value:
                    id: 6183d156022c1b0008686b14
                    name: Hail Watch — Northeast Region
                    description: example
                    insightIds:
                    - 6183d156022c1b00086860a1
                    notifications:
                    - type: webhook
                      url: https://hooks.example.com/tomorrow-alerts
                    active: true
                    createdAt: '2026-05-30T13:00:00Z'
                    updatedAt: '2026-05-30T13:00:00Z'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      operationId: updateAlert
      summary: Tomorrow.io Update Alert
      description: Updates an existing alert.
      tags:
      - Alerts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AlertCreateRequest'
            examples:
              UpdateAlertRequestExample:
                summary: Default updateAlert request
                x-microcks-default: true
                value:
                  name: Hail Watch — Northeast Region
                  description: example
                  insightIds:
                  - example
                  locationIds:
                  - example
                  notifications:
                  - type: webhook
                    url: https://example.com/path
                  active: true
      responses:
        '200':
          description: Updated alert.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Alert'
              examples:
                UpdateAlert200Example:
                  summary: Default updateAlert 200 response
                  x-microcks-default: true
                  value:
                    id: 6183d156022c1b0008686b14
                    name: Hail Watch — Northeast Region
                    description: example
                    insightIds:
                    - 6183d156022c1b00086860a1
                    notifications:
                    - type: webhook
                      url: https://hooks.example.com/tomorrow-alerts
                    active: true
                    createdAt: '2026-05-30T13:00:00Z'
                    updatedAt: '2026-05-30T13:00:00Z'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deleteAlert
      summary: Tomorrow.io Delete Alert
      description: Deletes an alert by ID.
      tags:
      - Alerts
      responses:
        '204':
          description: Alert deleted.
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /alerts/{alertId}/locations:
    parameters:
    - name: alertId
      in: path
      required: true
      schema:
        type: string
      example: 6183d156022c1b0008686b14
    get:
      operationId: listAlertLocations
      summary: Tomorrow.io List Alert Locations
      description: Lists locations linked to an alert.
      tags:
      - Alerts
      responses:
        '200':
          description: Locations linked to the alert.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Location'
              examples:
                ListAlertLocations200Example:
                  summary: Default listAlertLocations 200 response
                  x-microcks-default: true
                  value:
                  - id: 6183d156022c1b0008685cc6
                    name: Boston HQ Rooftop
                    geometry:
                      type: Point
                      coordinates:
                      - -71.0466
                      - 42.3478
                    tags:
                    - field-asset
                    - rooftop
                    createdAt: '2026-05-30T12:34:56Z'
                    updatedAt: '2026-05-30T12:34:56Z'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /alerts/{alertId}/locations/link:
    parameters:
    - name: alertId
      in: path
      required: true
      schema:
        type: string
      example: 6183d156022c1b0008686b14
    post:
      operationId: linkAlertLocations
      summary: Tomorrow.io Link Alert Locations
      description: Links one or more locations to the alert.
      tags:
      - Alerts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AlertLocationLinkRequest'
            examples:
              LinkAlertLocationsRequestExample:
                summary: Default linkAlertLocations request
                x-microcks-default: true
                value:
                  locationIds:
                  - 6183d156022c1b0008685cc6
      responses:
        '200':
          description: Locations linked.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SimpleAck'
              examples:
                LinkAlertLocations200Example:
                  summary: Default linkAlertLocations 200 response
                  x-microcks-default: true
                  value:
                    status: ok
                    message: Operation completed successfully.
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /alerts/{alertId}/locations/unlink:
    parameters:
    - name: alertId
      in: path
      required: true
      schema:
        type: string
      example: 6183d156022c1b0008686b14
    post:
      operationId: unlinkAlertLocations
      summary: Tomorrow.io Unlink Alert Locations
      description: Unlinks one or more locations from the alert.
      tags:
      - Alerts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AlertLocationLinkRequest'
            examples:
              UnlinkAlertLocationsRequestExample:
                summary: Default unlinkAlertLocations request
                x-microcks-default: true
                value:
                  locationIds:
                  - 6183d156022c1b0008685cc6
      responses:
        '200':
          description: Locations unlinked.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SimpleAck'
              examples:
                UnlinkAlertLocations200Example:
                  summary: Default unlinkAlertLocations 200 response
                  x-microcks-default: true
                  value:
                    status: ok
                    message: Operation completed successfully.
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /alerts/{alertId}/activate:
    parameters:
    - name: alertId
      in: path
      required: true
      schema:
        type: string
      example: 6183d156022c1b0008686b14
    post:
      operationId: activateAlert
      summary: Tomorrow.io Activate Alert
      description: Marks an alert as active so its insights begin firing on linked locations.
      tags:
      - Alerts
      responses:
        '200':
          description: Alert activated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SimpleAck'
              examples:
                ActivateAlert200Example:
                  summary: Default activateAlert 200 response
                  x-microcks-default: true
                  value:
                    status: ok
                    message: Operation completed successfully.
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /alerts/{alertId}/deactivate:
    parameters:
    - name: alertId
      in: path
      required: true
      schema:
        type: string
      example: 6183d156022c1b0008686b14
    post:
      operationId: deactivateAlert
      summary: Tomorrow.io Deactivate Alert
      description: Marks an alert as inactive so its insights stop firing.
      tags:
      - Alerts
      responses:
        '200':
          description: Alert deactivated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SimpleAck'
              examples:
                DeactivateAlert200Example:
                  summary: Default deactivateAlert 200 response
                  x-microcks-default: true
                  value:
                    status: ok
                    message: Operation completed successfully.
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  responses:
    Unauthorized:
      description: Missing or invalid API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: Malformed request.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: Resource not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    Location:
      type: object
      description: A saved location resource.
      properties:
        id:
          type: string
          example: 6183d156022c1b0008685cc6
        name:
          type: string
          example: Boston HQ Rooftop
        geometry:
          $ref: '#/components/schemas/GeoJSONGeometry'
        tags:
          type: array
          items:
            type: string
          example:
          - field-asset
          - rooftop
        createdAt:
          type: string
          format: date-time
          example: '2026-05-30T12:34:56Z'
        updatedAt:
          type: string
          format: date-time
          example: '2026-05-30T12:34:56Z'
      required:
      - id
      - name
      - geometry
    AlertCreateRequest:
      type: object
      description: Payload to create or update an alert.
      properties:
        name:
          type: string
          example: Hail Watch — Northeast Region
        description:
          type: string
        insightIds:
          type: array
          items:
            type: string
        locationIds:
          type: array
          items:
            type: string
        notifications:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
                enum:
                - webhook
              url:
                type: string
                format: uri
        active:
          type: boolean
          default: true
      required:
      - name
      - insightIds
    GeoJSONGeometry:
      type: object
      description: GeoJSON geometry — Point, LineString, or Polygon.
      properties:
        type:
          type: string
          enum:
          - Point
          - LineString
          - Polygon
          example: Point
        coordinates:
          type: array
          items: {}
          example:
          - -71.0466
          - 42.3478
      required:
      - type
      - coordinates
    SimpleAck:
      type: object
      description: Generic success acknowledgement.
      properties:
        status:
          type: string
          example: ok
        message:
          type: string
          example: Operation completed successfully.
    AlertLocationLinkRequest:
      type: object
      properties:
        locationIds:
          type: array
          items:
            type: string
          example:
          - 6183d156022c1b0008685cc6
      required:
      - locationIds
    Alert:
      type: object
      description: A persistent alert that fires insights over linked locations and pushes activations to a webhook.
      properties:
        id:
          type: string
          example: 6183d156022c1b0008686b14
        name:
          type: string
          example: Hail Watch — Northeast Region
        description:
          type: string
        insightIds:
          type: array
          items:
            type: string
          example:
          - 6183d156022c1b00086860a1
        notifications:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
                enum:
                - webhook
                example: webhook
              url:
                type: string
                format: uri
                example: https://hooks.example.com/tomorrow-alerts
        active:
          type: boolean
          example: true
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
      required:
      - id
      - name
      - insightIds
    Error:
      type: object
      description: Standard Tomorrow.io error envelope.
      properties:
        code:
          type: integer
          example: 400001
          description: Internal error code.
        type:
          type: string
          example: Invalid Body Parameters
          description: Short error type label.
        message:
          type: string
          example: The provided parameters are invalid.
          description: Human-readable error message.
      required:
      - code
      - type
      - message
  securitySchemes:
    apiKeyQuery:
      type: apiKey
      in: query
      name: apikey
      description: Tomorrow.io API key passed as `apikey` query parameter. Obtain at https://app.tomorrow.io/development/keys.