Entur · Schema

MultiStockResponse

CompanyPublic TransportJourney PlanningMobilityOpen DataNorwayTransitGraphQL

Properties

Name Type Description
origin string
destination string
spannedDatedServiceJourneys array
reservableStock array
View JSON Schema on GitHub

JSON Schema

entur-multi-stock-response-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/entur/main/json-schema/entur-multi-stock-response-schema.json",
  "title": "MultiStockResponse",
  "x-generated": "2026-10-09",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/entur-inventory-openapi.yml#/components/schemas/MultiStockResponse",
  "type": "object",
  "properties": {
    "origin": {
      "type": "string"
    },
    "destination": {
      "type": "string"
    },
    "spannedDatedServiceJourneys": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "reservableStock": {
      "type": "array",
      "items": {
        "oneOf": [
          {
            "$ref": "#/$defs/NestingComponentResponseV1"
          },
          {
            "$ref": "#/$defs/SimpleProductResponseV1"
          },
          {
            "$ref": "#/$defs/ProductCollectionResponseV1"
          },
          {
            "$ref": "#/$defs/ProductResponseV1"
          }
        ]
      }
    }
  },
  "required": [
    "destination",
    "origin",
    "reservableStock",
    "spannedDatedServiceJourneys"
  ],
  "$defs": {
    "NestingComponentResponseV1": {
      "allOf": [
        {
          "$ref": "#/$defs/StockComponentResponseV1"
        },
        {
          "type": "object",
          "properties": {
            "aggregatedAvailability": {
              "type": "integer",
              "format": "int32"
            },
            "nestingGroup": {
              "type": "string"
            },
            "priority": {
              "type": "integer",
              "format": "int32"
            }
          }
        }
      ],
      "required": [
        "aggregatedAvailability",
        "nestingGroup",
        "priority"
      ]
    },
    "ProductCollectionResponseV1": {
      "allOf": [
        {
          "$ref": "#/$defs/NestingComponentResponseV1"
        },
        {
          "type": "object",
          "properties": {
            "selectionRule": {
              "type": "string",
              "enum": [
                "COMBINED",
                "SINGLE"
              ]
            },
            "consumptionRule": {
              "type": "string",
              "enum": [
                "DIRECT",
                "BY_PRIORITY"
              ]
            },
            "directionRule": {
              "type": "string",
              "enum": [
                "FROM_RIGHT",
                "FROM_LEFT"
              ]
            },
            "components": {
              "type": "array",
              "items": {
                "oneOf": [
                  {
                    "$ref": "#/$defs/ProductCollectionResponseV1"
                  },
                  {
                    "$ref": "#/$defs/ProductResponseV1"
                  }
                ]
              }
            }
          }
        }
      ],
      "required": [
        "aggregatedAvailability",
        "components",
        "consumptionRule",
        "directionRule",
        "nestingGroup",
        "priority",
        "selectionRule"
      ]
    },
    "ProductResponseV1": {
      "allOf": [
        {
          "$ref": "#/$defs/NestingComponentResponseV1"
        },
        {
          "type": "object",
          "properties": {
            "id": {
              "type": "integer",
              "format": "int32"
            },
            "products": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "leftInQuota": {
              "type": "integer",
              "format": "int32"
            },
            "purchaseWindowStart": {
              "type": "string",
              "format": "date-time"
            },
            "purchaseWindowStop": {
              "type": "string",
              "format": "date-time"
            },
            "closedBy": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            }
          }
        }
      ],
      "required": [
        "aggregatedAvailability",
        "closedBy",
        "id",
        "leftInQuota",
        "nestingGroup",
        "priority",
        "products"
      ]
    },
    "SimpleProductResponseV1": {
      "allOf": [
        {
          "$ref": "#/$defs/StockComponentResponseV1"
        },
        {
          "type": "object",
          "properties": {
            "products": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "leftInQuota": {
              "type": "integer",
              "format": "int32"
            }
          }
        }
      ],
      "required": [
        "leftInQuota",
        "products"
      ]
    },
    "StockComponentResponseV1": {}
  }
}

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/entur-multi-stock-response"
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.