Перейти до основного вмісту

Повідомити про проблему

Ця сторінка не стосується однієї зупинки, одного маршруту, станції чи транспортного засобу. Відкрийте одну з них, щоб у звіті було її назву, або скористайтеся повним звітом.

Що сталося
Повний звіт Обліковий запис не потрібен
Докази й дані
  1. Стаття
  2. Докази й дані
  3. API для розробників

Кожен показник на цьому сайті доступний одним безкоштовним запитом JSON.API для розробників

Every figure here is versioned JSON. Free to use, with or without a key.Every figure here is versioned JSON. Free to use, with or without a key.

Free, key optional · 1,000 a day, 60 a minute · code MIT · version 1.0.0

Доступ

Free

key optional

Ліміт запитів

1,000 a day

60 a minute; more on Developer

Ліцензія на код

МІТ

дані зберігають умови свого джерела

Версія

1.0.0

stable · 180 days’ notice

Plans

Free

1,000 calls a day, 60 a minute. No key needed; a free key counts your calls separately from everyone else on your network.

Credit ‘Data: OTranspo (otranspo.ca)’ wherever you show the data.

Developer

$10 a monthor $100 a year (CAD)

  • 100,000 calls a day, 600 a minute
  • Bulk downloads and full history
  • Support by email

Journalists, students and council staff: the free tier is yours. Write to us if you need more for a story or a study.

How to send a key

curl -H "Authorization: Bearer otr_…" https://otranspo.ca/api/public/v1/route-states

Обмеження

Each answer carries X-RateLimit-Remaining (this minute) and X-RateLimit-Daily-Remaining (today, UTC). Over the limit you get 429 with the time it resets.

Один запит, від початку до кінця

Запит

curl https://otranspo.ca/api/public/v1/route-states

Це справжня відповідь із цього сайту. Її отримано в момент Вашого запиту.

Відповідь, скорочено Схема

Виконується…

Усі ресурси: 39

Шляхи починаються з /api/public/v1, якщо не записано повністю. Відкрийте будь-який рядок, щоб побачити його статуси HTTP, коди помилок, доступ, невизначеність і схему.

Індекс і контрактпочніть тут2
Індекс APIGET/api/public/v1—JSON

Статус HTTP

200

Коди причин помилок

—

Доступ і ліміт запитів

Анонімний доступ: 60 запитів на хвилину, якщо ввімкнено розподілене обмеження швидкості запитів.

Стабільні ідентифікатори

endpoints.id · endpoints.path

Джерело та невизначеність

Read the response status, evidenceState, source timestamps, limitations and gaps; absence is not proof of zero.

Приклад виклику

GET /api/public/v1

Схема JSON

Специфікація OpenAPI 3.1GET/openapi.json—JSON

Статус HTTP

200

Коди причин помилок

—

Доступ і ліміт запитів

Анонімний доступ: 60 запитів на хвилину, якщо ввімкнено розподілене обмеження швидкості запитів.

Стабільні ідентифікатори

operationId · path

Джерело та невизначеність

Read the response status, evidenceState, source timestamps, limitations and gaps; absence is not proof of zero.

Приклад виклику

GET /api/public/v1/openapi.json

Схема JSON

Рух заразщо відбувається саме цієї хвилини5
Скасування, оголошені заразGET/current-cancellations—JSON

Статус HTTP

200 · 400 · 503

Коди причин помилок

unsupported_query 400 · current_cancellations_unavailable 503

Доступ і ліміт запитів

Анонімний доступ: 60 запитів на хвилину, якщо ввімкнено розподілене обмеження швидкості запитів.

Стабільні ідентифікатори

trips.tripId · trips.routeId

Джерело та невизначеність

Only explicit CANCELED/DELETED notices for timetable trips in the current snapshot are listed. Empty or unavailable feeds do not prove that no trips were cancelled; outside-timetable notices may be withheld.

Приклад виклику

GET /api/public/v1/current-cancellations

Схема JSON

Стани маршрутів: за розкладом і фактичніGET/route-states—JSON

Статус HTTP

200 · 503

Коди причин помилок

—

Доступ і ліміт запитів

Анонімний доступ: 60 запитів на хвилину, якщо ввімкнено розподілене обмеження швидкості запитів.

Стабільні ідентифікатори

operatorId · routeId

Джерело та невизначеність

This is not an operator alert. Routes without published positions use positions_not_published; stale or missing feeds return unavailable.

