Manage SRT (Secure Reliable Transport) ingest endpoints for ultra-low latency streaming with error correction via Cloudflare Stream.
| Method | Path | Summary |
|---|---|---|
POST | /srt/endpoints | Create SRT endpoint |
GET | /srt/endpoints | List SRT endpoints |
{% api-endpoint method=“POST” path=“/srt/endpoints” /%}
Create an SRT ingest endpoint
Operation ID: createSrtEndpoint
{% callout type=“info” title=“Cloudflare Stream” %} SRT endpoints are provisioned via Cloudflare Stream’s SRT ingest capability with configurable latency and encryption. {% /callout %}
Content-Type: application/json
| Required
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Endpoint name |
stream_id | string | Yes | Associated stream ID |
latency_ms | integer | No | Default: 2000. SRT latency in milliseconds |
passphrase | string | No | SRT encryption passphrase (10-79 chars) |
max_connections | integer | No | Default: 1. Max concurrent connections |
SRT endpoint created
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Yes | - |
name | string | Yes | - |
streamId | string | Yes | - |
srtUrl | string | Yes | SRT ingest URL |
latencyMs | integer | Yes | - |
status | string | Yes | Values: active, inactive, error |
maxConnections | integer | Yes | - |
createdAt | string (date-time) | Yes | - |
Missing required fields (name, stream_id)
{% tabs %} {% tab label=“cURL” %}
curl -X POST 'https://api.wave.online/api/v1/srt/endpoints' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"name": "Primary SRT Ingest",
"stream_id": "str_abc123",
"latency_ms": 2000,
"max_connections": 1
}'
{% /tab %} {% tab label=“TypeScript” %}
import { WaveClient } from "@wave/sdk";
const client = new WaveClient({ apiKey: "your-api-key" });
const endpoint = await client.srt.createEndpoint({
name: "Primary SRT Ingest",
streamId: "str_abc123",
latencyMs: 2000,
maxConnections: 1,
});
console.log(`SRT URL: ${endpoint.srtUrl}`);
{% /tab %} {% tab label=“Python” %}
from wave_sdk import WaveClient
client = WaveClient(api_key="your-api-key")
endpoint = client.srt.create_endpoint(
name="Primary SRT Ingest",
stream_id="str_abc123",
latency_ms=2000,
max_connections=1
)
print(f"SRT URL: {endpoint.srt_url}")
{% /tab %} {% /tabs %}
{% api-endpoint method=“GET” path=“/srt/endpoints” /%}
List SRT endpoints
Operation ID: listSrtEndpoints
| Name | Type | Required | Description |
|---|---|---|---|
stream_id | string | No | Filter by stream ID |
status | string | No | Values: active, inactive |
List of SRT endpoints
| Field | Type | Required | Description |
|---|---|---|---|
endpoints | object[] | Yes | - |
{% tabs %} {% tab label=“cURL” %}
curl -X GET 'https://api.wave.online/api/v1/srt/endpoints?status=active' \
-H 'Authorization: Bearer YOUR_API_KEY'
{% /tab %} {% tab label=“TypeScript” %}
import { WaveClient } from "@wave/sdk";
const client = new WaveClient({ apiKey: "your-api-key" });
const endpoints = await client.srt.listEndpoints({ status: "active" });
console.log(endpoints);
{% /tab %} {% /tabs %}