Reference
Gateway API
Endpoints exposed by every gateway node. All responses are JSON unless a media object is requested.
Health
Unauthenticated. Intended for load balancer probes and external monitoring. Returns 200 while the node is accepting delivery traffic.
GET /health
200 OK
Content-Type: application/json
{
"status": "ok",
"service": "media-gateway",
"version": "4.2.1"
}
A node draining for maintenance returns 503 with "status": "draining". Treat any non-200 as out of rotation.
Segment delivery
Media paths are namespaced per tenant. Range requests are supported and encouraged for seek-heavy players.
GET /content/vod/{asset}/{rendition}/{segment}
Range: bytes=0-1048575
206 Partial Content
Accept-Ranges: bytes
Cache-Control: public, max-age=31536000, immutable
Signed requests
When signing is enabled on a path prefix, unsigned requests are rejected at the edge without reaching the origin.
| Parameter | Type | Description |
|---|---|---|
exp | integer | Unix timestamp after which the URL stops resolving. |
kid | string | Identifier of the signing key used for this request. |
sig | string | Base64url HMAC over the canonical path and expiry. |
Error codes
| Status | Condition | Retry |
|---|---|---|
| 400 | Malformed range or signing parameters | No |
| 403 | Signature invalid or expired | No |
| 404 | Asset not present on this origin | No |
| 429 | Per-tenant rate ceiling reached | After Retry-After |
| 503 | Node draining or upstream unavailable | Yes, another node |