Приклад виклику

GET /api/public/v1/route-states

Схема JSON

Інциденти англійською та французькою мовамиGET/incidents—JSON

Статус HTTP

200 · 503

Коди причин помилок

—

Доступ і ліміт запитів

Анонімний доступ: 60 запитів на хвилину, якщо ввімкнено розподілене обмеження швидкості запитів.

Стабільні ідентифікатори

publicId · slug · updates.id

Джерело та невизначеність

Read the response status, evidenceState, source timestamps, limitations and gaps; absence is not proof of zero.

Приклад виклику

GET /api/public/v1/incidents

Схема JSON

Одне офіційне сповіщенняGET/alerts/{alertId}format=json|csv · alertIdJSON · CSV

Статус HTTP

200 · 400 · 503

Коди причин помилок

invalid_alert_id 400 · unsupported_format 400 · alert_not_found 400 · alert_unavailable 503

Доступ і ліміт запитів

Анонімний доступ: 60 запитів на хвилину, якщо ввімкнено розподілене обмеження швидкості запитів.

Стабільні ідентифікатори

alert.id · alert.operatorId

Джерело та невизначеність

The notice is the operator’s own wording. Kept wordings start when we first saw the notice, not when the operator posted it, and an empty list does not prove the notice never changed.

Приклад виклику

GET /api/public/v1/alerts/{alertId}

Схема JSON

Табло станціїGET/stations/{stationId}format=json|csv · stationIdJSON

Статус HTTP

200 · 400 · 404 · 503

Коди причин помилок

invalid_station_id 400 · unsupported_format 400 · station_not_found 404 · station_board_unavailable 503

Доступ і ліміт запитів

Анонімний доступ: 60 запитів на хвилину, якщо ввімкнено розподілене обмеження швидкості запитів.

Стабільні ідентифікатори

station.id · lines.routeRecordId · departures.tripId

Джерело та невизначеність

Read the response status, evidenceState, source timestamps, limitations and gaps; absence is not proof of zero.

Приклад виклику

GET /api/public/v1/stations/{stationId}

Схема JSON

Дані та сигналидані, на яких ґрунтується кожна сторінка11
Дані про надійністьGET/reliability-evidenceformat=json|csvJSON · CSV

Статус HTTP

200 · 400 · 503

Коди причин помилок

unsupported_format 400

Доступ і ліміт запитів

Анонімний доступ: 60 запитів на хвилину, якщо ввімкнено розподілене обмеження швидкості запитів.

Стабільні ідентифікатори

routeId · window

Джерело та невизначеність

Read the response status, evidenceState, source timestamps, limitations and gaps; absence is not proof of zero.

Приклад виклику

GET /api/public/v1/reliability-evidence

Схема JSON

Дані про маршрутиGET/routes/{routeId}/evidenceformat=json|csv · routeIdJSON

Статус HTTP

200 · 400 · 404 · 503

Коди причин помилок

invalid_route_id 400 · unsupported_format 400 · route_not_found 404 · route_evidence_unavailable 503

Доступ і ліміт запитів

Анонімний доступ: 60 запитів на хвилину, якщо ввімкнено розподілене обмеження швидкості запитів.

Стабільні ідентифікатори

route.routeId

Джерело та невизначеність

Read the response status, evidenceState, source timestamps, limitations and gaps; absence is not proof of zero.

Приклад виклику

GET /api/public/v1/routes/{routeId}/evidence

Схема JSON

Route 7 evidence on the site

Обслуговування маршруту за днямиGET/routes/{routeId}/service-evidencewindow=day|week|month|28d · date · format=json|csv · routeIdJSON

Статус HTTP

200 · 400 · 404 · 503

Коди причин помилок

invalid_route_id 400 · unsupported_window 400 · invalid_service_date 400 · unsupported_format 400 · route_not_found 404 · route_service_evidence_unavailable 503

Доступ і ліміт запитів

Анонімний доступ: 60 запитів на хвилину, якщо ввімкнено розподілене обмеження швидкості запитів.

Стабільні ідентифікатори

routeId · window

Джерело та невизначеність

Read the response status, evidenceState, source timestamps, limitations and gaps; absence is not proof of zero.

Приклад виклику

GET /api/public/v1/routes/{routeId}/service-evidence

Схема JSON

Обслуговування станції або виборчого округуGET/places/{kind}/{placeId}/service-evidencedate · kind=station|ward · placeIdJSON

