swathapi-com Monitors API

The Monitors API from swathapi-com — 1 operation(s) for monitors.

Operations 2

GET /v1/monitors List active storm monitors for this account #
POST /v1/monitors Create a storm monitor: email and/or webhook alerts when a qualifying storm… #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/swathapi-com:swathapi-com-monitors-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

swathapi-com-monitors-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Swath Monitors API
  version: '1.0'
  description: 'Verified severe-weather intelligence. Swath detects hail storms from live NEXRAD/MRMS radar and damaging-wind events from measured NWS storm reports, builds verified damage swath polygons, and joins them against parcel data to answer: which properties were hit, and how hard. Authentication: every /v1 endpoint takes `Authorization: Bearer sk_...`. Self-serve keys via POST /v1/signup (free tier: 2 trial credits, 60 requests/min — paid plans from $35/mo). Credit costs per successful call: Swath Report (GET /v1/swaths/{id}/properties) = 1 credit per property returned plus 25 credits per record fetched fresh from the parcel vendor, 10-credit minimum; report quote (GET /v1/swaths/{id}/properties/quote) = 1 credit; property lookup (GET /v1/property) = 2 credits; billing endpoints = 0; everything else = 1 credit. Failed requests are never billed. Paid plans: developer (40,000 credits/mo) and scale (600,000 credits/mo) via POST /v1/billing/checkout.'
servers:
- url: https://swathapi.com
security:
- ApiKeyAuth: []
tags:
- name: Monitors
paths:
  /v1/monitors:
    get:
      operationId: list_monitors
      summary: List active storm monitors for this account
      description: Costs 1 credit.
      responses:
        '200':
          description: Monitors
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Monitor'
        '401':
          description: 'Missing, invalid, or revoked API key. Fix: pass Authorization: Bearer sk_... (get a key at /v1/signup).'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '402':
          description: 'Monthly credit limit reached (code credits_exhausted). Fix: upgrade via POST /v1/billing/checkout or wait for the monthly reset.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Per-minute rate limit for the plan exceeded (code rate_limited). Retry after a short wait.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Monitors
    post:
      operationId: create_monitor
      summary: 'Create a storm monitor: email and/or webhook alerts when a qualifying storm…'
      description: 'Provide an area (GeoJSON geometry or bbox) plus at least one alert channel: webhook_url and/or email_alerts: true (emails go only to the account owner''s address). hail_min_in defaults to 1.00. With webhook_url, the response includes webhook_secret exactly once. Costs 1 credit.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: Human label for the monitor
                geometry:
                  type: object
                  description: GeoJSON Polygon or MultiPolygon in WGS84 (alternative to bbox)
                bbox:
                  type: array
                  items:
                    type: number
                  minItems: 4
                  maxItems: 4
                  description: '[west, south, east, north] in WGS84 degrees (alternative to geometry)'
                hail_min_in:
                  type: number
                  description: Minimum hail size in inches to trigger (default 1.00)
                wind_min_mph:
                  type: number
                  description: Minimum wind speed in mph to trigger
                webhook_url:
                  type: string
                  description: http(s) URL that receives signed alert POSTs (optional if email_alerts is true)
                email_alerts:
                  type: boolean
                  description: Email storm alerts to the account owner's address — no other recipient is possible (default false)
      responses:
        '201':
          description: Monitor created (webhook_secret shown only in this response)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MonitorWithSecret'
        '400':
          description: Missing area, or neither webhook_url nor email_alerts provided
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: 'Missing, invalid, or revoked API key. Fix: pass Authorization: Bearer sk_... (get a key at /v1/signup).'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '402':
          description: 'Monthly credit limit reached (code credits_exhausted). Fix: upgrade via POST /v1/billing/checkout or wait for the monthly reset.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Per-minute rate limit for the plan exceeded (code rate_limited). Retry after a short wait.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Monitors
components:
  schemas:
    MonitorWithSecret:
      allOf:
      - $ref: '#/components/schemas/Monitor'
      - type: object
        properties:
          webhook_secret:
            type: string
            description: HMAC secret (whsec_...) for verifying webhook payloads — returned only at creation
    Monitor:
      type: object
      properties:
        id:
          type: string
          description: Monitor id (mon_...)
        name:
          type:
          - string
          - 'null'
        hail_min_in:
          type:
          - number
          - 'null'
          description: Trigger threshold, inches
        wind_min_mph:
          type:
          - number
          - 'null'
          description: Trigger threshold, mph
        webhook_url:
          type:
          - string
          - 'null'
        email_alerts:
          type: boolean
          description: Email the account owner on each verified storm
        created_at:
          type: string
          format: date-time
        geometry:
          type: object
          description: GeoJSON MultiPolygon of the monitored area
    Error:
      type: object
      required:
      - error
      properties:
        error:
          type: object
          required:
          - code
          - message
          properties:
            code:
              type: string
              description: Machine-readable error code, e.g. invalid_request, unauthorized, credits_exhausted, rate_limited, not_found, account_exists, billing_not_configured
            message:
              type: string
            used:
              type: number
              description: Credits used this month (present on credits_exhausted)
            plan:
              type: string
              description: Current plan (present on credits_exhausted)
  securitySchemes:
    ApiKeyAuth:
      type: http
      scheme: bearer
      description: 'Swath API key, e.g. Authorization: Bearer sk_live_... Get one at POST /v1/signup or https://swathapi.com/signup'