VIA Rail Canada · Authentication Profile

Via Rail Authentication

Authentication

VIA Rail Canada secures its APIs with none across 1 declared security scheme, as derived from its OpenAPI definitions.

TravelCanadaRailPassenger RailTransitGTFSOpen DataBookingDistributionTravel AgentsCrown CorporationLoyalty
Methods: none Schemes: 1 OAuth flows: API key in:

Security Schemes

none none

Source

Authentication Profile

via-rail-authentication.yml Raw ↑
generated: '2026-07-28'
method: searched
source: https://www.viarail.ca/en/developer-resources
docs: https://www.viarail.ca/en/developer-resources
summary:
  types: [none]
  api_key_in: []
  oauth2_flows: []
  note: >-
    The one API surface VIA Rail publishes requires no authentication at all -
    no account, no registration form, no API key, no click-through and no rate
    limit. That is a positive, deliberate and documented posture, not a gap: the
    Developer Resources page hands over a complete national rail timetable to an
    anonymous HTTP GET, and the only obligation attached is the OGL-Canada 2.0
    attribution requirement, accepted by the act of downloading.
schemes:
  - name: none
    type: none
    surface: VIA Rail GTFS Schedule Feed
    url: https://www.viarail.ca/sites/all/files/gtfs/viarail.zip
    transport: HTTPS GET
    credential: null
    registration_required: false
    rate_limited: false
    evidence: >-
      Developer Resources page, fetched 2026-07-28, HTTP 200: "VIA Rail has
      schedules published in the General Transit Feed Specification (GTFS)
      format available for developers. By downloading our GTFS data, you agree
      to be bound to the Open Government Licence - Canada version 2." No
      credential of any kind is requested. Anonymous GET of the archive returned
      HTTP 200 and 1,010,621 bytes on 2026-07-28.
    obligations:
      - >-
        OGL-Canada 2.0 attribution: "Contains information licensed under the
        Open Government Licence - Canada."
    contact: dev@viarail.ca
transport_security:
  https_required: true
  hsts: true
  hsts_max_age: 31536000
  tls_version: TLSv1.2
  source: security/via-rail-domain-security.yml
undocumented_surfaces:
  - name: reservation platform gateway
    host: https://api.reservia.viarail.ca
    documented: false
    observed_behaviour: >-
      Every path returns HTTP 403 with the 42-byte AWS API Gateway body
      {"message":"Missing Authentication Token"} - including every /.well-known/
      path. Nothing can be read anonymously.
    observed_scheme: >-
      The reservia.viarail.ca production Angular bundle declares an
      s3Passenger.grantTypes map of Sqills S3 Passenger OAuth grant-type URNs -
      https://com.sqills.s3.oauth.public, https://com.sqills.s3.oauth.booking
      and https://com.sqills.s3.oauth.agent - alongside refresh_token and
      urn:ietf:params:oauth:grant-type:token-exchange (RFC 8693). This is
      evidence of the vendor platform's OAuth machinery, NOT a published VIA
      Rail authentication contract: there is no authorization-server metadata
      document, no documented scopes, no client registration path and no terms
      of use. It is recorded here so a later round does not mistake it for a
      published scheme, and it is the reason no scopes/ artifact is emitted.
  - name: VIA Rail Tracker data feed
    host: https://tsimobile.viarail.ca/data/allData.json
    documented: false
    observed_behaviour: >-
      HTTP 200, ~242 KB of live train positions and bilingual alerts, entirely
      unauthenticated. Undocumented, unlicensed, unschema'd; not offered as an
      API and excluded from apis.yml.
human_access_gates:
  note: >-
    Authentication for the commercial channel is human, not machine. Travel
    agencies sign in at https://reservia.viarail.ca/en/booking/agent/login and
    business partners at .../contra/login, both Angular sign-ins with Google
    reCAPTCHA. Enrolment is out-of-band: an agency must hold and register an
    agency IATA number and be approved individually or under a preferred
    partner agreement; a tour operator must commit to CAD $25,000/year minimum
    revenue and is issued a proprietary 8-digit account number. There is no
    machine credential to obtain at any price.