Статус HTTP

200 · 400 · 503

Коди причин помилок

unsupported_place_kind 400 · invalid_place_id 400 · unsupported_query 400 · invalid_service_date 400 · place_service_evidence_unavailable 503

Доступ і ліміт запитів

Анонімний доступ: 60 запитів на хвилину, якщо ввімкнено розподілене обмеження швидкості запитів.

Стабільні ідентифікатори

kind · placeId · operatorId

Джерело та невизначеність

Observation and cancellation completeness are explicitly unverified; no-position candidate counts remain null and comparison eligibility is false.

Приклад виклику

GET /api/public/v1/places/{kind}/{placeId}/service-evidence

Схема JSON

Завантажити запис доказівGET/evidence/{evidenceId}format=json|csv · evidenceIdJSON · CSV

Статус HTTP

200 · 400 · 404

Коди причин помилок

unsupported_format 400 · not_found 404

Доступ і ліміт запитів

Анонімний доступ: 60 запитів на хвилину, якщо ввімкнено розподілене обмеження швидкості запитів.

Стабільні ідентифікатори

evidenceId

Джерело та невизначеність

Read the response status, evidenceState, source timestamps, limitations and gaps; absence is not proof of zero.

Приклад виклику

GET /api/public/v1/evidence/{evidenceId}

Схема JSON

Оцінки виборчих округівGET/ward-scorecardsformat=json|csvJSON · CSV

Статус HTTP

200 · 503

Коди причин помилок

—

Доступ і ліміт запитів

Анонімний доступ: 60 запитів на хвилину, якщо ввімкнено розподілене обмеження швидкості запитів.

Стабільні ідентифікатори

snapshotId · wardId

Джерело та невизначеність

Read the response status, evidenceState, source timestamps, limitations and gaps; absence is not proof of zero.

Приклад виклику

GET /api/public/v1/ward-scorecards

Схема JSON

Попередні випуски оціночних картокGET/historical-scorecardssnapshotId=historical-scorecards:<sha256> · routeIdJSON

Статус HTTP

200 · 400 · 404 · 422

Коди причин помилок

snapshot_id_required 400 · invalid_route_id 400 · invalid_parameters 400 · snapshot_not_found 404 · route_detail_not_published 422 · route_not_in_snapshot 404

Доступ і ліміт запитів

Анонімний доступ: 60 запитів на хвилину, якщо ввімкнено розподілене обмеження швидкості запитів.

Стабільні ідентифікатори

snapshotId · routeId

Джерело та невизначеність

Read the response status, evidenceState, source timestamps, limitations and gaps; absence is not proof of zero.

Приклад виклику

GET /api/public/v1/historical-scorecards

Схема JSON

Архів звітів про обслуговуванняGET/service-report-archivekindJSON

Статус HTTP

200 · 400 · 503

Коди причин помилок

invalid_archive_query 400 · archive_unavailable 503

Доступ і ліміт запитів

Анонімний доступ: 60 запитів на хвилину, якщо ввімкнено розподілене обмеження швидкості запитів.

Стабільні ідентифікатори

kind · period

Джерело та невизначеність

Read the response status, evidenceState, source timestamps, limitations and gaps; absence is not proof of zero.

Приклад виклику

GET /api/public/v1/service-report-archive

Схема JSON

Точність прогнозівGET/prediction-calibration—JSON

Статус HTTP

200 · 503

Коди причин помилок

—

Доступ і ліміт запитів

Анонімний доступ: 60 запитів на хвилину, якщо ввімкнено розподілене обмеження швидкості запитів.

Стабільні ідентифікатори

operatorId · routeId · routeContext · horizonBucket

Джерело та невизначеність

Later observed arrival is a comparison, not ground truth or a validated prediction interval; independent validation is false.

Приклад виклику

GET /api/public/v1/prediction-calibration

Схема JSON

Вибраний звіт про рухGET/api/insights/reports/selected?period={period}&date={YYYY-MM-DD}period=day|week|month · date=YYYY-MM-DD · operator=all|oc_transpo|sto · routeJSON

Статус HTTP

200 · 400 · 503

Коди причин помилок

invalid_selection 400 · selected_report_unavailable 503 · invalid_route_hour_selection 400 · route_hours_unavailable 503

Доступ і ліміт запитів

Анонімний доступ; для цього шляху не налаштовано жодного ліміту публічного API.

Стабільні ідентифікатори

