Skip to content
Start here

Create a relay

client.moq.relays.create(RelayCreateParams { account_id, name } params, RequestOptionsoptions?): RelayCreateResponse { config, created, modified, 4 more }
POST/accounts/{account_id}/moq/relays

Provisions a new MoQ relay instance. Auto-creates a publish+subscribe token and a subscribe-only token. Token values are included in the response (shown once). Config is set to defaults (lingering subscribe enabled, 30s ceiling, origin fallback off). Use PUT to modify.

Security

API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
ParametersExpand Collapse
params: RelayCreateParams { account_id, name }
account_id: string

Path param: Cloudflare account identifier.

name: string

Body param: Human-readable name for the relay.

ReturnsExpand Collapse
RelayCreateResponse { config, created, modified, 4 more }

Relay with auto-generated tokens (shown once).

config: Config { lingering_subscribe, origin_fallback }

origin_fallback and lingering_subscribe are mutually exclusive.

lingering_subscribe?: LingeringSubscribe { enabled, max_timeout_ms }
enabled?: boolean
max_timeout_ms?: number

Relay-level ceiling on lingering subscribe timeout (ms). Default 30000.

maximum300000
minimum0
origin_fallback?: OriginFallback { enabled, origins }
enabled?: boolean
origins?: Array<Origin>

Ordered list of upstream origin relays. Each entry is an object (not a bare string) so per-origin configuration can be added in the future without another breaking change.

url?: string

Upstream origin relay URL.

created: string
formatdate-time
modified: string
formatdate-time
name: string
token_publish_subscribe: string

Full access token (publish + subscribe). Treat as sensitive.

token_subscribe: string

Subscribe-only token. Treat as sensitive.

uid: string

Server-generated unique identifier (32 hex chars).

Create a relay

import Cloudflare from 'cloudflare';

const client = new Cloudflare({
  apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted
});

const relay = await client.moq.relays.create({
  account_id: '023e105f4ecef8ad9ca31a8372d0c353',
  name: 'Production Live Stream',
});

console.log(relay.uid);
{
  "errors": [
    {
      "code": 0,
      "message": "message"
    }
  ],
  "messages": [
    {
      "code": 0,
      "message": "message"
    }
  ],
  "success": true,
  "result": {
    "config": {
      "lingering_subscribe": {
        "enabled": true,
        "max_timeout_ms": 0
      },
      "origin_fallback": {
        "enabled": true,
        "origins": [
          {
            "url": "url"
          }
        ]
      }
    },
    "created": "2019-12-27T18:11:19.117Z",
    "modified": "2019-12-27T18:11:19.117Z",
    "name": "Production Live Stream",
    "token_publish_subscribe": "eyJhbGciOiJFZDI1NTE5...",
    "token_subscribe": "eyJhbGciOiJFZDI1NTE5...",
    "uid": "a1b2c3d4e5f67890a1b2c3d4e5f67890"
  }
}
Returns Examples
{
  "errors": [
    {
      "code": 0,
      "message": "message"
    }
  ],
  "messages": [
    {
      "code": 0,
      "message": "message"
    }
  ],
  "success": true,
  "result": {
    "config": {
      "lingering_subscribe": {
        "enabled": true,
        "max_timeout_ms": 0
      },
      "origin_fallback": {
        "enabled": true,
        "origins": [
          {
            "url": "url"
          }
        ]
      }
    },
    "created": "2019-12-27T18:11:19.117Z",
    "modified": "2019-12-27T18:11:19.117Z",
    "name": "Production Live Stream",
    "token_publish_subscribe": "eyJhbGciOiJFZDI1NTE5...",
    "token_subscribe": "eyJhbGciOiJFZDI1NTE5...",
    "uid": "a1b2c3d4e5f67890a1b2c3d4e5f67890"
  }
}