v4
Updates a specific rule.
Request
Request syntax:
PATCH /rules/Rule ID
Define the following variable when submitting the above request:
| VariableA variable represents a value that must be replaced. A variable consists of either a URL segment (e.g., "0001" in /0001/) or a query string value (e.g., "3" in mediaTypes=3). | Description |
|---|---|
| Rule ID Required | Identifies a rule by its system-defined or external ID. Use the Get Multiple Rules endpoint to retrieve a list of rules and their IDs. |
Request body parameters:
Pass the following request body parameters:
| Name | Data Type | Description | |||
|---|---|---|---|---|---|
| all_viewers | Boolean | Determines whether this rule applies to all audiences. Default value: False | |||
| alternate_content_id | String | Identifies the alternate content that will be streamed to blacked out viewers by its ID. The alternate_content_type parameter determines how you should configure this parameter. _ alternate_content_type: asset Asset ID _ alternate_content_type: channel Live Channel ID _ alternate_content_type: slicer Live Slicer ID _ alternate_content_type: slate Conditional blackout slate will be streamed to blacked out viewers. This parameter should be an empty value. | |||
| alternate_content_loop | Boolean | Determines whether alternate content will be looped. Valid values are: True | False | ||
| alternate_content_type | String | Defines the type of alternate content that will be streamed to blacked out viewers. Valid case-sensitive values are: asset | channel | slate | slicer Identify alternate content through both the alternate_content_id and the alternate_content_type parameters. For example, specify a CMS asset by setting the alternate_content_type parameter to asset and the alternate_content_id parameter to the desired asset ID. |
| audience | String | all_viewers: false Identifies an audience or superaudience by its system-defined ID. This rule will only be applied to the specified audience when the all_viewers parameter is set to False. | |||
| desc | String | Defines the name of the rule. | |||
| external_id | String | Defines the external ID associated with this rule. |
Response
A successful request returns a 200 OK response that contains the following properties:
| Name | Data Type | Description | |||
|---|---|---|---|---|---|
| @id | String | Indicates the relative path to an endpoint that returns this rule. | |||
| @type | String | Returns Rule. | |||
| all_viewers | Boolean | Indicates whether this rule applies to all audiences. Default value: False | |||
| alternate_content_id | String | Indicates the alternate content that will be streamed to blacked out viewers by its ID. The alternate_content_type parameter determines the type of ID defined within this parameter. _ alternate_content_type: asset Asset ID _ alternate_content_type: channel Live Channel ID _ alternate_content_type: slicer Live Slicer ID _ alternate_content_type: slate Conditional blackout slate will be streamed to blacked out viewers. This parameter should be an empty value. | |||
| alternate_content_loop | Boolean | Indicates whether alternate content will be looped. Valid values are: True | False | ||
| alternate_content_type | String | Indicates the type of alternate content that will be streamed to blacked out viewers. Valid case-sensitive values are: asset | channel | slate | slicer Identify alternate content through both the alternate_content_id and the alternate_content_type parameters. For example, specify a CMS asset by setting the alternate_content_type parameter to asset and the alternate_content_id parameter to the desired asset ID. |
| audience | String | all_viewers: false Indicates an audience or superaudience by its system-defined ID. This rule will only be applied to the specified audience when the all_viewers parameter is set to False. | |||
| created | String | Indicates the timestamp (UTC) at which the rule was created. Syntax (ISO 8601): YYYY-MM-DDThh:mm:ss.sssZ | |||
| desc | String | Indicates the name of the rule. | |||
| external_id | String | Indicates the external ID associated with this rule. | |||
| id | String | Identifies this rule by its system-defined ID. | |||
| owner | String | Indicates the system-defined ID for the user that owns this rule. |
Sample Request/Response
The code below (Python 3) shows how to update a rule.
This code imports names from the api_auth module for V4 APIs (see below).
🦉
API Auth for Classic Authentication (V4 APIs)
Open Recipe
import json, requests
from api_auth import APICredentials, APIParams
rule_id = 'c2eb5a555b9d45b7a43552f65a268075' # Replace with the ID for the desired rule.
class Rule:
def __init__(self):
self.host = "https://services.uplynk.com"
def run(self):
"""
Update a rule.
"""
self._update_rule()
def _update_rule(self):
url = "{}{}{}".format(self.host, "/api/v4/rules/", rule_id)
payload = {
'alternate_content_type': 'asset', # Sets the type of alternate content.
'alternate_content_id': '062048d702734ca6a38f3e7f8e4f4488' # Replace with the desired asset ID.
}
headers = {'Content-Type': 'application/json'}
response = requests.patch(
url, params=APIParams(APICredentials()).get_params({}), data=json.dumps(payload), headers=headers
)
print(response.json())
Rule().run()Response:
{
"@id": "/api/v4/rules/c2eb5a555b9d45b7a43552f65a268075",
"@type": "Rule",
"id": "c2eb5a555b9d45b7a43552f65a268075",
"created": "2021-07-01T23:34:38.215Z",
"owner": "abc123def456ghi789jkl012mno345pq",
"external_id": "",
"audience": "",
"alternate_content_type": "asset",
"alternate_content_id": "062048d702734ca6a38f3e7f8e4f4488",
"alternate_content_loop": true,
"all_viewers": true,
"desc": "My New Rule"
}