period · date · operator · method

Джерело та невизначеність

Without route, the selected-report contract is unchanged. With route, the selected-route-hours contract returns at most48 method-separated local-hour prediction groups, preserving requested report operator separately from routeOperator. These mutable retained predictions do not prove physical arrivals, complete archive coverage, zero service or an immutable publication.

Приклад виклику

GET /api/insights/reports/selected?period={period}&date={YYYY-MM-DD}

Схема JSON

Вхідні дані для порівняння прогнозівGET/api/insights/reports/selected/comparison-evidence?period={period}&date={YYYY-MM-DD}period=day|week|month · date=YYYY-MM-DD · operator=all|oc_transpo|stoJSON

Статус HTTP

200 · 400 · 503

Коди причин помилок

invalid_comparison_evidence_selection 400

Доступ і ліміт запитів

Анонімний доступ: 60 запитів на хвилину, якщо ввімкнено розподілене обмеження швидкості запитів.

Стабільні ідентифікатори

payload.edition · payload.selection · checksum.value

Джерело та невизначеність

This opt-in export preserves the exact captured route/day read results, declared calendar, comparison refusals and measured source-code manifest. It is bounded to 20,000 input rows and 8 MiB and does not claim an atomic database snapshot, statistical independence, confidence intervals, physical service delivery, causation, equivalence or model eligibility. Schema validation alone does not verify checksum or replay; consumers must perform those checks separately.

Приклад виклику

GET /api/insights/reports/selected/comparison-evidence?period={period}&date={YYYY-MM-DD}

Схема JSON

Історія та повторте, що вже сталося6
Минулі скасування та пропускиGET/historical-cancellationswindow=day|week|28d|month · date · assessment=noneJSON

Статус HTTP

200 · 400 · 503

Коди причин помилок

unsupported_query 400 · unsupported_window 400 · invalid_service_date 400 · unsupported_assessment 400 · historical_cancellations_unavailable 503 · historical_cancellation_limit_exceeded 400

Доступ і ліміт запитів

Анонімний доступ: 60 запитів на хвилину, якщо ввімкнено розподілене обмеження швидкості запитів.

Стабільні ідентифікатори

period · records.tripId

Джерело та невизначеність

Historical polling completeness is unverified and schedule matching may be unassessed; unknown coverage is not zero cancellations.

Приклад виклику

GET /api/public/v1/historical-cancellations

Схема JSON

Відтворення для містаGET/replaydate · routeFamily · operator · fromMinute · minutes · summaryJSON

Статус HTTP

200 · 400 · 503

Коди причин помилок

date_required 400 · invalid_route_family 400 · invalid_operator 400 · replay_positions_unavailable 503 · published_replay_unavailable 503

Доступ і ліміт запитів

Анонімний доступ: 60 запитів на хвилину, якщо ввімкнено розподілене обмеження швидкості запитів.

Стабільні ідентифікатори

date · routeFamily · operator

Джерело та невизначеність

Replay is historical and never live; only captured/published archive evidence is returned.

Приклад виклику

GET /api/public/v1/replay

Схема JSON

Помічені транспортні засоби, за днямиGET/fleet-historydate · operator=all|oc_transpo|sto · route · feedIdJSON

Статус HTTP

200 · 400 · 503

Коди причин помилок

invalid_fleet_history_lookup 400 · invalid_fleet_history_date 400 · invalid_fleet_history_operator 400 · fleet_history_unavailable 503

Доступ і ліміт запитів

Анонімний доступ: 60 запитів на хвилину, якщо ввімкнено розподілене обмеження швидкості запитів.

Стабільні ідентифікатори

serviceDate · operator · route

Джерело та невизначеність

Retained feed observations are not a physical fleet inventory; missing retention is not zero service.

Приклад виклику

GET /api/public/v1/fleet-history

Схема JSON

Ідентифікатори транспортних засобів у стрічці, за днямиGET/fleet-history/feed-idsdate · operator=all|oc_transpo|sto · cursorJSON

Статус HTTP

200 · 400 · 503

Коди причин помилок

invalid_fleet_feed_id_selection 400 · invalid_fleet_history_date 400 · invalid_fleet_history_operator 400 · invalid_fleet_feed_id_cursor 400 · fleet_feed_id_census_unavailable 503

Доступ і ліміт запитів

Анонімний доступ: 60 запитів на хвилину, якщо ввімкнено розподілене обмеження швидкості запитів.

