Tekrar · API referansı
Paylaşılmış uçuşun herkese açık tekrar verisi.
GET /v1/replay/{public_id}
Public replay of a shared flight
Fixes and thermal events of a flight its pilot shared. Masked and unusable fixes are left out (a masked stretch splits the track); times are relative; at most max_points points. Unknown, revoked and deleted shares are the same 404.
Kimlik: X-Api-Key başlığı; gereken kapsam: kapsam tablosu.
Parametreler
| Ad | Yer | Tip | Açıklama |
|---|---|---|---|
public_id zorunlu | yol | string | public_id of the share (the link) |
max_points | sorgu | integer | Thinning limit100 ≤ x ≤ 5000 · varsayılan 5000 |
Yanıtlar
| Durum | Açıklama | İçerik |
|---|---|---|
200 | Public replay; ETag and Cache-Control: public headers | application/json → PublicReplay |
304 | If-None-Match matched the current ETag; no body | |
401 | code: auth_missing, auth_invalid, auth_revoked | application/json → ErrorBody |
403 | code: auth_scope | application/json → ErrorBody |
404 | code: replay_not_found, replay_not_ready | application/json → ErrorBody |
422 | code: request_invalid | application/json → ErrorBody |
429 | code: rate_limited, quota_exceeded (Retry-After seconds)Başlıklar: Retry-After — Seconds until the exhausted window resets | application/json → ErrorBody |
POST /v1/replay/{public_id}/video
Ask for the MP4 video of a shared flight
Queues a video of the shared flight (the same public replay as the Atlas page) in the asked format and length, or returns the one already queued, rendering or ready. Made once per share, format and length; after a failure, asking again queues it again. On the server without a graphics card a 15 s video (the default) is ready in about 3.5 minutes, a 30 s one in about 7: show the pilot that it is being prepared and poll status_path.
Kimlik: X-Api-Key başlığı; gereken kapsam: kapsam tablosu.
Parametreler
| Ad | Yer | Tip | Açıklama |
|---|---|---|---|
public_id zorunlu | yol | string | public_id of the share (the link) |
İstek gövdesi
application/json → VideoRequest
Yanıtlar
| Durum | Açıklama | İçerik |
|---|---|---|
200 | The video is ready (url set) | application/json → VideoInfo |
202 | Queued or rendering; poll status_path | application/json → VideoInfo |
401 | code: auth_missing, auth_invalid, auth_revoked | application/json → ErrorBody |
403 | code: auth_scope | application/json → ErrorBody |
404 | code: replay_not_found, replay_not_ready | application/json → ErrorBody |
422 | code: request_invalid | application/json → ErrorBody |
429 | code: rate_limited, quota_exceeded (Retry-After seconds)Başlıklar: Retry-After — Seconds until the exhausted window resets | application/json → ErrorBody |
503 | code: queue_unavailable, video_download_unavailable | application/json → ErrorBody |
GET /v1/replay/{public_id}/video/{video_format}
State of a video, with a download URL when ready
Kimlik: X-Api-Key başlığı; gereken kapsam: kapsam tablosu.
Parametreler
| Ad | Yer | Tip | Açıklama |
|---|---|---|---|
public_id zorunlu | yol | string | public_id of the share (the link) |
video_format zorunlu | yol | VideoFormat | 16x9 (1920x1080) or 9x16 (1080x1920) |
length_s | sorgu | VideoLength | Longest video, seconds, as asked for with POST: 15 (default) or 30varsayılan 15 |
Yanıtlar
| Durum | Açıklama | İçerik |
|---|---|---|
200 | queued, rendering, ready (with url) or failed | application/json → VideoInfo |
401 | code: auth_missing, auth_invalid, auth_revoked | application/json → ErrorBody |
403 | code: auth_scope | application/json → ErrorBody |
404 | code: replay_not_found, replay_not_ready, video_not_found | application/json → ErrorBody |
422 | code: request_invalid | application/json → ErrorBody |
429 | code: rate_limited, quota_exceeded (Retry-After seconds)Başlıklar: Retry-After — Seconds until the exhausted window resets | application/json → ErrorBody |
503 | code: queue_unavailable, video_download_unavailable | application/json → ErrorBody |
GET /v1/replay/{public_id}/video/{video_format}/file
Download a video through a signed URL (no API key)
Kimlik: Anahtar gerekmez.
Parametreler
| Ad | Yer | Tip | Açıklama |
|---|---|---|---|
public_id zorunlu | yol | string | public_id of the share (the link) |
video_format zorunlu | yol | VideoFormat | 16x9 (1920x1080) or 9x16 (1080x1920) |
expires zorunlu | sorgu | integer | Unix seconds, from the signed URL |
signature zorunlu | sorgu | string | From the signed URL0–64 chars |
length_s | sorgu | VideoLength | Longest video, seconds, as asked for with POST: 15 (default) or 30varsayılan 15 |
Yanıtlar
| Durum | Açıklama | İçerik |
|---|---|---|
200 | The MP4 (Range requests answer 206 on a folder store) | video/mp4 → string (binary) |
403 | code: video_url_invalid, video_url_expired | application/json → ErrorBody |
404 | code: replay_not_found, video_not_found | application/json → ErrorBody |
422 | code: request_invalid | application/json → ErrorBody |
503 | code: video_download_unavailable | application/json → ErrorBody |