Bundles routes
Generated from openapi.yaml of games-api 0.7.0: 2 routes.
GET /v1/bundles/{slug}/{version}/{path}: Bundle file, CDN origin for the game hostsGET /v1/bundles/{slug}/media/{file}: Game media file, CDN origin for play.filudi.com (ADR 0007)
GET /v1/bundles/{slug}/{version}/{path}
curl 'https://api.filudi.com/v1/bundles/gloop/1.0.0/index.html'const response = await fetch('https://api.filudi.com/v1/bundles/gloop/1.0.0/index.html');// No body: check response.ok.import requests
response = requests.get('https://api.filudi.com/v1/bundles/gloop/1.0.0/index.html')response.raise_for_status()# No body: the status says it all.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.
Parameters
Section titled “Parameters”| Name | In | Type | Required | Description |
|---|---|---|---|---|
slug | path | string | yes | |
version | path | string | yes | |
path | path | string | yes | |
preview | query | string | no | Signed, time-limited parameter that allows a draft version |
X-Play-Host | header | string | no | Hostname the player asked the CDN for |
Responses
Section titled “Responses”| Status | Body | Description |
|---|---|---|
| 200 | none | File. Headers: Cache-Control, Content-Security-Policy, Cross-Origin-Resource-Policy. |
| 404 | Error | Unknown resource. |
GET /v1/bundles/{slug}/media/{file}
curl 'https://api.filudi.com/v1/bundles/gloop/media/string'const response = await fetch('https://api.filudi.com/v1/bundles/gloop/media/string');// No body: check response.ok.import requests
response = requests.get('https://api.filudi.com/v1/bundles/gloop/media/string')response.raise_for_status()# No body: the status says it all.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.
Parameters
Section titled “Parameters”| Name | In | Type | Required | Description |
|---|---|---|---|---|
slug | path | string | yes | |
file | path | string | yes | pattern ^(image-(square|landscape|portrait)-[0-9a-f]{16}\.(avif|webp|jpg|png)|video-(landscape|portrait)-[0-9a-f]{16}\.mp4)$ |
Range | header | string | no |
Responses
Section titled “Responses”| Status | Body | Description |
|---|---|---|
| 200 | none | File. Headers: Cache-Control, Accept-Ranges, Cross-Origin-Resource-Policy. |
| 206 | none | Requested byte range. |
| 404 | Error | Unknown resource. |
| 416 | none | Range outside the file. |