Стабільні ідентифікатори

date · operator · digest · collisionOrdinal

Джерело та невизначеність

Read the response status, evidenceState, source timestamps, limitations and gaps; absence is not proof of zero.

Приклад виклику

GET /api/public/v1/fleet-history/feed-ids

Схема JSON

Один ідентифікатор транспортного засобу з часомGET/vehicles/{vehicleId}/visibility-historyformat=json|csv · vehicleIdJSON

Статус HTTP

200 · 400 · 404 · 503

Коди причин помилок

invalid_vehicle_id 400 · unsupported_format 400 · vehicle_history_unavailable 503 · vehicle_history_not_found 404

Доступ і ліміт запитів

Анонімний доступ: 60 запитів на хвилину, якщо ввімкнено розподілене обмеження швидкості запитів.

Стабільні ідентифікатори

vehicleId

Джерело та невизначеність

Read the response status, evidenceState, source timestamps, limitations and gaps; absence is not proof of zero.

Приклад виклику

GET /api/public/v1/vehicles/{vehicleId}/visibility-history

Схема JSON

Vehicles seen, in bulkGET/bulk/fleet-historyfrom · to · operator=all|oc_transpo|sto · route · feedIdJSON

Статус HTTP

200 · 400 · 401 · 403 · 429 · 503

Коди причин помилок

unsupported_query 400 · invalid_bulk_range 400 · invalid_fleet_history_lookup 400 · invalid_fleet_history_operator 400 · fleet_history_unavailable 503 · api_key_required 401 · invalid_api_key 401 · plan_required 403 · rate_limited 429

Доступ і ліміт запитів

Анонімний доступ: 60 запитів на хвилину, якщо ввімкнено розподілене обмеження швидкості запитів.

Стабільні ідентифікатори

serviceDate · operator · route

Джерело та невизначеність

Each line is the fleet-history evidence for one seven-day window; retained feed observations are not a physical fleet inventory and missing retention is not zero service.

Приклад виклику

GET /api/public/v1/bulk/fleet-history

Схема JSON

Розклади та офлайнопублікований розклад6
Розклад одного маршрутуGET/transit-planning/{routeId}date · routeIdJSON

Статус HTTP

200 · 400 · 503

Коди причин помилок

invalid_route_or_date 400 · use_history_for_past_dates 400 · planning_baseline_unavailable 503

Доступ і ліміт запитів

Анонімний доступ: 60 запитів на хвилину, якщо ввімкнено розподілене обмеження швидкості запитів.

Стабільні ідентифікатори

routeId · serviceDate

Джерело та невизначеність

Read the response status, evidenceState, source timestamps, limitations and gaps; absence is not proof of zero.

Приклад виклику

GET /api/public/v1/transit-planning/{routeId}

Схема JSON

Розклад для всієї мережіGET/transit-planning/networkdateJSON

Статус HTTP

200 · 400 · 503

Коди причин помилок

invalid_parameters 400 · invalid_service_date 400 · network_baseline_unavailable 503

Доступ і ліміт запитів

Анонімний доступ: 60 запитів на хвилину, якщо ввімкнено розподілене обмеження швидкості запитів.

Стабільні ідентифікатори

serviceDate

Джерело та невизначеність

Read the response status, evidenceState, source timestamps, limitations and gaps; absence is not proof of zero.

Приклад виклику

GET /api/public/v1/transit-planning/network

Схема JSON

Вуличний шлях між двома точкамиPOST/transit-planning/street-pathbodyJSON

Статус HTTP

200 · 400 · 503

Коди причин помилок

invalid_body 400 · invalid_segment 400

Доступ і ліміт запитів

Анонімно. Потрібне довірене походження запиту. 60 на хвилину, коли ввімкнено розподілене обмеження частоти запитів.

Стабільні ідентифікатори

from · to

Джерело та невизначеність

Path may be unavailable when routing source data is absent; no path is not evidence of no accessible route.

Приклад виклику

POST /api/public/v1/transit-planning/street-path

Схема JSON

Пакети розкладу для роботи офлайнGET/offline-pack—JSON

Статус HTTP

200 · 503

Коди причин помилок

offline_pack_not_published 503 · offline_pack_unavailable 503

Доступ і ліміт запитів

Анонімний доступ: 60 запитів на хвилину, якщо ввімкнено розподілене обмеження швидкості запитів.

Стабільні ідентифікатори

packId · digest

Джерело та невизначеність

