Application Streaming Cluster Settings Update

Updates the streaming cluster settings for an application. Available fields depend on the application type (ORIGIN, EDGE, or TRANSCODE).

Request

Property Value
Method PATCH
URL /api/applications/{appName}/settings/cluster
Content-Type application/json
Authentication Bearer Token

Path Parameters

Parameter Type Required Description
appName string Yes Application name

Request Body

Available fields depend on the application type:

ORIGIN/TRANSCODE Application

Parameter Type Required Description
data.attributes.nodeHostname string No This node's hostname
data.attributes.nodePort integer No This node's port
data.attributes.nodeIsSSL boolean No Use SSL for this node
data.attributes.nodePriority integer No Node priority in cluster
data.attributes.clusterManagers array No List of cluster managers
data.attributes.clusterManagers[].hostname string Yes Manager hostname
data.attributes.clusterManagers[].port integer Yes Manager port
data.attributes.clusterManagers[].isSSL boolean No Use SSL for manager connection
data.attributes.clusterManagers[].priority integer No Manager priority
data.attributes.clusterManagers[].secret string Yes Authentication secret

EDGE Application

Parameter Type Required Description
data.attributes.nodeHostname string No This node's hostname
data.attributes.nodePort integer No This node's port
data.attributes.nodeIsSSL boolean No Use SSL for this node
data.attributes.copyOnPublish boolean No Copy stream on publish
data.attributes.clusterManagers array No List of cluster managers
data.attributes.clusterManagers[].hostname string Yes Manager hostname
data.attributes.clusterManagers[].port integer Yes Manager port
data.attributes.clusterManagers[].isSSL boolean No Use SSL for manager connection
data.attributes.clusterManagers[].priority integer No Manager priority
data.attributes.clusterManagers[].secret string Yes Authentication secret

Example Request (ORIGIN/TRANSCODE)

{
  "data": {
    "attributes": {
      "nodeHostname": "origin.example.com",
      "nodePort": 1935,
      "nodeIsSSL": false,
      "nodePriority": 1,
      "clusterManagers": [
        {
          "hostname": "supervisor1.example.com",
          "port": 8080,
          "isSSL": false,
          "priority": 1,
          "secret": "qwerty123"
        },
        {
          "hostname": "supervisor2.example.com",
          "port": 8443,
          "isSSL": true,
          "priority": 2,
          "secret": "secret456"
        }
      ]
    }
  }
}

Example Request (EDGE)

{
  "data": {
    "attributes": {
      "nodeHostname": "edge.example.com",
      "nodePort": 1935,
      "nodeIsSSL": false,
      "copyOnPublish": true,
      "clusterManagers": [
        {
          "hostname": "supervisor.example.com",
          "port": 8080,
          "isSSL": false,
          "priority": 1,
          "secret": "qwerty123"
        }
      ]
    }
  }
}

Response

Status Codes

Code Description
200 Success - Settings updated
400 Bad Request - Invalid parameters
401 Unauthorized - Invalid or missing token
404 Not Found - Application does not exist
429 Too Many Requests - Rate limit exceeded
500 Internal Server Error

Successful Response (200)

{
  "data": {
    "attributes": {
      "nodeHostname": {
        "editable": true,
        "value": "origin.example.com"
      },
      "nodePort": {
        "editable": true,
        "value": 1935
      },
      "nodeIsSSL": {
        "editable": true,
        "value": false
      },
      "nodePriority": {
        "editable": true,
        "value": 1
      },
      "clusterManagers": [
        {
          "hostname": {
            "editable": true,
            "value": "supervisor1.example.com"
          },
          "port": {
            "editable": true,
            "value": 8080
          },
          "isSSL": {
            "editable": true,
            "value": false
          },
          "priority": {
            "editable": true,
            "value": 1
          },
          "secret": {
            "editable": true,
            "value": "qwerty123"
          }
        }
      ]
    }
  },
  "meta": {
    "executionTime": 17,
    "generatedAt": 1766071565806
  },
  "message": "Streaming Cluster Settings have been updated"
}

Response Body

Streaming Cluster Settings (ORIGIN/TRANSCODE)

Parameter Type Description
data.attributes.nodeHostname.value string This node's hostname
data.attributes.nodeHostname.editable boolean Indicates if the field can be modified
data.attributes.nodeHostname.lockedBy string Locked by environment variable (if present)
data.attributes.nodePort.value integer This node's port
data.attributes.nodePort.editable boolean Indicates if the field can be modified
data.attributes.nodePort.lockedBy string Locked by environment variable (if present)
data.attributes.nodeIsSSL.value boolean Use SSL for this node
data.attributes.nodeIsSSL.editable boolean Indicates if the field can be modified
data.attributes.nodeIsSSL.lockedBy string Locked by environment variable (if present)
data.attributes.nodePriority.value integer Node priority in cluster
data.attributes.nodePriority.editable boolean Indicates if the field can be modified
data.attributes.nodePriority.lockedBy string Locked by environment variable (if present)

Streaming Cluster Settings (EDGE only)

Parameter Type Description
data.attributes.copyOnPublish.value boolean Copy stream on publish
data.attributes.copyOnPublish.editable boolean Indicates if the field can be modified
data.attributes.copyOnPublish.lockedBy string Locked by environment variable (if present)

Cluster Managers (All Types)

Parameter Type Description
data.attributes.clusterManagers array List of cluster managers
data.attributes.clusterManagers[].hostname.value string Manager hostname
data.attributes.clusterManagers[].hostname.editable boolean Indicates if the field can be modified
data.attributes.clusterManagers[].port.value integer Manager port
data.attributes.clusterManagers[].port.editable boolean Indicates if the field can be modified
data.attributes.clusterManagers[].isSSL.value boolean Use SSL for manager connection
data.attributes.clusterManagers[].isSSL.editable boolean Indicates if the field can be modified
data.attributes.clusterManagers[].priority.value integer Manager priority
data.attributes.clusterManagers[].priority.editable boolean Indicates if the field can be modified
data.attributes.clusterManagers[].secret.value string Authentication secret
data.attributes.clusterManagers[].secret.editable boolean Indicates if the field can be modified
message string Response status message

Metadata

Parameter Type Description
meta.executionTime integer Request processing time in milliseconds
meta.generatedAt integer Response generation timestamp (Unix timestamp in ms)

Error Responses

Application Not Found (404)

{
  "message": "Application not found"
}

Error Response Body

Parameter Type Description
message string Human-readable error message