API reference

A small JSON API to manage tenants, streams, destinations, and read relay status.

Base URL

https://streamrepeat.com/api

Authentication

All endpoints use HTTP Basic auth with your account email as the username and your password as the password. Requests are rate-limited to 60 / minute per IP, and all errors are returned as JSON.

curl -u you@example.com:secret https://streamrepeat.com/api/channels

Your account is scoped to the workspaces you belong to. Workspace and stream provisioning endpoints are admin-only and are documented in the admin console.

Endpoints

MethodPathDescription
GET/tenantsList workspaces you can access.
GET/channelsList streams with their tenant, destinations and relay status.
GET/channels/{channel}/ingestIngest + playback URLs and keys for a stream.
GET/channels/{channel}/destinationsList a stream's outbound destinations.
POST/channels/{channel}/destinationsAdd a destination (protocol, url, name).
GET/channels/{channel}/relaysPer-destination relay status with the latest events.

Example: list streams

curl -u you@example.com:secret https://streamrepeat.com/api/channels

[
  {
    "id": 1,
    "path_name": "acme--main",
    "status": "live",
    "tenant": { "id": 1, "name": "Acme" },
    "destinations": [
      { "id": 7, "name": "YouTube", "protocol": "rtmp",
        "relay_process": { "status": "running" } }
    ]
  }
]

Example: add a destination

curl -u you@example.com:secret \
  -H "Content-Type: application/json" \
  -d '{"name":"Twitch","protocol":"rtmp","url":"rtmp://live.twitch.tv/app/KEY"}' \
  https://streamrepeat.com/api/channels/1/destinations

Need help integrating? Get in touch.