DTN

DTN Outlooks API

Convective and Fire Outlooks

Operations 5

GET /feeds/v3/outlook/day{convective_outlook_horizon} Get current Outlooks, Day{1-8}
GET /feeds/v3/outlook/day{horizon}/archive/{year}/{month}/{day}/{hour}/{minute} Get historic Outlooks, Day{1-8}, for a given timestamp
GET /feeds/v3/outlook Get current Outlooks, defaulting to Day1
GET /feeds/v3/outlook/{convective_outlook_id} Get raw text of a specific outlook
GET /feeds/v3/outlook/archive/{year}/{month}/{day}/{hour}/{minute} Get historic Outlooks, defaulting to Day1, for a given timestamp

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-outlooks-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-outlooks-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: RadarScope Radar Data API
  version: 3.0.0
  title: RadarScope Radar Data Outlooks API
servers:
- url: https://radarscope-feeds.wdtinc.com
schemes:
- https
tags:
- name: Outlooks
  description: Convective and Fire Outlooks
paths:
  /feeds/v3/outlook/day{convective_outlook_horizon}:
    get:
      tags:
      - Outlooks
      summary: Get current Outlooks, Day{1-8}
      description: Get current Outlooks, Day{1-8}
      produces:
      - application/json
      parameters:
      - $ref: '#/components/parameters/convective_outlook_horizon'
      responses:
        '200':
          $ref: '#/components/responses/outlook_list'
  /feeds/v3/outlook/day{horizon}/archive/{year}/{month}/{day}/{hour}/{minute}:
    get:
      tags:
      - Outlooks
      summary: Get historic Outlooks, Day{1-8}, for a given timestamp
      description: Get historic Outlooks, Day{1-8}, for a given timestamp
      produces:
      - application/json
      parameters:
      - $ref: '#/components/parameters/convective_outlook_horizon'
      - $ref: '#/components/parameters/year'
      - $ref: '#/components/parameters/month'
      - $ref: '#/components/parameters/day'
      - $ref: '#/components/parameters/hour'
      - $ref: '#/components/parameters/minute'
      responses:
        '200':
          $ref: '#/components/responses/outlook_list'
  /feeds/v3/outlook:
    get:
      tags:
      - Outlooks
      summary: Get current Outlooks, defaulting to Day1
      description: Get current Outlooks, defaulting to Day1
      produces:
      - application/json
      parameters: []
      responses:
        '200':
          $ref: '#/components/responses/outlook_list'
  /feeds/v3/outlook/{convective_outlook_id}:
    get:
      tags:
      - Outlooks
      summary: 'Get raw text of a specific outlook '
      description: 'Get raw text of a specific outlook '
      produces:
      - text/plain
      parameters:
      - $ref: '#/components/parameters/convective_outlook_id'
      responses:
        '200':
          description: Outlook Text
          headers:
            Content-Type:
              $ref: '#/components/headers/content-type'
          content:
            text/plain:
              example: "843 \nFNUS21 KWNS 121650\nFWDDY1\n\nDay 1 Fire Weather Outlook  \nNWS Storm Prediction Center Norman OK\n1050 AM CST Mon Jan 12 2026\n\nValid 121700Z - 131200Z\n\n...Central and Northern High Plains...\nRobust mid-level northwest flow aloft along with enhanced lee\ntroughing across the northern High Plains will continue to favor \nenhanced downslope winds and drying across central MT and eastern\nWY. RH recoveries across central MT were generally below 40%, with\nRH expected to fall into the 20-30% range this afternoon. Current\nsustained west winds of 20-30 mph (locally 30-40 mph in adjacent\nleeward locations) with higher gusts will persist through the\nafternoon. These conditions will align with dry fine fuels to\nenhance wildland fire risk in lower, snow-free elevations. Farther\nsouth across eastern WY, a tapering off of mid-level flow should\npromote slightly reduced surface westerly winds across the area.\nHowever, drier conditions with relative humidity as low as 20%\nacross southeastern WY/far western NE Panhandle and dry fuels will\nyield a period of elevated fire weather concerns through this\nafternoon, with an extension of Elevated highlights into this\nregion.\n\n...Southern Plains...\nA tightening surface pressure gradient associated with a broad\nsurface trough extending southward across the Plains will encourage\ndevelopment of breezy southwest winds across portions of OK/northern\nTX. However, stronger winds of up to 20 mph across southern and\ncentral OK will be displaced eastward of a markedly drier air mass\nacross much of the southern High Plains and northwest TX.\nNonetheless, brief elevated fire weather concerns could emerge\nacross southwest/central OK where breezy winds align with relative\nhumidity below 20%.\n\n..Williams.. 01/12/2026\n\n.PREV DISCUSSION... /ISSUED 0204 AM CST Mon Jan 12 2026/\n\n...Synopsis...\nBroad troughing is forecast to persist over the eastern US with high\npressure building to the West. This will favor continued\nnorthwesterly flow over much of the CONUS. A stronger shortwave\ntrough within the flow aloft will pass over the northern and central\nRockies this afternoon. This, along with a strong surface pressure\ngradient will boost westerly low-level flow across the region,\nsupporting an increase in fire-weather concerns.\n\n...Central and Northern High Plains...\nStrong downslope winds are expected across much of the Rockies and\nadjacent High Plains today as upper-level ridging rapidly builds\nover the West. A shortwave trough embedded within strong\nwest/northwesterly flow will move southeastward overspreading an\nunusually warm and dry airmass for January. West-northwest winds of\n20-30 mph with higher gusts will combine with relative humidity in\nthe 20-30% range and dry fine fuels to facilitate an increased fire\ndanger across lower elevations of central MT and northern WY.\n\nFarther south winds are expected to be somewhat weaker and displaced\nfrom the stronger flow aloft. Still, strong westerly pressure\ngradients and drier surface conditions could promote a few hours of\nlocally elevated fire-weather conditions over portions of CO/WY/NE\nwhere fine fuels are very dry.\n\n...Southern Plains...\nAcross the Southern Plains, dry southwest flow will likely support\ndry and breezy conditions over parts of OK/TX. Afternoon RH values\nwill likely fall below 20%, though winds will be generally light.\nWhile recent rainfall has tempered fuels to some degree, fine fuels\nremain fairly dry and, some localized fire-weather concerns are\npossible.\n\n...Please see www.spc.noaa.gov/fire for graphic product...\n\n$$\n\n"
  /feeds/v3/outlook/archive/{year}/{month}/{day}/{hour}/{minute}:
    get:
      tags:
      - Outlooks
      summary: Get historic Outlooks, defaulting to Day1, for a given timestamp
      description: Get historic Outlooks, defaulting to Day1, for a given timestamp
      produces:
      - application/json
      parameters:
      - $ref: '#/components/parameters/year'
      - $ref: '#/components/parameters/month'
      - $ref: '#/components/parameters/day'
      - $ref: '#/components/parameters/hour'
      - $ref: '#/components/parameters/minute'
      responses:
        '200':
          $ref: '#/components/responses/outlook_list'
