Atmospore Pollen Forecasts · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the Atmospore Pollen Forecast API

11 actions 11 updates documentation extends openapi/atmospore-pollen-forecasts-openapi-original.json
Derived by API Evangelist Built from the contracts Atmospore Pollen Forecasts publishes. Atmospore Pollen Forecasts did not publish this file.
View Overlay File View on GitHub Overlay Specification

What the actions change

tagsx-mcp-toolx-agentic-accessx-cache-controlx-notex-apievangelist-enrichedx-apievangelist-slugx-logo

Targets 10

$.info
$.servers
$.paths['/v1/pollen'].get
$.paths['/v1/pollen-area'].get
$.paths['/v1/pollen-top'].get
$.paths['/v1/species'].get
$
$.components.parameters.forecast_days
$.components.schemas.Error
$.components.securitySchemes.ApiKeyAuth

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for the Atmospore Pollen Forecast API
  version: 1.0.0
extends: openapi/atmospore-pollen-forecasts-openapi-original.json
x-provenance:
  generated: '2026-08-09'
  method: generated
  source: openapi/atmospore-pollen-forecasts-openapi-original.json
  note: >-
    Captures API Evangelist enhancements over the provider's published contract. The original is
    never mutated. Every addition below is grounded in something the provider publishes on
    atmospore.com, in the first-party SDK/MCP repositories, or in a live probe on 2026-08-09.
actions:
  - target: $.info
    description: Record provenance, the missing licence, and the documentation entry point.
    update:
      x-apievangelist-enriched: '2026-08-09'
      x-apievangelist-slug: atmospore-pollen-forecasts
      x-logo:
        url: https://atmospore.com/images/logo-bg.png
      x-documentation: https://atmospore.com/api-docs
      x-pricing: https://atmospore.com/plans

  - target: $.info
    description: The published document declares no licence for the API contract itself.
    update:
      x-license-note: >-
        No `info.license` is declared. The first-party client libraries are MIT; the API terms are
        at https://atmospore.com/terms-of-service.

  - target: $.servers
    description: Record the sibling non-REST surfaces so a reader of the spec finds them.
    update:
      x-additional-surfaces:
        - {kind: mcp, url: 'https://mcp.atmospore.com/mcp', transport: http, auth: 'Authorization: Bearer <key>'}
        - {kind: widget, url: 'https://atmospore.com/widget/{location}', auth: none}

  - target: $.paths['/v1/pollen'].get
    description: Add the missing tag, an MCP binding, and the rate-limit contract.
    update:
      tags: [Forecast]
      x-mcp-tool: get_pollen
      x-agentic-access: {action-class: connected, consequence: read}
      x-rate-limit: {scope: api-key, plans: 'Free 3000/mo, Starter 15000/mo, Professional 150000/mo, Enterprise 1500000/mo', headers: none}
      x-cache-control: 'public, max-age=3600, s-maxage=3600'

  - target: $.paths['/v1/pollen-area'].get
    description: Tag, MCP binding, and the unit trap between the tool and the operation.
    update:
      tags: [Forecast]
      x-mcp-tool: get_area_average
      x-agentic-access: {action-class: connected, consequence: read}
      x-unit-warning: >-
        `radius` here is METRES (default 25000, max 50000). The MCP tool `get_area_average` takes
        `radius_km` (default 25). Convert before binding one to the other.

  - target: $.paths['/v1/pollen-top'].get
    description: Tag, MCP binding, and the tool parameter with no REST equivalent.
    update:
      tags: [Forecast]
      x-mcp-tool: get_top_species
      x-agentic-access: {action-class: connected, consequence: read}
      x-note: >-
        The MCP tool exposes a `limit` argument that has no counterpart here; truncation happens in
        the MCP wrapper, not the API.

  - target: $.paths['/v1/species'].get
    description: Tag the only unauthenticated operation and state its cache contract.
    update:
      tags: [Metadata]
      x-mcp-tool: list_supported_species
      x-agentic-access: {action-class: connected, consequence: read, subject: none}
      x-unauthenticated: true
      x-cache-control: max-age=86400
      x-integration-note: >-
        Call this first. It resolves the 25 species slugs, categories, localised names and
        risk_thresholds that every other operation's `species` parameter and response keys use.

  - target: $
    description: Declare the tags the operations were missing entirely.
    update:
      tags:
        - {name: Forecast, description: 'Point, area and ranked species pollen forecasts.'}
        - {name: Metadata, description: 'Species catalogue, categories and risk thresholds.'}

  - target: $.components.parameters.forecast_days
    description: Flag the disagreement between the contract ceiling and the commercial ceiling.
    update:
      x-note: >-
        The contract accepts 1-14. https://atmospore.com/plans advertises a "7-day forecast" from
        the Professional tier up, and no tier gating is described in the contract.

  - target: $.components.schemas.Error
    description: State the error contract explicitly — it is not RFC 9457.
    update:
      x-error-format: proprietary
      x-rfc9457: false
      x-statuses:
        400: Invalid parameters
        401: 'Missing API key. Include x-api-key header.'
        403: Invalid API key
        429: Daily quota exceeded
      x-correlation-header: apigw-requestid

  - target: $.components.securitySchemes.ApiKeyAuth
    description: Record where a key comes from and the observed prefix.
    update:
      x-key-source: https://atmospore.com/account
      x-key-prefix: 'ak_ (the MCP setup article at /article/mcp shows atmo_ instead — the two disagree)'
      x-free-tier: 3000 requests/month, no credit card

Work with this as data

Every overlay 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 openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay in the catalog.
  • 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 overlay
curl "https://apis.io/api/v1/overlays/atmospore-pollen-forecasts-openapi-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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.