gribstream-com · Schema

RunsPostRequest

Full forecast-run history request. Provide: - `forecastedFrom` + `forecastedUntil`, or `timesList` - `coordinates` or `grid` - at least one `variables` entry All timestamps are UTC. `forecastedFrom`, `forecastedUntil`, and `timesList` refer to model run times to retrieve, not valid times. Variable selectors are exact dataset-defined tuples. Discover them from `GET /api/v2/catalog/datasets/{dataset}/parameters/{parameter}` or copy them exactly from the dataset inventory/model pages. Set `includeMetadata` to `["index_updated_at"]` to include the latest ClickHouse index timestamp among the selected GRIB index rows used for each result row. Set it to `["native_coordinate"]` to include the fixed grid cell center selected for each requested coordinate; use both values to include both kinds of metadata.

CompanyWeatherAPIForecastData

Properties

Name Type Description
forecastedFrom string Inclusive UTC model-run lower bound.
forecastedUntil string Inclusive UTC model-run upper bound.
timesList array Exact UTC model run times to retrieve.
minLeadTime string Minimum lead time duration, such as `45m` or `18h`.
maxLeadTime string Maximum lead time duration, such as `45m` or `18h`.
minHorizon integer Deprecated integer-hour lead time.
maxHorizon integer Deprecated integer-hour lead time.
coordinates array
grid object
variables array
expressions array
filter object
members array Ensemble member numbers. Deterministic datasets reject this field with `400 Bad Request`. If omitted on an ensemble dataset, only the first member is returned.
includeMetadata array Optional metadata fields to include in data rows.
View JSON Schema on GitHub

JSON Schema

