İçeriğe geç
Updraft Docs
English

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

AdYerTipAçıklama
public_id zorunluyolstringpublic_id of the share (the link)
max_pointssorguintegerThinning limit
100 ≤ x ≤ 5000 · varsayılan 5000

Yanıtlar

DurumAçıklamaİçerik
200Public replay; ETag and Cache-Control: public headersapplication/json → PublicReplay
304If-None-Match matched the current ETag; no body
401code: auth_missing, auth_invalid, auth_revokedapplication/json → ErrorBody
403code: auth_scopeapplication/json → ErrorBody
404code: replay_not_found, replay_not_readyapplication/json → ErrorBody
422code: request_invalidapplication/json → ErrorBody
429code: 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

AdYerTipAçıklama
public_id zorunluyolstringpublic_id of the share (the link)

İstek gövdesi

application/json → VideoRequest

Yanıtlar

DurumAçıklamaİçerik
200The video is ready (url set)application/json → VideoInfo
202Queued or rendering; poll status_pathapplication/json → VideoInfo
401code: auth_missing, auth_invalid, auth_revokedapplication/json → ErrorBody
403code: auth_scopeapplication/json → ErrorBody
404code: replay_not_found, replay_not_readyapplication/json → ErrorBody
422code: request_invalidapplication/json → ErrorBody
429code: rate_limited, quota_exceeded (Retry-After seconds)
Başlıklar: Retry-After — Seconds until the exhausted window resets
application/json → ErrorBody
503code: queue_unavailable, video_download_unavailableapplication/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

AdYerTipAçıklama
public_id zorunluyolstringpublic_id of the share (the link)
video_format zorunluyolVideoFormat16x9 (1920x1080) or 9x16 (1080x1920)
length_ssorguVideoLengthLongest video, seconds, as asked for with POST: 15 (default) or 30
varsayılan 15

Yanıtlar

DurumAçıklamaİçerik
200queued, rendering, ready (with url) or failedapplication/json → VideoInfo
401code: auth_missing, auth_invalid, auth_revokedapplication/json → ErrorBody
403code: auth_scopeapplication/json → ErrorBody
404code: replay_not_found, replay_not_ready, video_not_foundapplication/json → ErrorBody
422code: request_invalidapplication/json → ErrorBody
429code: rate_limited, quota_exceeded (Retry-After seconds)
Başlıklar: Retry-After — Seconds until the exhausted window resets
application/json → ErrorBody
503code: queue_unavailable, video_download_unavailableapplication/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

AdYerTipAçıklama
public_id zorunluyolstringpublic_id of the share (the link)
video_format zorunluyolVideoFormat16x9 (1920x1080) or 9x16 (1080x1920)
expires zorunlusorguintegerUnix seconds, from the signed URL
signature zorunlusorgustringFrom the signed URL
0–64 chars
length_ssorguVideoLengthLongest video, seconds, as asked for with POST: 15 (default) or 30
varsayılan 15

Yanıtlar

DurumAçıklamaİçerik
200The MP4 (Range requests answer 206 on a folder store)video/mp4 → string (binary)
403code: video_url_invalid, video_url_expiredapplication/json → ErrorBody
404code: replay_not_found, video_not_foundapplication/json → ErrorBody
422code: request_invalidapplication/json → ErrorBody
503code: video_download_unavailableapplication/json → ErrorBody