DTN

DTN QVA API

Quantitative Volcanic Ash (QVA) data ΓÇö ash cloud polygons, deterministic and probabilistic ash concentration forecasts, and active volcano listings.

Operations 4

GET /v1/ashcloudQvas/ Get ash cloud QVA polygons
GET /v1/deterministicQvas/ Get deterministic QVA polygons
GET /v1/probabilisticQvas/ Get probabilistic QVA polygons
GET /v1/activeVolcanoQvas/ Get active volcanoes with QVA data

Documentation

📖
Documentation
https://devportal.dtn.com/catalog/Weather/dtn-weather-conditions-api/documentation
📖
Documentation
https://devportal.dtn.com/catalog/Weather/dtn-observation-api/documentation
📖
Documentation
https://devportal.dtn.com/catalog/Weather/dtn-precipitation-api/documentation
📖
Documentation
https://devportal.dtn.com/catalog/Other%20APIs/financial-market-data/documentation
📖
Documentation
https://devportal.dtn.com/catalog/WebSocket/agency-bulletin-websocket-api/documentation
📖
Documentation
https://devportal.dtn.com/catalog/Weather/dtn-agency-bulletin-api/documentation
📖
Documentation
https://devportal.dtn.com/catalog/Weather/dtn-alerting-API/documentation
📖
Documentation
https://devportal.dtn.com/catalog/Other%20APIs/dtn-astronomical-api/documentation
📖
Documentation
https://devportal.dtn.com/catalog/Weather/dtn-climatology-api/documentation
📖
Documentation
https://devportal.dtn.com/catalog/Other%20APIs/dtn-developer-portal-api/documentation
📖
Documentation
https://devportal.dtn.com/catalog/Weather/dtn-energy-event-index-api/documentation
📖
Documentation
https://devportal.dtn.com/catalog/Aviation/dtn-enhanced-flight-hazards-api/documentation
📖
Documentation
https://devportal.dtn.com/catalog/Weather/dtn-lightning-api/documentation
📖
Documentation
https://devportal.dtn.com/catalog/WebSocket/dtn-lightning-websocket/documentation
📖
Documentation
https://devportal.dtn.com/catalog/Aviation/dtn-metars-api/documentation
📖
Documentation
https://devportal.dtn.com/catalog/Weather/dtn-map-tile-api/documentation
📖
Documentation
https://devportal.dtn.com/catalog/Weather/dtn-marine-weather-api/documentation
📖
Documentation
https://devportal.dtn.com/catalog/Aviation/dtn-notams-api/documentation
📖
Documentation
https://devportal.dtn.com/catalog/Aviation/dtn-pireps-api/documentation
📖
Documentation
https://devportal.dtn.com/catalog/Weather/pavement-conditions-api/documentation
📖
Documentation
https://devportal.dtn.com/catalog/Weather/dtn-probabilistic-api/documentation
📖
Documentation
https://devportal.dtn.com/catalog/Refined%20Fuels/dtn-refined-fuels-demand/documentation
📖
Documentation
https://devportal.dtn.com/catalog/Weather/dtn-renewables-api/documentation
📖
Documentation
https://devportal.dtn.com/catalog/Aviation/dtn-sigmets-airmets/documentation
📖
Documentation
https://devportal.dtn.com/catalog/Marine%20and%20Offshore/dtn-shipping-api/documentation
📖
Documentation
https://devportal.dtn.com/catalog/Agriculture/dtn-soil-api/documentation
📖
Documentation
https://devportal.dtn.com/catalog/Weather/dtn-storm-impact-analytics/documentation
📖
Documentation
https://devportal.dtn.com/catalog/Weather/dtn-storm-risk-analytics-api/documentation
📖
Documentation
https://devportal.dtn.com/catalog/Aviation/dtn-tafs-api/documentation
📖
Documentation
https://devportal.dtn.com/catalog/Weather/dtn-tropical-api/documentation
📖
Documentation
https://devportal.dtn.com/catalog/WebSocket/dtn-websocket-api/documentation
📖
Documentation
https://devportal.dtn.com/catalog/Aviation/dtn-windsaloft-api/documentation
📖
Documentation
https://devportal.dtn.com/catalog/Refined%20Fuels/digital-commerce-orders/documentation
📖
Documentation
https://devportal.dtn.com/catalog/Refined%20Fuels/energy-digital-commerce-integrations-api/documentation
📖
Documentation
https://devportal.dtn.com/catalog/Agriculture/farm-intel-api/documentation
📖
Documentation
https://devportal.dtn.com/catalog/Weather/radarscope-radar-products/documentation

Specifications

Other Resources