Read the response status, evidenceState, source timestamps, limitations and gaps; absence is not proof of zero.

Приклад виклику

GET /api/public/v1/offline-pack

Схема JSON

Маніфест офлайн-пакетаGET/offline-pack/manifestpackJSON

Статус HTTP

200 · 404 · 503

Коди причин помилок

—

Доступ і ліміт запитів

Анонімний доступ: 60 запитів на хвилину, якщо ввімкнено розподілене обмеження швидкості запитів.

Стабільні ідентифікатори

packId · shards.id

Джерело та невизначеність

Read the response status, evidenceState, source timestamps, limitations and gaps; absence is not proof of zero.

Приклад виклику

GET /api/public/v1/offline-pack/manifest

Схема JSON

Частина офлайн-пакетаGET/offline-pack/shards/{id}idbytes

Статус HTTP

200 · 404 · 503

Коди причин помилок

—

Доступ і ліміт запитів

Анонімний доступ: 60 запитів на хвилину, якщо ввімкнено розподілене обмеження швидкості запитів.

Стабільні ідентифікатори

id · digest

Джерело та невизначеність

Read the response status, evidenceState, source timestamps, limitations and gaps; absence is not proof of zero.

Приклад виклику

GET /api/public/v1/offline-pack/shards/{id}

Схема JSON

Реєстри та політикащо ми змінили і чому6
Реєстр виправленьGET/correctionsformat=json|csvJSON · CSV

Статус HTTP

200 · 400

Коди причин помилок

unsupported_format 400

Доступ і ліміт запитів

Анонімний доступ: 60 запитів на хвилину, якщо ввімкнено розподілене обмеження швидкості запитів.

Стабільні ідентифікатори

records.id · records.revision

Джерело та невизначеність

Read the response status, evidenceState, source timestamps, limitations and gaps; absence is not proof of zero.

Приклад виклику

GET /api/public/v1/corrections

Схема JSON

Реєстр політикGET/policy-register—JSON

Статус HTTP

200

Коди причин помилок

—

Доступ і ліміт запитів

Анонімний доступ: 60 запитів на хвилину, якщо ввімкнено розподілене обмеження швидкості запитів.

Стабільні ідентифікатори

records.id · records.revision

Джерело та невизначеність

Read the response status, evidenceState, source timestamps, limitations and gaps; absence is not proof of zero.

Приклад виклику

GET /api/public/v1/policy-register

Схема JSON

Гарантія доступностіGET/accessibility-assurance—JSON

Статус HTTP

200

Коди причин помилок

—

Доступ і ліміт запитів

Анонімний доступ: 60 запитів на хвилину, якщо ввімкнено розподілене обмеження швидкості запитів.

Стабільні ідентифікатори

evidence.id · remediationLog.id

Джерело та невизначеність

Read the response status, evidenceState, source timestamps, limitations and gaps; absence is not proof of zero.

Приклад виклику

GET /api/public/v1/accessibility-assurance

Схема JSON

Регіональне покриття та актуальність данихGET/regional-coverage—JSON

Статус HTTP

200 · 503

Коди причин помилок

—

Доступ і ліміт запитів

Анонімний доступ: 60 запитів на хвилину, якщо ввімкнено розподілене обмеження швидкості запитів.

Стабільні ідентифікатори

operators.operatorId

Джерело та невизначеність

Read the response status, evidenceState, source timestamps, limitations and gaps; absence is not proof of zero.

Приклад виклику

GET /api/public/v1/regional-coverage

Схема JSON

Канали сповіщень і допомогиGET/journey-service-policy—JSON

Статус HTTP

200

Коди причин помилок

—

Доступ і ліміт запитів

Анонімний доступ: 60 запитів на хвилину, якщо ввімкнено розподілене обмеження швидкості запитів.

Стабільні ідентифікатори

contractVersion · channels.channel

Джерело та невизначеність

Read the response status, evidenceState, source timestamps, limitations and gaps; absence is not proof of zero.

Приклад виклику

GET /api/public/v1/journey-service-policy

Схема JSON

Перевірка вигляду транспортного засобуGET/fleet-presentation—JSON

Статус HTTP

200 · 503

Коди причин помилок

—

Доступ і ліміт запитів

Анонімний доступ: 60 запитів на хвилину, якщо ввімкнено розподілене обмеження швидкості запитів.

Стабільні ідентифікатори

evidence.operatorSamples.operatorId