components:
  parameters:
    month:
      name: month
      in: path
      description: 2 digit month, 01-12
      required: true
      schema:
        type: string
    minute:
      name: minute
      in: path
      description: 2 digit minute, 00-59
      required: true
      schema:
        type: string
    day:
      name: day
      in: path
      description: 2 digit day, 01-31
      required: true
      schema:
        type: string
    convective_outlook_horizon:
      name: convective_outlook_horizon
      in: path
      description: horizon in days, 1 through 8 inclusive
      required: true
      schema:
        type: string
    convective_outlook_id:
      name: convective_outlook_id
      in: path
      description: id of the outlook to be retrieved
      required: true
      schema:
        type: string
    year:
      name: year
      in: path
      description: 4 digit year, e.g. 2026
      required: true
      schema:
        type: string
    hour:
      name: hour
      in: path
      description: 2 digit hour, 00-23
      required: true
      schema:
        type: string
  headers:
    content-type:
      description: MIME-type of returned data
      schema:
        type: string
  responses:
    outlook_list:
      description: Outlook List
      headers:
        Content-Type:
          $ref: '#/components/headers/content-type'
      content:
        application/json:
          example: "[\n\t{\n\t\t\"a\": \"2026011216-C\",\n\t\t\"t\": \"CATEGORICAL\",\n\t\t\"o\": \"KWNS\",\n\t\t\"b\": 1768235400,\n\t\t\"e\": 1768305600,\n\t\t\"f\": \"MRGL\",\n\t\t\"p\": [],\n\t\t\"s\": \"D1\"\n\t},\n\t{\n\t\t\"a\": \"202601121650-F\",\n\t\t\"t\": \"FIRE\",\n\t\t\"o\": \"KWNS\",\n\t\t\"b\": 1768237200,\n\t\t\"e\": 1768305600,\n\t\t\"f\": \"ELEV\",\n\t\t\"p\": [\n\t\t\t[\n\t\t\t\t4540,\n\t\t\t\t-10853\n\t\t\t],\n\t\t\t[\n\t\t\t\t4525,\n\t\t\t\t-10934\n\t\t\t],\n\t\t\t[\n\t\t\t\t4563,\n\t\t\t\t-11012\n\t\t\t],\n\t\t\t[\n\t\t\t\t4636,\n\t\t\t\t-10999\n\t\t\t],\n\t\t\t[\n\t\t\t\t4681,\n\t\t\t\t-11002\n\t\t\t],\n\t\t\t[\n\t\t\t\t4731,\n\t\t\t\t-11087\n\t\t\t],\n\t\t\t[\n\t\t\t\t4764,\n\t\t\t\t-11111\n\t\t\t],\n\t\t\t[\n\t\t\t\t4805,\n\t\t\t\t-11046\n\t\t\t],\n\t\t\t[\n\t\t\t\t4806,\n\t\t\t\t-10968\n\t\t\t],\n\t\t\t[\n\t\t\t\t4769,\n\t\t\t\t-10849\n\t\t\t],\n\t\t\t[\n\t\t\t\t4698,\n\t\t\t\t-10738\n\t\t\t],\n\t\t\t[\n\t\t\t\t4658,\n\t\t\t\t-10612\n\t\t\t],\n\t\t\t[\n\t\t\t\t4601,\n\t\t\t\t-10528\n\t\t\t],\n\t\t\t[\n\t\t\t\t4565,\n\t\t\t\t-10460\n\t\t\t],\n\t\t\t[\n\t\t\t\t4544,\n\t\t\t\t-10428\n\t\t\t],\n\t\t\t[\n\t\t\t\t4513,\n\t\t\t\t-10419\n\t\t\t],\n\t\t\t[\n\t\t\t\t4493,\n\t\t\t\t-10452\n\t\t\t],\n\t\t\t[\n\t\t\t\t4452,\n\t\t\t\t-10493\n\t\t\t],\n\t\t\t[\n\t\t\t\t4372,\n\t\t\t\t-10506\n\t\t\t],\n\t\t\t[\n\t\t\t\t4304,\n\t\t\t\t-10426\n\t\t\t],\n\t\t\t[\n\t\t\t\t4189,\n\t\t\t\t-10364\n\t\t\t],\n\t\t\t[\n\t\t\t\t4121,\n\t\t\t\t-10329\n\t\t\t],\n\t\t\t[\n\t\t\t\t4081,\n\t\t\t\t-10374\n\t\t\t],\n\t\t\t[\n\t\t\t\t4082,\n\t\t\t\t-10487\n\t\t\t],\n\t\t\t[\n\t\t\t\t4093,\n\t\t\t\t-10520\n\t\t\t],\n\t\t\t[\n\t\t\t\t4126,\n\t\t\t\t-10544\n\t\t\t],\n\t\t\t[\n\t\t\t\t4167,\n\t\t\t\t-10548\n\t\t\t],\n\t\t\t[\n\t\t\t\t4195,\n\t\t\t\t-10529\n\t\t\t],\n\t\t\t[\n\t\t\t\t4263,\n\t\t\t\t-10564\n\t\t\t],\n\t\t\t[\n\t\t\t\t4286,\n\t\t\t\t-10644\n\t\t\t],\n\t\t\t[\n\t\t\t\t4331,\n\t\t\t\t-10699\n\t\t\t],\n\t\t\t[\n\t\t\t\t4389,\n\t\t\t\t-10678\n\t\t\t],\n\t\t\t[\n\t\t\t\t4452,\n\t\t\t\t-10700\n\t\t\t],\n\t\t\t[\n\t\t\t\t4511,\n\t\t\t\t-10782\n\t\t\t],\n\t\t\t[\n\t\t\t\t4531,\n\t\t\t\t-10808\n\t\t\t],\n\t\t\t[\n\t\t\t\t4540,\n\t\t\t\t-10853\n\t\t\t]\n\t\t],\n\t\t\"s\": \"D1\"\n\t}\n]"
  securitySchemes:
    clientCredentials:
      type: oauth2
      x-receive-token-in: request-body
      flows:
        clientCredentials:
          tokenUrl: https://api.auth.dtn.com/v1/tokens/authorize
      description: "# Using DAIS for M2M/API Auth\nYou have been given a Client ID and a Client Secret, which are used to request a DTN Access Token. DTN Access Tokens are required when making calls to each and every DTN API endpoint. The following information provides additional details on these tokens and how they are generated.\n## What is an Access Token and how is it different from an API Key?\nAn API Key is a random string of characters that an API uses to authorize whether or not a calling client has approved access to an endpoint. These keys are a non-standard approach to API authorization and are generally issued on a per-API basis.\n\nAn Access Token is also a string of characters but is a base-64 encoded JavaScript Object Notation Web Token, or JWT. JWTs are a widely accepted standard that use OAuth concepts and approaches. \n\nBoth API Keys and Access Tokens are used in an Authorization Request Header as a Bearer, meaning there is no difference in where you put this string of characters when you make calls to DTN APIs.\n## How to generate an Access Token?\nWhen requested, an Access Token is generated for your specific Client (ID/Secret) and for a specific API. The DTN Auth and Identity Service (DAIS) generates new Access Tokens for your client. The DAIS endpoint is `POST https://api.auth.dtn.com/v1/tokens/authorize`.\n\nThis endpoint takes two Header parameters:\n  * `Content-Type: application/json`\n  * `Accept: application/json`\n\nThis endpoint takes four parameters in the Request Body:\n  * `grant_type`: this should always be client_credentials for generating machine-to-machine tokens.\n  * `client_id`: this is the Client ID or Application ID using the token and is given to you by DTN's Identity Team. This ID will never change for your client/application.\n  * `client_secret`: this is the Client Secret that is associated with the Application ID and is given to you by DTN's Identity Team. This key is subject to rotation for security purposes but always with the client's knowledge.\n  * `audience`: this is the API for which this Access Token will be used. For the RadarScope API, you need to use the following audience: https://radarscope-feeds.wdtinc.com\n\nYou can use this CURL command template as a reference for obtaining an access token:\n  ```\n  curl --location --request POST 'https://api.auth.dtn.com/v1/tokens/authorize' \\\n--header 'Accept: application/json' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{\n\"grant_type\": \"client_credentials\",\n\"client_id\": \"insert your client id here\",\n\"client_secret\": \"insert your client secret here\",\n\"audience\": \"insert your audience here\"\n}' \n  ```\n\n*This document, for demonstration purposes, supplies a client_id and client_secret in all code examples. This client/application is for a fictitious API and cannot be used in practice to gain unauthorized access to any other DTN API.*\nUpon generating a new Access Token, you should receive an HTTP Response from DAIS similar to this:\n  ```\n  {\n    \"data\": {\n          \"access_token\": \"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InpfX21pZW13NGhoTmdvQWQxR3N6ciJ9.eyJodHRwczovL2F1dGguZHRuLmNvbS9jdXN0b21lcklkIjoiMTIzNDU2Nzg5MERlbW8iLCJodHRwczovL2F1dGguZHRuLmNvbS9wcm9kdWN0Q29kZSI6IkRlbW9BcGlQIiwiaHR0cHM6Ly9hdXRoLmR0bi5jb20vcmVxdWVzdGVySXAiOiIxOC4yMTMuMTc0LjI3IiwiaHR0cHM6Ly9hdXRoLmR0bi5jb20vcnBzIjoiMTAwIiwiaHR0cHM6Ly9hdXRoLmR0bi5jb20vdGllciI6IkJhc2ljIiwiaHR0cHM6Ly9hdXRoLmR0bi5jb20vcXVvdGEiOiI5OTk5OTkiLCJpc3MiOiJodHRwczovL2lkLmF1dGguZHRuLmNvbS8iLCJzdWIiOiJuZnlPM0tpS1BSOE4wREtSNUNMOGpTOUdGQkNEZXlGTUBjbGllbnRzIiwiYXVkIjoiaHR0cHM6Ly9kZW1vLWFwaS5hdXRoLmR0bi5jb20vIiwiaWF0IjoxNjU2MDk5MDY4LCJleHAiOjE2NTYwOTkxNTgsImF6cCI6Im5meU8zS2lLUFI4TjBES1I1Q0w4alM5R0ZCQ0RleUZNIiwic2NvcGUiOiJyZWFkOmRlbW8gY3JlYXRlOmRlbW8gdXBkYXRlOmRlbW8iLCJndHkiOiJjbGllbnQtY3JlZGVudGlhbHMiLCJwZXJtaXNzaW9ucyI6WyJyZWFkOmRlbW8iLCJjcmVhdGU6ZGVtbyIsInVwZGF0ZTpkZW1vIl19.0VHdyp1w9PPFVI0FPheAwuKZwb5C25rwP-LPMXcSNoRmouvga1DZtNLA67ZzE_sAlc_VpaDRr6daLKr_Alw4347mw9sdjP8wKR27kCZa9JZK5PGQMmXHscATbzBEJYpCPklfyGaajgymqTBGnedcv8F0UvlRzQPsFeRPnVoX7BWOSXpMbyToGiXWkQLBQT7r96KAmLZOPJFZspPtjw-wH2mSL2WNa_nkB4j5vMGhGxlKiNRsKb30TH_WAel2hsxNlcPK3XHCmrMTYsNnu7HNqOTMn2i0__0rvBrhSWEw-_grqQDmWFJuWd7Qhi1q81AaJcdqgoSa_efz93QFclJUNw\",\n          \"scope\": \"read:demo create:demo update:demo\",\n          \"expires_in\": 90,\n          \"token_type\": \"Bearer\"\n      },\n      \"meta\": {\n          \"date_time\": \"2022-06-24T19:09:42.963Z\",\n          \"name\": \"v1.tokens.authorize\",\n          \"uuid\": \"ee6f9feb-dcf8-4421-a6fd-efd6beabdaa9\",\n          \"start_timestamp\": 1656097782509,\n          \"end_timestamp\": 1656097782963,\n          \"execution_time\": 454\n      }\n  }\n  ```\nLooking at this Response, you will see:\n  * `access_token`: contains the JWT Access Token string you will use as your Bearer token.\n  * `scope`: contains the scopes that this Access Token gives you permissions to access.\n  * `expires_in`: contains the length of time before this Access Token will expire, in seconds.\n  * `token_type`: verifies that this Access Token should be used as a Bearer token.\n\n## How to use an Access Token after one is generated?\nOnce a new Access Token is obtained, it is used in each call to a DTN API endpoint as a Bearer token in an Authorization Request Header. For example:\n  ```\n  Header: 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InpfX21pZW13NGhoTmdvQWQxR3N6ciJ9.eyJodHRwczovL2F1dGguZHRuLmNvbS9jdXN0b21lcklkIjoiMTIzNDU2Nzg5MERlbW8iLCJodHRwczovL2F1dGguZHRuLmNvbS9wcm9kdWN0Q29kZSI6IkRlbW9BcGlQIiwiaHR0cHM6Ly9hdXRoLmR0bi5jb20vcmVxdWVzdGVySXAiOiIxOC4yMTMuMTc0LjI3IiwiaHR0cHM6Ly9hdXRoLmR0bi5jb20vcnBzIjoiMTAwIiwiaHR0cHM6Ly9hdXRoLmR0bi5jb20vdGllciI6IkJhc2ljIiwiaHR0cHM6Ly9hdXRoLmR0bi5jb20vcXVvdGEiOiI5OTk5OTkiLCJpc3MiOiJodHRwczovL2lkLmF1dGguZHRuLmNvbS8iLCJzdWIiOiJuZnlPM0tpS1BSOE4wREtSNUNMOGpTOUdGQkNEZXlGTUBjbGllbnRzIiwiYXVkIjoiaHR0cHM6Ly9kZW1vLWFwaS5hdXRoLmR0bi5jb20vIiwiaWF0IjoxNjU2MDk5MDY4LCJleHAiOjE2NTYwOTkxNTgsImF6cCI6Im5meU8zS2lLUFI4TjBES1I1Q0w4alM5R0ZCQ0RleUZNIiwic2NvcGUiOiJyZWFkOmRlbW8gY3JlYXRlOmRlbW8gdXBkYXRlOmRlbW8iLCJndHkiOiJjbGllbnQtY3JlZGVudGlhbHMiLCJwZXJtaXNzaW9ucyI6WyJyZWFkOmRlbW8iLCJjcmVhdGU6ZGVtbyIsInVwZGF0ZTpkZW1vIl19.0VHdyp1w9PPFVI0FPheAwuKZwb5C25rwP-LPMXcSNoRmouvga1DZtNLA67ZzE_sAlc_VpaDRr6daLKr_Alw4347mw9sdjP8wKR27kCZa9JZK5PGQMmXHscATbzBEJYpCPklfyGaajgymqTBGnedcv8F0UvlRzQPsFeRPnVoX7BWOSXpMbyToGiXWkQLBQT7r96KAmLZOPJFZspPtjw-wH2mSL2WNa_nkB4j5vMGhGxlKiNRsKb30TH_WAel2hsxNlcPK3XHCmrMTYsNnu7HNqOTMn2i0__0rvBrhSWEw-_grqQDmWFJuWd7Qhi1q81AaJcdqgoSa_efz93QFclJUNw'\n  ```\n\n## Deconstructing the Access Token\nA DTN Access Token carries information within its JWT Body that is available on every API call. By deconstructing the JWT token, our Access Tokens will resemble:\n  ```\n  {\n    \"https://auth.dtn.com/customerId\": \"1234567890Demo\",\n    \"https://auth.dtn.com/productCode\": \"DemoApiP\",\n    \"https://auth.dtn.com/requesterIp\": \"18.213.174.27\",\n    \"https://auth.dtn.com/rps\": \"100\",\n    \"https://auth.dtn.com/tier\": \"Basic\",\n    \"https://auth.dtn.com/quota\": \"999999\",\n    \"iss\": \"https://id.auth.dtn.com/\",\n    \"sub\": \"nfyO3KiKPR8N0DKR5CL8jS9GFBCDeyFM@clients\",\n    \"aud\": \"https://demo-api.auth.dtn.com/\",\n    \"iat\": 1656099068,\n    \"exp\": 1656099158,\n    \"azp\": \"nfyO3KiKPR8N0DKR5CL8jS9GFBCDeyFM\",\n    \"scope\": \"read:demo create:demo update:demo\",\n    \"gty\": \"client-credentials\",\n    \"permissions\": [\n      \"read:demo\",\n      \"create:demo\",\n      \"update:demo\"\n    ]\n  }\n  ```\n### Description of Claims\n\n  | Claim                              | Type                                        | Description                                                                                                                                                                                                                |\n  | -----------------------------------| --------------------------------------------| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n  | `https://auth.dtn.com/customerId`  | String                                      | Custom DTN claim containing the Customer ID found in the DTN Order Management/Salesforce system associated with this token.                                                                                                |\n  | `https://auth.dtn.com/productCode` | String                                      | Custom DTN claim containing the Identity product code associated with this token.                                                                                                                                          |\n  | `https://auth.dtn.com/requesterIp` | String                                      | Custom DTN claim containing the IP address of the requesting client.                                                                                                                                                       |\n  | `https://auth.dtn.com/rps`         | String                                      | Custom DTN claim containing the maximum rate per second this customer is authorized to utilize.                                                                                                                            |\n  | `https://auth.dtn.com/tier`        | String                                      | Custom DTN claim containing the data tier the customer purchased for the requested access.                                                                                                                                 |\n  | `https://auth.dtn.com/quota`       | String                                      | Custom DTN claim containing the maximum yearly quota the customer purchased for calling DTN endpoints for the specific product.                                                                                            |\n  | `iss`                              | String (URI)                                | The Security Token Service (STS) that issues and returns the token. If this value is not from `https://id.auth.dtn.com/`, the token should not be considered trusted.                                                      |\n  | `sub`                              | String (URI)                                | The principle about which the token asserts information (the User ID or Client ID within the Identity Provider). A User ID will start with a prefix of `auth0\\|`, while the Client ID will end with the suffix `@clients`. |\n  | `aud`                              | String \\| Array (Strings) (URI \\| [URI, …]) | Identifies the intended recipient(s) of the token – its audience. The token should be rejected if the audience does not contain values expected by the calling application.                                                |\n  | `iat`                              | Number (Timestamp)                          | “Issued At” indicates when the authentication for this token occurred.                                                                                                                                                     |\n  | `exp`                              | Number (Timestamp)                          | The “expiration time” on or after which the JWT must not be accepted for processing.                                                                                                                                       |\n  | `azp`                              | String                                      | The application/client ID of the client using the token. The application can cat as itself or on behalf of a user.                                                                                                         |\n  | `gty`                              | String (Space-delimited)                    | The grant type that was used to request the token – not an RFC 7519 registered claim (Auth0-specific).                                                                                                                     |\n  | `permissions`                      | Array (Strings)                             | The grant type that was used to request the token – not an RFC 7519 registered claim (Auth0-specific).                                                                                                                     |\n\n  "