{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/open-mobility-foundation/main/json-schema/open-mobility-foundation-query-schema.json", "title": "query", "x-generated": "2026-10-09", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/open-mobility-foundation-mds-metrics-openapi.yml#/components/schemas/query", "required": [ "measures", "interval", "start_date" ], "properties": { "measures": { "$ref": "#/$defs/measures", "description": "List of measures to return." }, "interval": { "$ref": "#/$defs/data-types_iso-duration", "description": "ISO 8601 duration for metrics intervals." }, "start_date": { "oneOf": [ { "$ref": "#/$defs/data-types_iso-dayhourminute" }, { "$ref": "#/$defs/data-types_timestamp" } ], "description": "ISO 8601 formatted start date or numeric timestamp to fetch metrics." }, "end_date": { "oneOf": [ { "$ref": "#/$defs/data-types_iso-dayhourminute" }, { "$ref": "#/$defs/data-types_timestamp" } ], "description": "ISO 8601 formatted end date or numeric timestamp to fetch metrics." }, "timezone": { "$ref": "#/$defs/data-types_timezone" }, "dimensions": { "$ref": "#/$defs/dimensions" }, "filters": { "type": "array", "description": "List of dimension names.", "uniqueItems": true, "items": { "type": "object", "properties": { "name": { "type": "string", "description": "Name of filter." }, "values": { "type": "array", "description": "List of values to filter for.", "minItems": 1, "uniqueItems": true, "items": { "type": "object" } } } } } }, "$defs": { "data-types_iso-dayhourminute": { "title": "data-types/iso-dayhourminute", "description": "An ISO 8601 extended datetime representing a minute and hour of given date `YYYY-MM-DDTHH:mm`; valid for dates in 1970 and later.", "pattern": "(19[789]\\d|[2-9]\\d{3})-(0[1-9]|1[02])-([12]\\d|0[1-9]|3[01])T([0-2][0-3]|[01]\\d):([0-5]\\d)([+-][01]\\d(:[0-5]\\d)?)?", "type": "string", "x-stoplight": { "id": "56v277zajwxm5" } }, "data-types_iso-duration": { "title": "data-types/iso-duration", "type": "string", "description": "An [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations) string, defining the amount of intervening time\nin a time interval.", "x-stoplight": { "id": "ll9uuz5vjj9hj" }, "pattern": "^P(?!$)(\\d+(?:\\.\\d+)?Y)?(\\d+(?:\\.\\d+)?M)?(\\d+(?:\\.\\d+)?W)?(\\d+(?:\\.\\d+)?D)?(T(?=\\d)(\\d+(?:\\.\\d+)?H)?(\\d+(?:\\.\\d+)?M)?(\\d+(?:\\.\\d+)?S)?)?$" }, "data-types_timestamp": { "title": "data-types/timestamp", "description": "Integer milliseconds since Unix epoch.", "minimum": 1514764800000, "multipleOf": 1, "type": "number", "x-stoplight": { "id": "vliol1hqlxw6y" } }, "data-types_timezone": { "title": "data-types/timezone", "description": "[TZ Database Name](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) (default: UTC)", "type": "string", "x-stoplight": { "id": "sv8rgu97fxmop" }, "default": "UTC" }, "dimensions": { "type": "array", "description": "List of dimension names.", "minItems": 1, "uniqueItems": true, "items": { "type": "string" } }, "measures": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "string" } } } }