Джерело та невизначеність

Read the response status, evidenceState, source timestamps, limitations and gaps; absence is not proof of zero.

Приклад виклику

GET /api/public/v1/fleet-presentation

Схема JSON

Поширенняпосилання та картки для соцмереж3
Створити посилання для поширенняPOST/share-snapshotsbodyJSON

Статус HTTP

200 · 400 · 404 · 409 · 503

Коди причин помилок

Invalid request body. 400 · A canonical public path is required. 400 · This page cannot be shared as a public snapshot. 400 · The public page was not found. 404

Доступ і ліміт запитів

Анонімно. Потрібне довірене походження запиту. 60 на хвилину, коли ввімкнено розподілене обмеження частоти запитів.

Стабільні ідентифікатори

snapshotId · revision

Джерело та невизначеність

If immutable evidence is not published, issuance returns a canonical_only state; retryable storage faults return a human-readable error and 503.

Приклад виклику

POST /api/public/v1/share-snapshots

Схема JSON

Стан посилання для поширенняGET/share-snapshots/{snapshotId}snapshotIdJSON

Статус HTTP

200 · 400 · 404 · 410 · 503

Коди причин помилок

—

Доступ і ліміт запитів

Анонімний доступ: 60 запитів на хвилину, якщо ввімкнено розподілене обмеження швидкості запитів.

Стабільні ідентифікатори

snapshotId · revision

Джерело та невизначеність

Read the response status, evidenceState, source timestamps, limitations and gaps; absence is not proof of zero.

Приклад виклику

GET /api/public/v1/share-snapshots/{snapshotId}

Схема JSON

Картка для соціальних мереж із посиланнямGET/share-snapshots/{snapshotId}/opengraphsnapshotIdPNG

Статус HTTP

200 · 400 · 404 · 503

Коди причин помилок

invalid_identifier 400 · not_found 404 · temporarily_unavailable 503

Доступ і ліміт запитів

Анонімний доступ: 60 запитів на хвилину, якщо ввімкнено розподілене обмеження швидкості запитів.

Стабільні ідентифікатори

snapshotId · revision

Джерело та невизначеність

Read the response status, evidenceState, source timestamps, limitations and gaps; absence is not proof of zero.

Приклад виклику

GET /api/public/v1/share-snapshots/{snapshotId}/opengraph

Схема JSON

Доступ і використання

Доступ і використанняLimits, caching, versions, privacy and licence
Доступ
Every GET resource is public and free to use, with or without a key. Bulk and history resources need a Developer key. The two POST resources (making a share link, drawing a street path) only accept requests from otranspo.ca itself.
Ліміт запитів
1,000 calls a day and 60 a minute, with or without a free key; 100,000 a day and 600 a minute on the Developer plan. Read the X-RateLimit-* headers on every answer; X-RateLimit-Status says when limits are degraded.
Keys
Send a key as Authorization: Bearer otr_… or X-API-Key. Never in the address. A wrong, revoked or expired key gets 401, never a keyless answer.
Кешування
The index is kept 30 seconds by your browser and 5 minutes at the edge. Live resources such as cancellations are sent no-store. Offline timetable pieces never change once published.
Версії
Кожна відповідь вказує свою schema і schemaVersion. Зміна, що порушує сумісність, отримує новий шлях /v2. Про неї повідомляють за 180 днів у заголовках Deprecation, Sunset і Link.
Конфіденційність
Не надсилайте особисті дані. Координати, надіслані до вуличного шляху, використовуються лише для цього запиту, ніколи не записуються в журнал і не зберігаються. Відповіді ніколи не містять ідентифікаторів облікових записів, пошуків поїздок, електронної пошти чи мережевих адрес, а також внутрішніх посилань на докази.
Невідомо не означає нуль
Відповідь може бути недоступною, навіть якщо ресурс існує. Перегляньте поля status, evidenceState, час джерел, охоплення та обмеження. Стани маршрутів порівнюють розклад з побаченими автобусами. Це не сповіщення перевізника.
Ліцензія
Код: MIT. Дані OC Transpo і STO залишаються за власними умовами відкритих даних, і потрібно вказувати авторство. Наші показники: CC BY 4.0, посилання на otranspo.ca.
Ще не виконано
No SDK is published, no second city is supported, and partner tenant-key access is not open. This page does not claim them.
Дані та завантаженняТі самі дані у файлах CSV і JSON та правила, як на них посилатися.