HTTP API
A small REST surface over JSON. All endpoints are relative to https://api.streamplume.com/v1 and require a bearer token.
Assets
| Method | Path | Description |
POST | /assets | Upload a source file and start packaging. Accepts multipart/form-data or a remote url. |
GET | /assets/:id | Retrieve state, ladder, duration and manifest URLs. |
GET | /assets | List assets, newest first. Supports cursor and limit. |
PATCH | /assets/:id | Update metadata or replace the rendition ladder. Repackaging is incremental. |
DELETE | /assets/:id | Remove the asset and purge its segments from every edge. |
Playback
| Method | Path | Description |
POST | /assets/:id/tokens | Mint a signed playback token. Takes ttl in seconds and optional geo rules. |
GET | /assets/:id/manifest | Resolve the current multivariant manifest URL for an asset. |
Reporting
| Method | Path | Description |
GET | /reports/delivery | Bytes delivered, requests and cache-hit ratio, bucketed hourly. |
GET | /reports/qoe | Startup time, rebuffer ratio and average bitrate per asset. |
Errors
Errors use conventional status codes with a machine-readable body. Rate limits return 429 with a Retry-After header.
{
"error": {
"type": "invalid_request",
"message": "ladder must contain at least one rendition",
"param": "ladder"
}
}