gribstream-com-runs-post-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/gribstream-com/json-schema/gribstream-com-runs-post-request-schema.json",
  "title": "RunsPostRequest",
  "description": "Full forecast-run history request.\n\nProvide:\n- `forecastedFrom` + `forecastedUntil`, or `timesList`\n- `coordinates` or `grid`\n- at least one `variables` entry\n\nAll timestamps are UTC.\n\n`forecastedFrom`, `forecastedUntil`, and `timesList` refer to model run times to\nretrieve, not valid times.\n\nVariable selectors are exact dataset-defined tuples. Discover them from\n`GET /api/v2/catalog/datasets/{dataset}/parameters/{parameter}` or copy them exactly from\nthe dataset inventory/model pages.\n\nSet `includeMetadata` to `[\"index_updated_at\"]` to include the latest ClickHouse\nindex timestamp among the selected GRIB index rows used for each result row.\nSet it to `[\"native_coordinate\"]` to include the fixed grid cell center selected\nfor each requested coordinate; use both values to include both kinds of metadata.\n",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/gribstream-com-openapi.yml#/components/schemas/RunsPostRequest",
  "type": "object",
  "properties": {
    "forecastedFrom": {
      "type": "string",
      "format": "date-time",
      "description": "Inclusive UTC model-run lower bound."
    },
    "forecastedUntil": {
      "type": "string",
      "format": "date-time",
      "description": "Inclusive UTC model-run upper bound."
    },
    "timesList": {
      "type": "array",
      "description": "Exact UTC model run times to retrieve.",
      "items": {
        "type": "string",
        "format": "date-time"
      }
    },
    "minLeadTime": {
      "type": "string",
      "description": "Minimum lead time duration, such as `45m` or `18h`."
    },
    "maxLeadTime": {
      "type": "string",
      "description": "Maximum lead time duration, such as `45m` or `18h`."
    },
    "minHorizon": {
      "type": "integer",
      "format": "int64",
      "deprecated": true,
      "description": "Deprecated integer-hour lead time."
    },
    "maxHorizon": {
      "type": "integer",
      "format": "int64",
      "deprecated": true,
      "description": "Deprecated integer-hour lead time."
    },
    "coordinates": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Coordinate"
      }
    },
    "grid": {
      "$ref": "#/$defs/GridBounds"
    },
    "variables": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/VariableSelector"
      }
    },
    "expressions": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/ExpressionField"
      }
    },
    "filter": {
      "$ref": "#/$defs/FilterExpression"
    },
    "members": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "Ensemble member numbers. Deterministic datasets reject this field with `400 Bad Request`. If omitted on an ensemble dataset, only the first member is returned."
    },
    "includeMetadata": {
      "type": "array",
      "description": "Optional metadata fields to include in data rows.",
      "items": {
        "type": "string",
        "enum": [
          "index_updated_at",
          "native_coordinate"
        ]
      }
    }
  },
  "required": [
    "variables"
  ],
  "allOf": [
    {
      "anyOf": [
        {
          "required": [
            "coordinates"
          ]
        },
        {
          "required": [
            "grid"
          ]
        }
      ]
    },
    {
      "anyOf": [
        {
          "required": [
            "forecastedFrom",
            "forecastedUntil"
          ]
        },
        {
          "required": [
            "timesList"
          ]
        }
      ]
    }
  ],
  "$defs": {
    "Coordinate": {
      "type": "object",
      "required": [
        "lat",
        "lon"
      ],
      "properties": {
        "lat": {
          "type": "number",
          "format": "double",
          "description": "Latitude in degrees."
        },
        "lon": {
          "type": "number",
          "format": "double",
          "description": "Longitude in degrees."
        },
        "name": {
          "type": "string",
          "description": "Optional label copied into result rows."
        }
      },
      "additionalProperties": false
    },
    "ExpressionField": {
      "type": "object",
      "required": [
        "expression"
      ],
      "properties": {
        "expression": {
          "type": "string",
          "description": "Expr-language formula compiled by the server."
        },
        "alias": {
          "type": "string",
          "description": "Response key for the expression output.\n\nThe wire format allows this to be omitted, but practical clients should set it.\n"
        },
        "hidden": {
          "type": "boolean",
          "description": "When `true`, the expression result remains available to later expressions and filters,\nbut is omitted from response rows.\n"
        }
      },
      "additionalProperties": false
    },
    "FilterExpression": {
      "type": "object",
      "required": [
        "expression"
      ],
      "properties": {
        "expression": {
          "type": "string",
          "description": "Expr-language boolean filter. Rows are kept only when it evaluates to `true`."
        }
      },
      "additionalProperties": false
    },
    "GridBounds": {
      "type": "object",
      "required": [
        "minLatitude",
        "maxLatitude",
        "minLongitude",
        "maxLongitude",
        "step"
      ],
      "description": "Bounding box used to expand into a coordinate grid.\n\nThe API preserves the requested `step`; it does not silently coarsen fine grids.\nExpanded grids are limited to 120,000 coordinates by default. Account-specific plan\nor token limits may set a different maximum, up to 1,050,000 coordinates. This ceiling\naccommodates a full native 0.25-degree global GFS grid. Oversized grids return `400`\nwith the applicable maximum in the response.\n\nFor dense grids and large tabular responses, request `application/vnd.apache.parquet`.\nParquet avoids the transfer overhead of textual formats, while the service reduces\nlarge-grid worker fan-out to keep extraction memory bounded.\n",
      "properties": {
        "minLatitude": {
          "type": "number",
          "format": "double"
        },
        "maxLatitude": {
          "type": "number",
          "format": "double"
        },
        "minLongitude": {
          "type": "number",
          "format": "double"
        },
        "maxLongitude": {
          "type": "number",
          "format": "double"
        },
        "step": {
          "type": "number",
          "format": "double",
          "description": "Grid spacing in degrees. Must be greater than 0."
        }
      },
      "additionalProperties": false
    },
    "VariableSelector": {
      "type": "object",
      "description": "Exact dataset selector tuple used in forecast queries.\n\nSelectors are not free-form. `name`, `level`, and optional `info` must exactly match a\nselector published for the chosen dataset, either from the dataset catalog endpoints or the\ndataset model/inventory page. Do not invent selectors from natural-language descriptions.\n",
      "required": [
        "name",
        "level"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "GRIB short name exactly as exposed by the dataset inventory or catalog. Case-sensitive. Examples include `TMP`, `UGRD`, `APCP`, `100u`, and `2t`."
        },
        "level": {
          "type": "string",
          "description": "Level text exactly as exposed by the dataset inventory or catalog variation. Must match the published selector tuple exactly."
        },
        "info": {
          "type": "string",
          "description": "Optional extra qualifier from the published selector tuple. Blank string is common. Do not invent natural-language qualifiers here."
        },
        "alias": {
          "type": "string",
          "description": "Optional response key.\n\nIf omitted, the current handlers emit the column as `NAME|LEVEL|INFO`.\n"
        },
        "hidden": {
          "type": "boolean",
          "description": "When `true`, the field is loaded and remains available to expressions and filters,\nbut is omitted from response rows. Shared-parameter derived requests use this for\nintermediate helper inputs such as wind vector components.\n"
        }
      },
      "additionalProperties": false
    }
  }
}

Work with this as data

Every JSON Schema 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 schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema 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 JSON Schema
curl "https://apis.io/api/v1/json-schemas/gribstream-com-runs-post-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?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.