🔗
Reference
https://devportal.dtn.com/catalog/Weather/dtn-weather-conditions-api/documentation
🔗
Portal
https://devportal.dtn.com/
🔗
Postman
https://dev-portal-api.prd.coreservices.zones.dtn.com/v1/apis/dtn-weather-conditions-api/postman-collection/2.2.0
🔗
ReleaseNotes
https://dev-portal-api.prd.coreservices.zones.dtn.com/v1/apis/dtn-weather-conditions-api/release-notes/2.2.0
🔗
Portal
https://api.weather.mg/
🔗
Postman
https://dev-portal-api.prd.coreservices.zones.dtn.com/v1/apis/dtn-observation-api/postman-collection/2.0.0
🔗
ReleaseNotes
https://dev-portal-api.prd.coreservices.zones.dtn.com/v1/apis/dtn-observation-api/release-notes/2.0.0
🔗
Postman
https://dev-portal-api.prd.coreservices.zones.dtn.com/v1/apis/dtn-precipitation-api/postman-collection/1.0.0
🔗
Postman
https://dev-portal-api.prd.coreservices.zones.dtn.com/v1/apis/financial-market-data/postman-collection/1.0.2
🔗
ReleaseNotes
https://dev-portal-api.prd.coreservices.zones.dtn.com/v1/apis/agency-bulletin-websocket-api/release-notes/1.0.0
🔗
ReleaseNotes
https://dev-portal-api.prd.coreservices.zones.dtn.com/v1/apis/dtn-agency-bulletin-api/release-notes/2.0.0
🔗
Postman
https://dev-portal-api.prd.coreservices.zones.dtn.com/v1/apis/dtn-astronomical-api/postman-collection/2.0.0
🔗
ReleaseNotes
https://dev-portal-api.prd.coreservices.zones.dtn.com/v1/apis/dtn-astronomical-api/release-notes/2.0.0
🔗
Postman
https://dev-portal-api.prd.coreservices.zones.dtn.com/v1/apis/dtn-climatology-api/postman-collection/1.0.0
🔗
Postman
https://dev-portal-api.prd.coreservices.zones.dtn.com/v1/apis/dtn-developer-portal-api/postman-collection/1.0.0
🔗
Postman
https://dev-portal-api.prd.coreservices.zones.dtn.com/v1/apis/dtn-energy-event-index-api/postman-collection/1.0.0
🔗
Postman
https://dev-portal-api.prd.coreservices.zones.dtn.com/v1/apis/dtn-enhanced-flight-hazards-api/postman-collection/1.10.2
🔗
ReleaseNotes
https://dev-portal-api.prd.coreservices.zones.dtn.com/v1/apis/dtn-enhanced-flight-hazards-api/release-notes/1.10.2
🔗
ReleaseNotes
https://dev-portal-api.prd.coreservices.zones.dtn.com/v1/apis/dtn-lightning-websocket/release-notes/1.0.0
🔗
Postman
https://dev-portal-api.prd.coreservices.zones.dtn.com/v1/apis/dtn-metars-api/postman-collection/1.9.0
🔗
ReleaseNotes
https://dev-portal-api.prd.coreservices.zones.dtn.com/v1/apis/dtn-metars-api/release-notes/1.9.0
🔗
Postman
https://dev-portal-api.prd.coreservices.zones.dtn.com/v1/apis/dtn-map-tile-api/postman-collection/2.0.16
🔗
ReleaseNotes
https://dev-portal-api.prd.coreservices.zones.dtn.com/v1/apis/dtn-map-tile-api/release-notes/2.0.16
🔗
Postman
https://dev-portal-api.prd.coreservices.zones.dtn.com/v1/apis/dtn-marine-weather-api/postman-collection/1.0.0
🔗
ReleaseNotes
https://dev-portal-api.prd.coreservices.zones.dtn.com/v1/apis/dtn-marine-weather-api/release-notes/1.0.0
🔗
Postman
https://dev-portal-api.prd.coreservices.zones.dtn.com/v1/apis/dtn-notams-api/postman-collection/1.10.1
🔗
ReleaseNotes
https://dev-portal-api.prd.coreservices.zones.dtn.com/v1/apis/dtn-notams-api/release-notes/1.10.1
🔗
Postman
https://dev-portal-api.prd.coreservices.zones.dtn.com/v1/apis/dtn-pireps-api/postman-collection/1.9.0
🔗
ReleaseNotes
https://dev-portal-api.prd.coreservices.zones.dtn.com/v1/apis/dtn-pireps-api/release-notes/1.9.0
🔗
ReleaseNotes
https://dev-portal-api.prd.coreservices.zones.dtn.com/v1/apis/pavement-conditions-api/release-notes/2.0.2
🔗
Postman
https://dev-portal-api.prd.coreservices.zones.dtn.com/v1/apis/dtn-probabilistic-api/postman-collection/1.0.0
🔗
Postman
https://dev-portal-api.prd.coreservices.zones.dtn.com/v1/apis/dtn-renewables-api/postman-collection/1.0.0
🔗
ReleaseNotes
https://dev-portal-api.prd.coreservices.zones.dtn.com/v1/apis/dtn-renewables-api/release-notes/1.0.0
🔗
Postman
https://dev-portal-api.prd.coreservices.zones.dtn.com/v1/apis/dtn-sigmets-airmets/postman-collection/1.9.0
🔗
ReleaseNotes
https://dev-portal-api.prd.coreservices.zones.dtn.com/v1/apis/dtn-sigmets-airmets/release-notes/1.9.0
🔗
Postman
https://dev-portal-api.prd.coreservices.zones.dtn.com/v1/apis/dtn-soil-api/postman-collection/1.0.0
🔗
ReleaseNotes
https://dev-portal-api.prd.coreservices.zones.dtn.com/v1/apis/dtn-soil-api/release-notes/1.0.0
🔗
Postman
https://dev-portal-api.prd.coreservices.zones.dtn.com/v1/apis/dtn-storm-impact-analytics/postman-collection/1.0.0
🔗
Postman
https://dev-portal-api.prd.coreservices.zones.dtn.com/v1/apis/dtn-storm-risk-analytics-api/postman-collection/1.0.0
🔗
ReleaseNotes
https://dev-portal-api.prd.coreservices.zones.dtn.com/v1/apis/dtn-storm-risk-analytics-api/release-notes/1.0.0
🔗
Postman
https://dev-portal-api.prd.coreservices.zones.dtn.com/v1/apis/dtn-tafs-api/postman-collection/1.9.0
🔗
ReleaseNotes
https://dev-portal-api.prd.coreservices.zones.dtn.com/v1/apis/dtn-tafs-api/release-notes/1.9.0
🔗
Postman
https://dev-portal-api.prd.coreservices.zones.dtn.com/v1/apis/dtn-tropical-api/postman-collection/1.0.6
🔗
ReleaseNotes
https://dev-portal-api.prd.coreservices.zones.dtn.com/v1/apis/dtn-tropical-api/release-notes/1.0.6
🔗
Postman
https://dev-portal-api.prd.coreservices.zones.dtn.com/v1/apis/dtn-windsaloft-api/postman-collection/1.9.0
🔗
ReleaseNotes
https://dev-portal-api.prd.coreservices.zones.dtn.com/v1/apis/dtn-windsaloft-api/release-notes/1.9.0
🔗
ReleaseNotes
https://dev-portal-api.prd.coreservices.zones.dtn.com/v1/apis/digital-commerce-orders/release-notes/1.0.0

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/dtn-qva-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

