Digitraffic (Fintraffic) · Schema
PassengerInformationMessages
TransportationOpen DataGovernmentTrafficRailwaysMaritimeRoadsFinlandReal-Time
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/digitraffic-fi/json-schema/digitraffic-fi-passenger-information-messages-schema.json",
"title": "PassengerInformationMessages",
"x-generated": "2026-11-11",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/digitraffic-fi-passenger-information-api-openapi.yml#/components/schemas/PassengerInformationMessages",
"type": "array",
"items": {
"$ref": "#/$defs/PassengerInformationMessage"
},
"$defs": {
"PassengerInformationAudio": {
"type": "object",
"properties": {
"text": {
"$ref": "#/$defs/PassengerInformationTextContent"
},
"deliveryRules": {
"type": "object",
"properties": {
"startDateTime": {
"type": "string",
"description": "Audio delivery start date"
},
"weekDays": {
"type": "array",
"description": "Days of week on which audio is delivered",
"items": {
"type": "string",
"enum": [
"MONDAY",
"TUESDAY",
"WEDNESDAY",
"THURSDAY",
"FRIDAY",
"SATURDAY",
"SUNDAY"
]
}
},
"deliveryType": {
"type": "string",
"description": "NOW: the message is delivered at the time of insertion \n DELIVERY_AT: the message is delivered on the date-time _deliveryAt_ \n REPEAT_EVERY: the message is delivered from _startDateTime_ at _startTime_ to _endDateTime_ at _endTime_ evaluating the repetition conditions and _weekDays_ conditions \n ON_SCHEDULE: the message is delivered for a specific vehicle journey when a scheduling date happens at a station (e.g. estimated arrival time) \n ON_EVENT: the message is delivered for a vehicle journey when an event specified in _eventType_ (e.g. ARRIVING) happens for a station defined in _stations_",
"enum": [
"NOW",
"DELIVERY_AT",
"REPEAT_EVERY",
"ON_EVENT",
"ON_SCHEDULE"
]
},
"startTime": {
"type": "string",
"description": "Audio delivery start time"
},
"deliveryAt": {
"type": "string",
"description": "Date and time on which message is delivered when _deliveryType_ is DELIVERY_AT"
},
"repeatEvery": {
"type": "integer",
"description": "Period of time in minutes between repetitions of message when _deliveryType_ is REPEAT_EVERY"
},
"endTime": {
"type": "string",
"description": "Audio delivery end time"
},
"eventType": {
"type": "string",
"description": "Event type on which message is delivered when _deliveryType_ is ON_EVENT",
"enum": [
"ARRIVING",
"DEPARTING"
]
},
"endDateTime": {
"type": "string",
"description": "Audio delivery end date"
},
"repetitions": {
"type": "integer",
"description": "Number of times message is repeated on each occurrence when _deliveryType_ is REPEAT_EVERY"
}
}
}
},
"description": "PassengerInformation message audio content schema"
},
"PassengerInformationMessage": {
"required": [
"creationDateTime",
"endValidity",
"id",
"startValidity",
"version"
],
"type": "object",
"properties": {
"trainDepartureDate": {
"type": "string",
"description": "Date of departure as a local date for train to which message relates"
},
"endValidity": {
"type": "string",
"description": "Message validity end date and time"
},
"startValidity": {
"type": "string",
"description": "Message validity start date and time"
},
"id": {
"type": "string"
},
"stations": {
"type": "array",
"description": "List of stations where message is delivered",
"items": {
"type": "string"
}
},
"trainNumber": {
"type": "string",
"description": "Number of train to which message relates"
},
"audio": {
"$ref": "#/$defs/PassengerInformationAudio"
},
"video": {
"$ref": "#/$defs/PassengerInformationVideo"
},
"version": {
"type": "number"
},
"creationDateTime": {
"type": "string",
"description": "Date and time when message version was created"
}
},
"description": "PassengerInformation message schema"
},
"PassengerInformationTextContent": {
"type": "object",
"properties": {
"fi": {
"type": "string",
"description": "Message text content in Finnish"
},
"sv": {
"type": "string",
"description": "Message text content in Swedish"
},
"en": {
"type": "string",
"description": "Message text content in English"
}
},
"description": "PassengerInformation message text content schema"
},
"PassengerInformationVideo": {
"type": "object",
"properties": {
"text": {
"$ref": "#/$defs/PassengerInformationTextContent"
},
"deliveryRules": {
"type": "object",
"properties": {
"startDateTime": {
"type": "string",
"description": "Video delivery start date"
},
"weekDays": {
"type": "array",
"description": "Days of week on which video is delivered",
"items": {
"type": "string",
"enum": [
"MONDAY",
"TUESDAY",
"WEDNESDAY",
"THURSDAY",
"FRIDAY",
"SATURDAY",
"SUNDAY"
]
}
},
"deliveryType": {
"type": "string",
"description": "CONTINUOS_VISUALIZATION: the message is delivered from _startDateTime_ (at _startTime_ if exists) to _endDateTime_ (at _endTime_ if exists) \n WHEN: the message is delivered from _startDateTime_ to _endDateTime_ only in the time interval between _startTime_ and _endTime_ for each day in _weekDays_",
"enum": [
"WHEN",
"CONTINUOS_VISUALIZATION"
]
},
"startTime": {
"type": "string",
"description": "Video delivery start time"
},
"endTime": {
"type": "string",
"description": "Video delivery end time"
},
"endDateTime": {
"type": "string",
"description": "Video delivery end date"
}
}
}
},
"description": "PassengerInformation message video content schema"
}
}
}
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.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/digitraffic-fi-passenger-information-messages"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
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.