{"source":"banenor","operation":"get_train","description":"Current status of one train by its national train number: every stop\nwith planned, expected and actually observed times and platforms.","parameters":[{"name":"train_number","schema":{"type":"string"},"required":true,"default":null,"description":"The train number, e.g. \"605\" (Oslo S-Bergen), \"43\" (Dovrebanen). This is the number shown on tickets and boards (VY 605 -> \"605\"). Freight trains are included - something neither Entur nor other public APIs offer."},{"name":"date","schema":{"anyOf":[{"type":"string"},{"type":"null"}]},"required":false,"default":null,"description":"Optional \"YYYY-MM-DD\" to disambiguate when the same number runs on several days inside Bane NOR's data horizon (roughly the current day). Default: all matches."},{"name":"limit","type":"integer","schema":{"type":"integer","minimum":1,"maximum":100,"default":25},"display_type":"integer","required":false,"default":25,"description":"Maximum list items returned by the gateway (default 25, maximum 100)."},{"name":"offset","type":"integer","schema":{"type":"integer","minimum":0,"default":0},"display_type":"integer","required":false,"default":0,"description":"Number of list items to skip before returning the page."}],"json_get_url_template":"https://allemannsdata.com/wiki/api/v1/kilder/banenor/get_train?train_number={train_number}&date={date}&limit=25&offset=0","schema_scope":"#/data in the successful operation envelope","response_schema":{"type":"object","properties":{"train_number":{"type":"boolean"},"match_count":{"type":"integer"},"matches":{"type":"array","items":{"anyOf":[{"x-allemannsdata-schema-status":"unresolved","description":"Response shape is not yet declared; any JSON value is permitted."},{"type":"object","properties":{"train":{"x-allemannsdata-schema-status":"unresolved","description":"Response shape is not yet declared; any JSON value is permitted."},"date":{"type":["string","null"],"format":"date"},"line":{"anyOf":[{"x-allemannsdata-schema-status":"unresolved","description":"Response shape is not yet declared; any JSON value is permitted."},{"type":"null"}]},"operator":{"x-allemannsdata-schema-status":"unresolved","description":"Response shape is not yet declared; any JSON value is permitted."},"product":{"x-allemannsdata-schema-status":"unresolved","description":"Response shape is not yet declared; any JSON value is permitted."},"service":{"x-allemannsdata-schema-status":"unresolved","description":"Response shape is not yet declared; any JSON value is permitted."},"origin":{"x-allemannsdata-schema-status":"unresolved","description":"Response shape is not yet declared; any JSON value is permitted."},"destination":{"x-allemannsdata-schema-status":"unresolved","description":"Response shape is not yet declared; any JSON value is permitted."},"calls":{"type":"array","items":{"anyOf":[{"x-allemannsdata-schema-status":"unresolved","description":"Response shape is not yet declared; any JSON value is permitted."},{"type":"object","properties":{"station":{"type":["object","null"],"properties":{},"additionalProperties":false},"name":{"type":["string","null"]}},"additionalProperties":false}]}}},"additionalProperties":false}]}},"attribution":{"type":["object","null"],"properties":{},"additionalProperties":false}},"additionalProperties":false},"response_schema_status":{"status":"incomplete","codegen_safe":false,"description":"Not suitable for typed model generation: the container shape and field names are useful, but unresolved values accept any JSON value."},"entity_projection":{"status":"projected","entity_types":["rail_station"],"description":"Recognized records and stable operation identifiers are projected; an empty array means the successful payload contained no recognizable entity."},"error_contract":{"scope":"top-level HTTP error response; never part of a success payload","schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"retryable":{"type":"boolean"},"details":{"type":"object"}},"additionalProperties":false,"required":["code","message","retryable"]},"suggestion":{"type":"string"},"_meta":{"type":"object","properties":{"retrieved_at":{"type":"string","format":"date-time"},"language":{"type":"string","const":"en"},"content_languages":{"type":"array","items":{"type":"string"}},"sources":{"type":"array","items":{"type":"object"}}},"required":["retrieved_at","language","content_languages","sources"]},"_links":{"type":"object","properties":{"self":{"type":"string","format":"uri"},"api_index":{"type":"string","format":"uri"}},"required":["self","api_index"],"additionalProperties":false}},"additionalProperties":false,"required":["error","suggestion","_meta","_links"]},"statuses":{"400":{"codes":["MISSING_PARAMETER","INVALID_PARAMETER","INVALID_REQUEST"],"retryable":false},"404":{"codes":["SOURCE_NOT_FOUND","OPERATION_NOT_FOUND","ENTITY_NOT_FOUND"],"retryable":false},"429":{"codes":["RATE_LIMITED","GATEWAY_RATE_LIMITED"],"retryable":true},"502":{"codes":["SOURCE_UNAVAILABLE"],"retryable":true},"500":{"codes":["INTERNAL_ERROR"],"retryable":true}}},"_links":{"self":"https://allemannsdata.com/wiki/api/v1/kilder/banenor/get_train/schema","operation":"https://allemannsdata.com/wiki/api/v1/kilder/banenor/get_train","source":"https://allemannsdata.com/wiki/api/v1/kilder/banenor"},"output_fields":["train_number","match_count","matches","matches[].train","matches[].date","matches[].line","matches[].operator","matches[].product","matches[].service","matches[].origin","matches[].destination","matches[].calls","matches[].calls[].station","matches[].calls[].name","attribution"],"output_fields_truncated":false,"canonical_field_aliases":{"date":["matches[].date"],"name":["matches[].calls[].name"]}}