dtn-qva-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: DTN Aviation Enhanced Flight Hazards (EFH) QVA API
  description: The DTN Aviation Enhanced Flight Hazards (EFH) API retrieves available turbulence (including Nowcast), icing, high ice water content (HIWC), thunderstorms, ozone, jet stream axis, space weather, and Quantitative Volcanic Ash (QVA) data.  Each data type has its own endpoint.  Filtering parameters allow to limit data requests in various ways, particularly in limiting the area for which to find data.
  version: 1.10.3
servers:
- url: https://aviation.api.dtn.com
security:
- clientCredentials: []
tags:
- name: QVA
  description: Quantitative Volcanic Ash (QVA) data ΓÇö ash cloud polygons, deterministic and probabilistic ash concentration forecasts, and active volcano listings.
paths:
  /v1/ashcloudQvas/:
    get:
      tags:
      - QVA
      summary: Get ash cloud QVA polygons
      description: Get available IWXXM parsed ash cloud polygons from QVA data, potentially filtered by various query parameters. All specified filter parameters must be satisfied for an object to be returned in the response.
      responses:
        '200':
          $ref: '#/components/responses/AshcloudQvaSuccess'
        '400':
          $ref: '#/components/responses/AshcloudQvaBadRequest'
        '401':
          $ref: '#/components/responses/ErrorUnauthorized'
      parameters:
      - $ref: '#/components/parameters/QueryOffset'
      - $ref: '#/components/parameters/QueryLimit'
      - $ref: '#/components/parameters/QueryBbox'
      - $ref: '#/components/parameters/QueryPolygon'
      - $ref: '#/components/parameters/QueryCircle'
      - $ref: '#/components/parameters/QueryCorridor'
      - $ref: '#/components/parameters/QueryDistanceUnits'
      - $ref: '#/components/parameters/QuerySrid'
      - $ref: '#/components/parameters/QueryGeometry'
      - $ref: '#/components/parameters/QueryIntersection'
      - $ref: '#/components/parameters/AshcloudQvaQueryFromDateTime'
      - $ref: '#/components/parameters/AshcloudQvaQueryUntilDateTime'
      - $ref: '#/components/parameters/AshcloudQvaQueryInsertedAfter'
      - $ref: '#/components/parameters/AshcloudQvaQueryInsertedThrough'
      - $ref: '#/components/parameters/QueryAshcloudQvaEventType'
      - $ref: '#/components/parameters/QueryAshcloudQvaVolcanoid'
      - $ref: '#/components/parameters/QueryAshcloudQvaVaacid'
      security:
      - clientCredentials: []
  /v1/deterministicQvas/:
    get:
      tags:
      - QVA
      summary: Get deterministic QVA polygons
      description: Get available deterministic ash concentration polygons from QVA data, potentially filtered by various query parameters. All specified filter parameters must be satisfied for an object to be returned in the response.
      responses:
        '200':
          $ref: '#/components/responses/DeterministicQvaSuccess'
        '400':
          $ref: '#/components/responses/DeterministicQvaBadRequest'
        '401':
          $ref: '#/components/responses/ErrorUnauthorized'
      parameters:
      - $ref: '#/components/parameters/QueryOffset'
      - $ref: '#/components/parameters/QueryLimit'
      - $ref: '#/components/parameters/QueryBbox'
      - $ref: '#/components/parameters/QueryPolygon'
      - $ref: '#/components/parameters/QueryCircle'
      - $ref: '#/components/parameters/QueryCorridor'
      - $ref: '#/components/parameters/QueryDistanceUnits'
      - $ref: '#/components/parameters/QuerySrid'
      - $ref: '#/components/parameters/QueryGeometry'
      - $ref: '#/components/parameters/QueryIntersection'
      - $ref: '#/components/parameters/DeterministicQvaQueryFromDateTime'
      - $ref: '#/components/parameters/DeterministicQvaQueryUntilDateTime'
      - $ref: '#/components/parameters/DeterministicQvaQueryInsertedAfter'
      - $ref: '#/components/parameters/DeterministicQvaQueryInsertedThrough'
      - $ref: '#/components/parameters/DeterministicQvaQueryModelDateTime'
      - $ref: '#/components/parameters/QueryDeterministicQvaEventType'
      - $ref: '#/components/parameters/QueryDeterministicQvaFlightLevel'
      - $ref: '#/components/parameters/QueryDeterministicQvaMinConcentration'
      - $ref: '#/components/parameters/QueryDeterministicQvaVolcanoid'
      - $ref: '#/components/parameters/QueryDeterministicQvaVaacid'
      security:
      - clientCredentials: []
  /v1/probabilisticQvas/:
    get:
      tags:
      - QVA
      summary: Get probabilistic QVA polygons
      description: Get available probabilistic ash probability polygons from QVA data, potentially filtered by various query parameters. All specified filter parameters must be satisfied for an object to be returned in the response.
      responses:
        '200':
          $ref: '#/components/responses/ProbabilisticQvaSuccess'
        '400':
          $ref: '#/components/responses/ProbabilisticQvaBadRequest'
        '401':
          $ref: '#/components/responses/ErrorUnauthorized'
      parameters:
      - $ref: '#/components/parameters/QueryOffset'
      - $ref: '#/components/parameters/QueryLimit'
      - $ref: '#/components/parameters/QueryBbox'
      - $ref: '#/components/parameters/QueryPolygon'
      - $ref: '#/components/parameters/QueryCircle'
      - $ref: '#/components/parameters/QueryCorridor'
      - $ref: '#/components/parameters/QueryDistanceUnits'
      - $ref: '#/components/parameters/QuerySrid'
      - $ref: '#/components/parameters/QueryGeometry'
      - $ref: '#/components/parameters/QueryIntersection'
      - $ref: '#/components/parameters/ProbabilisticQvaQueryFromDateTime'
      - $ref: '#/components/parameters/ProbabilisticQvaQueryUntilDateTime'
      - $ref: '#/components/parameters/ProbabilisticQvaQueryInsertedAfter'
      - $ref: '#/components/parameters/ProbabilisticQvaQueryInsertedThrough'
      - $ref: '#/components/parameters/ProbabilisticQvaQueryModelDateTime'
      - $ref: '#/components/parameters/QueryProbabilisticQvaEventType'
      - $ref: '#/components/parameters/QueryProbabilisticQvaFlightLevel'
      - $ref: '#/components/parameters/QueryProbabilisticQvaMinProbability'
      - $ref: '#/components/parameters/QueryProbabilisticQvaVolcanoid'
      - $ref: '#/components/parameters/QueryProbabilisticQvaVaacid'
      security:
      - clientCredentials: []
  /v1/activeVolcanoQvas/:
    get:
      tags:
      - QVA
      summary: Get active volcanoes with QVA data
      description: Returns volcanoes that currently have active QVA forecast data (IWXXM, deterministic, or probabilistic). Each feature is a GeoJSON Point at the volcano location. The volcanoid field can be used to filter calls to /v1/ashcloudQvas/, /v1/deterministicQvas/, and /v1/probabilisticQvas/.
      responses:
        '200':
          $ref: '#/components/responses/ActiveVolcanoQvaSuccess'
        '400':
          $ref: '#/components/responses/ActiveVolcanoQvaBadRequest'
        '401':
          $ref: '#/components/responses/ErrorUnauthorized'
      parameters:
      - $ref: '#/components/parameters/QueryActiveVolcanoQvaEventType'
      - $ref: '#/components/parameters/QueryActiveVolcanoQvaVaacid'
      security:
      - clientCredentials: []
