Skip to content

Bundles routes

Generated from openapi.yaml of games-api 0.7.0: 2 routes.

GET /v1/bundles/{slug}/{version}/{path}

GET /v1/bundles/{slug}/{version}/{path}

Terminal window
curl 'https://api.filudi.com/v1/bundles/gloop/1.0.0/index.html'

Bundle file, CDN origin for the game hosts

With PLAY_GAME_HOST_SUFFIX set, a request without X-Play-Host: <slug>.<suffix> answers the same 404 as any other miss. A request with any X-Play-Host ignores preview; a preview is a direct request with no such header (ADR 0013). The CDN sets that header on the path players use. With PREVIEW_URL set, a preview is served only on that host, which always needs a valid token, refuses X-Play-Host, and answers 404 outside /v1/bundles/*. _upload.zip is always 404.

Credential: none. The route is public.

NameInTypeRequiredDescription
slugpathstringyes
versionpathstringyes
pathpathstringyes
previewquerystringnoSigned, time-limited parameter that allows a draft version
X-Play-HostheaderstringnoHostname the player asked the CDN for
StatusBodyDescription
200noneFile. Headers: Cache-Control, Content-Security-Policy, Cross-Origin-Resource-Policy.
404ErrorUnknown resource.

GET /v1/bundles/{slug}/media/{file}

GET /v1/bundles/{slug}/media/{file}

Terminal window
curl 'https://api.filudi.com/v1/bundles/gloop/media/string'

Game media file, CDN origin for play.filudi.com (ADR 0007)

Serves only final names (<kind>-<format>-<sha256:16>.<ext>). Answers a single Range with 206.

Credential: none. The route is public.

NameInTypeRequiredDescription
slugpathstringyes
filepathstringyespattern ^(image-(square|landscape|portrait)-[0-9a-f]{16}\.(avif|webp|jpg|png)|video-(landscape|portrait)-[0-9a-f]{16}\.mp4)$
Rangeheaderstringno
StatusBodyDescription
200noneFile. Headers: Cache-Control, Accept-Ranges, Cross-Origin-Resource-Policy.
206noneRequested byte range.
404ErrorUnknown resource.
416noneRange outside the file.