components:
  schemas:
    Meta:
      title: Meta
      description: Meta data attached to every response
      required:
      - name
      - request_id
      - start_timestamp
      - end_timestamp
      - execution_time
      type: object
      properties:
        name:
          type: string
        request_id:
          type: string
        start_timestamp:
          type: integer
        end_timestamp:
          type: integer
        execution_time:
          type: integer
    DeterministicQvaFeature:
      description: GeoJSon 'Feature' object
      externalDocs:
        url: https://tools.ietf.org/html/rfc7946#section-3.2
      allOf:
      - $ref: '#/components/schemas/GeoJsonObject'
      - type: object
        required:
        - geometry
        - properties
        properties:
          geometry:
            allOf:
            - {}
            - $ref: '#/components/schemas/Geometry'
          properties:
            $ref: '#/components/schemas/DeterministicQvaItem'
          id:
            oneOf:
            - type: number
            - type: string
    ActiveVolcanoQvaItem:
      type: object
      properties:
        volcanoid:
          type: string
        volcanoname:
          type: string
        iavceinumber:
          type: string
        elevation_m:
          type: integer
        vaacname:
          type: string
        vaacdesignator:
          type: string
        latestissuetime:
          type: string
          format: date-time
        latestmodelrundatetime:
          type: string
          format: date-time
        hasiwxxm:
          type: boolean
        hasdeterministic:
          type: boolean
        hasprobabilistic:
          type: boolean
        eventtype:
          type: string
    AshcloudQvaItem:
      type: object
      properties:
        cloudid:
          type: integer
        validdatetime:
          type: string
          format: date-time
        volcanoid:
          type: string
        volcanoname:
          type: string
        iavceinumber:
          type: string
        volcanolat:
          type: number
        volcanolon:
          type: number
        lowerfl:
          type: integer
        upperfl:
          type: integer
        flightlevelrange:
          type: string
        ashconcentrationthreshold:
          type: number
        concentrationuom:
          type: string
        vertexcount:
          type: integer
        areasqkm:
          type: number
        issuetime:
          type: string
          format: date-time
        vaacname:
          type: string
    GeoJsonObject:
      description: 'GeoJSon object The coordinate reference system for all GeoJSON coordinates is a geographic coordinate reference system, using the World Geodetic System 1984 (WGS 84) datum, with longitude and latitude units of decimal degrees. This is equivalent to the coordinate reference system identified by the Open Geospatial Consortium (OGC) URN An OPTIONAL third-position element SHALL be the height in meters above or below the WGS 84 reference ellipsoid. In the absence of elevation values, applications sensitive to height or depth SHOULD interpret positions as being at local ground or sea level.

        '
      externalDocs:
        url: https://tools.ietf.org/html/rfc7946#section-3
      type: object
      properties:
        type:
          type: string
          enum:
          - Feature
          - FeatureCollection
          - Point
          - MultiPoint
          - LineString
          - MultiLineString
          - Polygon
          - MultiPolygon
          - GeometryCollection
        bbox:
          description: 'A GeoJSON object MAY have a member named "bbox" to include information on the coordinate range for its Geometries, Features, or FeatureCollections. The value of the bbox member MUST be an array of length 2*n where n is the number of dimensions represented in the contained geometries, with all axes of the most southwesterly point followed by all axes of the more northeasterly point. The axes order of a bbox follows the axes order of geometries.

            '
          type: array
          items:
            type: number
      required:
      - type
      discriminator:
        propertyName: type
    DeterministicQvaItem:
      type: object
      properties:
        polygonid:
          type: integer
        runid:
          type: integer
        validdatetime:
          type: string
          format: date-time
        flightlevel:
          type: integer
        concentration:
          type: number
        volcanoname:
          type: string
        volcanoid:
          type: string
        vaacname:
          type: string
        vaacid:
          type: string
        eventtype:
          type: string
        modelrundatetime:
          type: string
          format: date-time
    ActiveVolcanoQvaFeatureCollection:
      description: GeoJSon 'FeatureCollection' object
      externalDocs:
        url: https://tools.ietf.org/html/rfc7946#section-3.3
      allOf:
      - $ref: '#/components/schemas/GeoJsonObject'
      - type: object
        required:
        - features
        properties:
          features:
            type: array
            items:
              $ref: '#/components/schemas/ActiveVolcanoQvaFeature'
    AshcloudQvaFeatureCollection:
      description: GeoJSon 'FeatureCollection' object
      externalDocs:
        url: https://tools.ietf.org/html/rfc7946#section-3.3
      allOf:
      - $ref: '#/components/schemas/GeoJsonObject'
      - type: object
        required:
        - features
        properties:
          features:
            type: array
            items:
              $ref: '#/components/schemas/AshcloudQvaFeature'
    ActiveVolcanoQvaFeature:
      description: GeoJSon 'Feature' object
      externalDocs:
        url: https://tools.ietf.org/html/rfc7946#section-3.2
      allOf:
      - $ref: '#/components/schemas/GeoJsonObject'
      - type: object
        required:
        - geometry
        - properties
        properties:
          geometry:
            allOf:
            - {}
            - $ref: '#/components/schemas/Geometry'
          properties:
            $ref: '#/components/schemas/ActiveVolcanoQvaItem'
          id:
            oneOf:
            - type: number
            - type: string
    Geometry:
      type: object
      description: GeoJSon geometry
      discriminator:
        propertyName: type
      required:
      - type
      externalDocs:
        url: http://geojson.org/geojson-spec.html#geometry-objects
      properties:
        type:
          type: string
          enum:
          - Point
          - LineString
          - Polygon
          - MultiPoint
          - MultiLineString
          - MultiPolygon
          description: the geometry type
    ProbabilisticQvaFeature:
      description: GeoJSon 'Feature' object
      externalDocs:
        url: https://tools.ietf.org/html/rfc7946#section-3.2
      allOf:
      - $ref: '#/components/schemas/GeoJsonObject'
      - type: object
        required:
        - geometry
        - properties
        properties:
          geometry:
            allOf:
            - {}
            - $ref: '#/components/schemas/Geometry'
          properties:
            $ref: '#/components/schemas/ProbabilisticQvaItem'
          id:
            oneOf:
            - type: number
            - type: string
    ProbabilisticQvaFeatureCollection:
      description: GeoJSon 'FeatureCollection' object
      externalDocs:
        url: https://tools.ietf.org/html/rfc7946#section-3.3
      allOf:
      - $ref: '#/components/schemas/GeoJsonObject'
      - type: object
        required:
        - features
        properties:
          features:
            type: array
            items:
              $ref: '#/components/schemas/ProbabilisticQvaFeature'
    Error:
      title: Error
      description: Error
      required:
      - type
      - title
      - status
      - detail
      - meta
      type: object
      properties:
        url:
          type: string
        type:
          enum:
          - internal-server-error
          - unauthorized
          - bad-request
          - service-unavailable
          - forbidden
          - not-found
          type: string
        title:
          type: string
        status:
          type: number
        detail:
          type: string
        instance:
          type: string
        errors:
          type: array
          items:
            type: object
        meta:
          $ref: '#/components/schemas/Meta'
    ProbabilisticQvaItem:
      type: object
      properties:
        polygonid:
          type: integer
        runid:
          type: integer
        validdatetime:
          type: string
          format: date-time
        flightlevel:
          type: integer
        thresholdvalue:
          type: number
        probability:
          type: number
        volcanoname:
          type: string
        volcanoid:
          type: string
        vaacname:
          type: string
        vaacid:
          type: string
        eventtype:
          type: string
        modelrundatetime:
          type: string
          format: date-time
    AshcloudQvaFeature:
      description: GeoJSon 'Feature' object
      externalDocs:
        url: https://tools.ietf.org/html/rfc7946#section-3.2
      allOf:
      - $ref: '#/components/schemas/GeoJsonObject'
      - type: object
        required:
        - geometry
        - properties
        properties:
          geometry:
            allOf:
            - {}
            - $ref: '#/components/schemas/Geometry'
          properties:
            $ref: '#/components/schemas/AshcloudQvaItem'
          id:
            oneOf:
            - type: number
            - type: string
    DeterministicQvaFeatureCollection:
      description: GeoJSon 'FeatureCollection' object
      externalDocs:
        url: https://tools.ietf.org/html/rfc7946#section-3.3
      allOf:
      - $ref: '#/components/schemas/GeoJsonObject'
      - type: object
        required:
        - features
        properties:
          features:
            type: array
            items:
              $ref: '#/components/schemas/DeterministicQvaFeature'
  responses:
    ErrorUnauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            type: unauthorized
            title: Error while authenticating the user
            status: 401
            detail: Missing Authorization token.
            instance: urn:dtn:aviation-api:/v1/notams/KIND:requestId:19e1b83a-cb2e-4460-b687-ce9d0c50b4b6
            meta:
              name: v1.notams.KIND
              uuid: d64fc634-9bee-430d-8ab1-200337e6e9b2
              request_id: 19e1b83a-cb2e-4460-b687-ce9d0c50b4b6
              start_timestamp: 1714019217213
              end_timestamp: 1714019217246
              execution_time: 33
    ActiveVolcanoQvaSuccess:
      description: Successful
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ActiveVolcanoQvaFeatureCollection'
          examples:
            Success:
              $ref: '#/components/examples/ActiveVolcanoQvaSuccessResponse'
    ProbabilisticQvaSuccess:
      description: Successful
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProbabilisticQvaFeatureCollection'
          examples:
            Success:
              $ref: '#/components/examples/ProbabilisticQvaSuccessResponse'
    AshcloudQvaBadRequest:
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            BadRequest:
              $ref: '#/components/examples/AshcloudQvaBadRequestResponse'
    ActiveVolcanoQvaBadRequest:
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            BadRequest:
              $ref: '#/components/examples/ActiveVolcanoQvaBadRequestResponse'
    AshcloudQvaSuccess:
      description: Successful
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AshcloudQvaFeatureCollection'
          examples:
            Success:
              $ref: '#/components/examples/AshcloudQvaSuccessResponse'
    DeterministicQvaBadRequest:
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            BadRequest:
              $ref: '#/components/examples/DeterministicQvaBadRequestResponse'
    DeterministicQvaSuccess:
      description: Successful
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/DeterministicQvaFeatureCollection'
          examples:
            Success:
              $ref: '#/components/examples/DeterministicQvaSuccessResponse'
    ProbabilisticQvaBadRequest:
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            BadRequest:
              $ref: '#/components/examples/ProbabilisticQvaBadRequestResponse'
  parameters:
    ProbabilisticQvaQueryFromDateTime:
      name: fromDateTime
      description: UTC timestamp in format `YYYY-MM-DD hh:mm:ss`.  Limits to objects whose `expirationDateTime` is later than that specified value, i.e., only objects not ended by this time.  A time value being accepted through this parameter does not mean there will be applicable data to return in response.  Allowed values relative to the current time vary depending on the data type.
      in: query
      required: false
      schema:
        type: string
        pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}
    QueryProbabilisticQvaEventType:
      name: eventtype
      description: 'Event type filter. Allowed values: OPERATIONAL (default), EXERCISE, TEST, ALL, or comma-separated combination.'
      in: query
      required: false
      schema:
        type: string
        default: OPERATIONAL
    AshcloudQvaQueryInsertedThrough:
      name: insertedThrough
      description: UTC timestamp in format `YYYY-MM-DD hh:mm:ss.fff`.  Limits to objects whose `insertedDateTime` is not later than that specified value.  This allows to acquire only data that became available through this time.  Requires use of fractional seconds for full precision.  A data insertion time value being accepted through this parameter does not mean there will be applicable data to return in response.  Allowed values relative to the current time vary depending on the data type.
      in: query
      required: false
      schema:
        type: string
        pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}(\.\d+)?
    ProbabilisticQvaQueryModelDateTime:
      name: modelDateTime
      description: UTC timestamp in format `YYYY-MM-DD hh:00:00`.  Limits to objects whose `modelDateTime` (for model run time) is specifically the given value, overriding the default setting to provide data from the latest completely ingest model run.  The `hh` must be one of `00`, `06`, `12`, or `18`, and date portion must be recent.  Value must be no earlier than 24 hours ago (because only most recent 2 to 3 model runs may be available) no later than 3 hours ago (because model run data are not available until at least 3 hours after the run time).  A model run time value being accepted through this parameter does not mean there will be applicable data to return in response.
      in: query
      required: false
      schema:
        type: string
        pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}
    ProbabilisticQvaQueryUntilDateTime:
      name: untilDateTime
      description: UTC timestamp in format `YYYY-MM-DD hh:mm:ss`.  Limits to objects whose `validDateTime` is earlier than the specified value, i.e., only objects that began before this time.  A time value being accepted through this parameter does not mean there will be applicable data to return in response.  Allowed values relative to the current time vary depending on the data type.
      in: query
      required: false
      schema:
        type: string
        pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}
    QueryActiveVolcanoQvaEventType:
      name: eventtype
      in: query
      required: false
      description: 'Event type filter. Allowed values: OPERATIONAL (default), EXERCISE, TEST, ALL.'
      schema:
        type: string
        default: OPERATIONAL
    QueryDeterministicQvaMinConcentration:
      name: minConcentration
      description: Minimum ash concentration value to include in results.
      in: query
      required: false
      schema:
        type: number
    QueryDeterministicQvaFlightLevel:
      name: flightLevel
      description: 'Filter by flight level band. Each value is the top (inclusive upper bound) of a 5,000 ft range. Valid values: 50, 100, 150, 200, 250, 300, 350, 400, 450, 500, 550, 600. Range definitions: 50=FL000-FL050, 100=FL050-FL100, 150=FL100-FL150, 200=FL150-FL200, 250=FL200-FL250, 300=FL250-FL300, 350=FL300-FL350, 400=FL350-FL400, 450=FL400-FL450, 500=FL450-FL500, 550=FL500-FL550, 600=FL550-FL600.'
      in: query
      required: false
      schema:
        type: integer
        enum:
        - 50
        - 100
        - 150
        - 200
        - 250
        - 300
        - 350
        - 400
        - 450
        - 500
        - 550
        - 600
    QueryAshcloudQvaVaacid:
      name: vaacid
      description: Filter by VAAC identifier (e.g., EGRR, VAAC_LONDON).
      in: query
      required: false
      schema:
        type: string
    QueryDeterministicQvaVolcanoid:
      name: volcanoid
      description: Filter by volcano identifier (integer). Must be a numeric ID matching the volcanoid in qva_netcdf_forecast_runs. Use the /v1/activeVolcanoQvas/ endpoint to discover available volcano IDs.
      in: query
      required: false
      schema:
        type: integer
    QueryAshcloudQvaVolcanoid:
      name: volcanoid
      description: Filter by volcano identifier (integer, e.g. 372020). Use the /v1/activeVolcanoQvas/ endpoint to discover available volcano IDs.
      in: query
      required: false
      schema:
        type: integer
    QueryLimit:
      name: limit
      description: Provide no more than this many items in the response set.
      in: query
      required: false
      schema:
        type: integer
        default: 1000
        minimum: 1
        maximum: 10000
    QueryProbabilisticQvaFlightLevel:
      name: flightLevel
      description: 'Filter by flight level band. Each value is the top (inclusive upper bound) of a 5,000 ft range. Valid values: 50, 100, 150, 200, 250, 300, 350, 400, 450, 500, 550, 600. Range definitions: 50=FL000-FL050, 100=FL050-FL100, 150=FL100-FL150, 200=FL150-FL200, 250=FL200-FL250, 300=FL250-FL300, 350=FL300-FL350, 400=FL350-FL400, 450=FL400-FL450, 500=FL450-FL500, 550=FL500-FL550, 600=FL550-FL600.'
      in: query
      required: false
      schema:
        type: integer
        enum:
        - 50
        - 100
        - 150
        - 200
        - 250
        - 300
        - 350
        - 400
        - 450
        - 500
        - 550
        - 600
    QueryCircle:
      name: circle
      description: Circle coordinates and radius distance in the format `<X>,<Y>,<RADIUS>`.  The `X,Y` coordinates must be consistent with the `srid` (`4326` for longitude/latitude by default).  The `<RADIUS>` defines the distance (in default or `distanceUnits`-specified units) from the defined point.  Limits to objects within or intersecting the area so defined.  No more than one of `bbox`, `polygon`, `circle`, and `corridor` may be used in one request.  Requests with circle definition of area that crosses antimeridian will fail.  The larger the defined area, the more its shape on projected map will differ from true circle on spherical coordinates.  Maximum allowed <RADIUS> is 400nm (and equal lengths for different `distanceUnits`).
      in: query
      required: false
      schema:
        type: string
    QueryBbox:
      name: bbox
      description: Bounding box coordinates in the format `<min_X>,<min_Y>,<max_X>,<max_Y>`.  The `X,Y` coordinates must be consistent with the `srid` (`4326` for longitude/latitude by default).  Limits to objects within or intersecting the area so defined.  No more than one of `bbox`, `polygon`, `circle`, and `corridor` may be used in one request.  Requests with bbox definition of area that crosses antimeridian will fail.
      in: query
      required: false
      schema:
        type: string
    QueryIntersection:
      name: intersection
      description: 'Boolean indicator for constraining object geometries to spatial filter coverage.  If true, object shapes will be truncated at the bounds of the spatial filter.  NOTE: Over large areas and if intersecting the antimeridian the results will likely be inaccurate.'
      in: query
      required: false
      schema:
        type: boolean
        default: false
    QueryActiveVolcanoQvaVaacid:
      name: vaacid
      in: query
      required: false
      description: Filter by VAAC identifier (e.g., EGRR, VAAC_LONDON).
      schema:
        type: string
    QueryProbabilisticQvaMinProbability:
      name: minProbability
      description: Minimum probability value to include in results.
      in: query
      required: false
      schema:
        type: number
    QueryPolygon:
      name: polygon
      description: Polygon coordinates in the format `<X_0>,<Y_0>,<X_1>,<Y_1>...,<X_n>,<Y_n>`.  The `X,Y` coordinates must be consistent with the `srid` (`4326` for longitude/latitude by default).  Must provide between 3 and 40 coordinates.  If the last `X,Y` does not match the first `X,Y`, the first `X,Y` is copied to the end to close the polygon.  Limits to objects within or intersecting the area so defined.  No more than one of `bbox`, `polygon`, `circle`, and `corridor` may be used in one request.  Requests with polygon definition of area that crosses antimeridian will fail or give unexpected results.
      in: query
      required: false
      schema:
        type: string
    DeterministicQvaQueryUntilDateTime:
      name: untilDateTime
      description: UTC timestamp in format `YYYY-MM-DD hh:mm:ss`.  Limits to objects whose `validDateTime` is earlier than the specified value, i.e., only objects that began before this time.  A time value being accepted through this parameter does not mean there will be applicable data to return in response.  Allowed values relative to the current time vary depending on the data type.
      in: query
      required: false
      schema:
        type: string
        pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}
    AshcloudQvaQueryInsertedAfter:
      name: insertedAfter
      description: UTC timestamp in format `YYYY-MM-DD hh:mm:ss.fff`.  Limits to objects whose `insertedDateTime` is later than that specified value.  This allows to acquire only data that became available after this time.  Requires use of fractional seconds for full precision.  A data insertion time value being accepted through this parameter does not mean there will be applicable data to return in response.  Allowed values relative to the current time vary depending on the data type.
      in: query
      required: false
      schema:
        type: string
        pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}(\.\d+)?
    QueryProbabilisticQvaVolcanoid:
      name: volcanoid
      description: Filter by volcano identifier (integer). Must be a numeric ID matching the volcanoid in qva_netcdf_forecast_runs. Use the /v1/activeVolcanoQvas/ endpoint to discover available volcano IDs.
      in: query
      required: false
      schema:
        type: integer
    ProbabilisticQvaQueryInsertedAfter:
      name: insertedAfter
      description: UTC timestamp in format `YYYY-MM-DD hh:mm:ss.fff`.  Limits to objects whose `insertedDateTime` is later than that specified value.  This allows to acquire only data that became available after this time.  Requires use of fractional seconds for full precision.  A data insertion time value being accepted through this parameter does not mean there will be applicable data to return in response.  Allowed values relative to the current time vary depending on the data type.
      in: query
      required: false
      schema:
        type: string
        pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}(\.\d+)?
    QueryOffset:
      name: offset
      description: Skip over this many into the response set; used for paginated results.
      in: query
      required: false
      schema:
        type: integer
        default: 0
    DeterministicQvaQueryModelDateTime:
      name: modelDateTime
      description: UTC timestamp in format `YYYY-MM-DD hh:00:00`.  Limits to objects whose `modelDateTime` (for model run time) is specifically the given value, overriding the default setting to provide data from the latest completely ingest model run.  The `hh` must be one of `00`, `06`, `12`, or `18`, and date portion must be recent.  Value must be no earlier than 24 hours ago (because only most recent 2 to 3 model runs may be available) no later than 3 hours ago (because model run data are not available until at least 3 hours after the run time).  A model run time value being accepted through this parameter does not mean there will be applicable data to return in response.
    

# --- truncated at 32 KB (53 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/dtn/refs/heads/main/openapi/dtn-qva-api-openapi.yml