The Syndication Publishing API, which is a versioned API, administers publishing target configurations and schedules, validates stream URLs, and starts/stops publishing to a social media or content distribution platform.
It supports the following endpoints:
Endpoint | Description |
---|---|
POST /syndication-schedule
|
|
POST /syndication-target
|
|
DELETE /syndication-schedule/Publishing Schedule ID
|
Deletes a publishing schedule. |
DELETE /syndication-target/Publishing Target ID
|
Deletes a publishing target configuration. |
GET /syndication-regions
|
Retrieves a list of locations to which you may publish. |
GET /syndication-jobs
|
Retrieves all publishing jobs. |
Get Multiple Publishing Schedules GET /syndication-schedule
|
Retrieves all publishing schedules. |
Get Multiple Publishing Targets GET /syndication-target
|
Retrieves all publishing targets. |
GET /syndication-schedule/Publishing Schedule ID
|
Retrieves the configuration for a publishing schedule. |
GET /syndication-target/Publishing Target ID
|
Retrieves the configuration for a specific publishing target. |
Get Syndication Publishing-Compatible Clipping Profiles GET /syndication-clipping-profiles?service=Platform
|
Retrieves all Facebook or YouTube Clipping profiles. |
GET /syndication-ray-details/Publishing Schedule ID
|
Retrieves encoding information for the rays associated with a specific publishing schedule. |
PATCH /syndication-schedule-action/Publishing Schedule ID
|
Start or stop publishing to a social media or content distribution platform. |
PATCH /syndication-schedule/Publishing Schedule ID
|
Updates a publishing schedule. |
PATCH /syndication-target/Publishing Target ID
|
Updates a publishing target configuration. |
PATCH /syndication-target-test/Publishing Target ID
|
Validates that our service can connect to a social media or content distribution platform using the stream URL associated with a specific publishing target. |
Use the following base URL:
Request syntax:
Request body parameters:
Pass the following request body parameters:
Name |
Data Type |
Description |
---|---|---|
content_id Required |
String |
Identifies a live channel or live event by its system-defined ID. |
content_type Required |
String |
Determines whether the content_id parameter identifies a live channel or a live event. Valid values are:
|
region |
String |
Identifies a publishing location by its system-defined ID. A publishing location determines where your stream will be converted to a feed that may be ingested by the social media or content distribution platform identified by the publishing target. Set this property to an empty string to use the default output location. Use the Get All Publishing Locations endpoint to retrieve a list of regions and their system-defined IDs. |
scte35_enabled |
Integer |
HLS (Push/Pull) or Zixi (Push) Determines whether SCTE-35 markers will be inserted into the published stream. Valid values are:
|
source_stream Deprecated |
String |
This parameter has been deprecated. |
source_url_params |
Dictionary |
Define a key-value pair for each desired query string parameter. Syndication Publishing adds these parameters to the playback URL published to your social media or content distribution platform. Example: 'source_url_params': { 'delay': '20', 'ad': 'sportcreatives' } |
syndication_target_id Required |
String |
Identifies a publishing targetRefers to a configuration that identifies the URL to which your content may be published. A publishing schedule leverages a publishing target configuration to syndicate a live channel or a live event to a social media platform. by its system-defined ID. Use the Get Multiple Publishing Targets endpoint to retrieve a list of publishing targets and their system-defined IDs. |
target_platform_config |
Dictionary |
HLS (Push/Pull) or Zixi (Push) Contains a social media or content distribution platform's setting. |
url_params_active |
Boolean |
Determines whether our service may add your custom query string parameters to the playback URLs defined within the manifest file. |
video_quality |
String |
Determines the stream quality that will be published to the social media or content distribution platform. Valid values are: high | medium | low
|
The target_platform_config dictionary describes a social media or content distribution platform's settings through the following properties:
Name |
Data Type |
Description |
---|---|---|
integrated_description |
String |
Facebook or YouTube (Integrated Authentication) Determines the video's description. |
integrated_title |
String |
Facebook or YouTube (Integrated Authentication) Determines the video's title. |
integrated_yt_made_for_kids | Boolean |
YouTube (Integrated Authentication) Only Determines whether the video is appropriate for kids. |
integrated_yt_privacy |
String |
YouTube (Integrated Authentication) Only Sets the video's privacy level. Valid values are: public | private | unlisted
|
rays |
List of string values |
HLS (Push/Pull) Contains a list of the ray(s) that will be published. Use the Get Rays endpoint to retrieve a list of rays (all) and their names (ray_name). |
Pass a digital signature based off of msg.
The response for a successful request contains the following properties:
Name |
Data Type |
Description |
---|---|---|
@id |
String |
Indicates the relative path to an endpoint that returns this publishing schedule. |
@type |
String |
Returns SyndicationSchedule. |
audio_track |
String |
Indicates the name of the audio track that will be published. |
content_id |
String |
Identifies a live channel or live event by its system-defined ID. |
content_type |
String |
Indicates whether the content_id parameter identifies a live channel or a live event. Valid values are:
|
err_msg |
String |
Indicates the publishing schedule's last error message. The system generates an error message whenever the publishing schedule's status is set to error. |
id |
String |
Indicates the system-defined ID for the publishing schedule. |
last_status |
String |
Indicates the timestamp, in Unix time (milliseconds), at which the publishing schedule's status was last updated. |
region |
String |
Indicates the location where your stream will be converted to a feed that may be ingested by the social media or content distribution platform identified by the publishing target. An empty string identifies the default output location. |
region_auto_selected |
Boolean |
Indicates whether this publishing schedule's publishing location is set to auto selected. |
scte35_enabled |
Integer |
HLS (Push/Pull) or Zixi (Push) Indicates whether SCTE-35 markers will be inserted into the published stream. Valid values are:
|
source_stream Deprecated |
String |
This parameter has been deprecated. |
source_url_params |
Dictionary |
Contains key-value pairs for query string parameters. Syndication Publishing adds these parameters to the playback URL published to your social media or content distribution platform.
|
start |
Integer |
Indicates the timestamp, in Unix time (milliseconds), at which the publishing schedule was last started. |
status |
String |
Indicates the publishing schedule's status. Valid values are: active | stopping | stopped | scheduled | error
|
stop |
Integer |
Indicates the timestamp, in Unix time (milliseconds), for either of the following conditions:
|
syndication_target_description |
String |
Indicates the description for the publishing target. |
syndication_target_id |
String |
Indicates the system-defined ID for the publishing targetRefers to a configuration that identifies the URL to which your content may be published. A publishing schedule leverages a publishing target configuration to syndicate a live channel or a live event to a social media platform.. |
target_platform_config |
Dictionary |
HLS (Push/Pull) or Zixi (Push) Contains a social media or content distribution platform's settings. |
type |
String |
Returns downloader. |
url_params_active |
Boolean |
Indicates whether our service may add your custom query string parameters to the playback URLs defined within the manifest file. |
video_quality |
String |
Indicates the stream quality that will be published to the social media or content distribution platform. Valid values are: high | medium | low
|
The target_platform_config dictionary describes a social media or content distribution platform's settings via the following properties:
Name |
Data Type |
Description |
---|---|---|
broadcast_id |
String |
Reserved for internal use. |
channel_id_pristine |
String |
Reserved for internal use. |
hls_master_url |
String |
HLS (Pull) Only Indicates the URL to which our service will push a HLS stream once you start publishing to this target. You will need to configure the desired social media or content distribution platform to pull the stream using this URL. |
integrated |
Boolean |
Reserved for future use. |
integrated_description |
String |
Facebook and YouTube (Integrated Authentication) Indicates the video's description. |
integrated_title |
String |
Facebook and YouTube (Integrated Authentication) Indicates the video's title. |
integrated_yt_made_for_kids | Boolean |
YouTube (Integrated Authentication) Only Indicates whether the video is appropriate for kids. |
integrated_yt_privacy |
String |
YouTube (Integrated Authentication) Only Indicates the video's privacy level. Valid values are: public | private | unlisted
|
rays |
List of string values |
HLS (Push/Pull) Contains a list of the ray(s) that will be published. Use the Get Rays endpoint to retrieve a list of rays (all) and their names (ray_name). |
stream_id |
String |
Reserved for internal use. |
Call the create_publishing_schedule module (Python 3) to create a publishing schedule. This module imports names from the api_auth module.
import json import requests from api_auth import APICredentials, APIParams class PublishingSchedule: def __init__(self): self.host = "https://services.uplynk.com" def run(self): self._create_publishing_schedule() def _create_publishing_schedule(self): url = "{}{}".format(self.host, "/api/v4/syndication-schedule") publishing_target_id = 'd30f655670cb426c98cd28afb6291bf4' content_type = 'c' content_id = '1df8d13992cd4222a7343b8fafd89cd7' payload = { 'syndication_target_id': publishing_target_id, 'video_quality': 'medium', 'content_id': content_id, 'content_type': content_type } headers = {'Content-Type': 'application/json'} response = requests.post( url, params=APIParams(APICredentials()).get_params({}), data=json.dumps(payload), headers=headers ) print(response.json()) PublishingSchedule().run()
Response:
{ "@id": "/api/v4/syndication-schedule/e8d6b5cb940c40cc9ec6ad081a38f3f0", "@type": "SyndicationSchedule", "id": "e8d6b5cb940c40cc9ec6ad081a38f3f0", "start": "", "stop": "", "syndication_target_id": "d30f655670cb426c98cd28afb6291bf4", "status": "scheduled", "last_status": "", "err_msg": "", "type": "downloader", "video_quality": "medium", "audio_track": "en", "content_id": "1df8d13992cd4222a7343b8fafd89cd7", "content_type": "c", "syndication_target_description": "My Publishing Schedule" }
Request syntax:
Request body parameters:
Pass the following request body parameters:
Name |
Data Type |
Description |
---|---|---|
description |
String |
Defines a description for the social media or content distribution platform. |
platform Required |
String |
Identifies a social media or content distribution platform by its case-sensitive name. Valid values are: AWS Elemental MediaConnect | Custom | Facebook | Pluto TV | TikTok | Twitch | YouTube
|
platform_config |
Dictionary |
Contains additional platform-specific settings. |
target_protocol Required |
String |
Determines the protocol through which your content will be published. Valid values are: rtmp | rtmps | hls | hls-push | zixi | srt | rist
Key information:
|
target_stream Required |
String |
Required for Facebook (stream key), TikTok, Twitch, YouTube (stream key), and Custom (RTMP, RTMPS, HLS - Push, SRT - Push, and RIST - Push) Identifies the stream to which your content will be published. This parameter's configuration varies by platform.
|
The platform_config dictionary contains the following platform-specific settings:
Name |
Data Type |
Description |
---|---|---|
clipping_profile_id |
String |
Facebook and YouTube (Integrated Authentication) Identifies the Clipping profile, whose credentials will be used to authenticate to Facebook or YouTube, by its system-defined ID. Use the Get Syndication Publishing-Compatible Clipping Profiles endpoint to retrieve Clipping profiles and their system-defined IDs. |
host Required |
String |
AWS Elemental MediaConnect, Pluto TV, and ZIXI (Push) Identifies the hostname or IP address for the desired platform or your Zixi-enabled device. |
integrated |
Boolean |
Facebook and YouTube Determines how your live stream will be published to Facebook or YouTube. Valid values are:
Default value: false
|
page_id Required |
String |
Facebook Only Identifies a Facebook page by its system-defined ID. Your live stream will be published to this page. |
password Required |
String |
AWS Elemental MediaConnect, Pluto TV, and ZIXI (Push) Identifies the password of the stream to which your content will be published. |
port Required |
Integer |
Identifies the port for the desired platform or platform-enabled device. Zixi-enabled devices and servers typically listen on port 2088. |
re_schedule |
Boolean |
Facebook Only Determines whether our service will create and then publish a new Facebook live event upon reaching Facebook's live event time limit. Default value: false
|
stream_id Required |
String |
AWS Elemental MediaConnect, Pluto TV, and ZIXI (Push) Identifies the ID of the stream to which your content will be published. |
type |
String |
Set to push. |
Pass a digital signature based off of msg.
The response for a successful request contains the following properties:
Name |
Data Type |
Description |
---|---|---|
@id |
String |
Indicates the relative path to an endpoint that returns the new publishing target configuration. |
@type |
String |
Returns SyndicationTarget. |
items |
List of dictionaries |
Contains a list of publishing targets. |
total_items |
Integer |
Returns 1. |
The items list describes each publishing target via the following properties:
Name |
Data Type |
Description |
---|---|---|
@id |
String |
Indicates the relative path to an endpoint that returns this publishing target. |
@type |
String |
Returns SyndicationTarget. |
description |
String |
Indicates a description for the social media or content distribution platform. |
id |
String |
Identifies this publishing target by its system-defined ID. |
platform |
String |
Identifies a social media or content distribution platform by its case-sensitive name. Valid values are: AWS Elemental MediaConnect | Custom | Facebook | Pluto TV | TikTok | Twitch | YouTube
|
platform_config |
Dictionary |
Contains additional platform-specific settings. |
status |
String |
Indicates the publishing target's status. Valid values are: activeIndicates that one or more publishing schedules that leverage this publishing target are in the active state. | stoppedIndicates that none of the publishing schedules that leverage this publishing target are in the active or error state. | errorIndicates that one or more publishing schedules that leverage this publishing target are in the error state.
|
target_protocol |
String |
Indicates the protocol through which your content will be published. Valid values are: rtmp | rtmps | hls | hls-push | zixi | srt | rist
|
target_stream |
String |
Returns ******. This value represents either a stream URL or a stream key when the integrated parameter is set to false. |
The platform_config dictionary contains the following platform-specific settings:
Name |
Data Type |
Description |
---|---|---|
clipping_profile_id |
String |
Facebook and YouTube (Integrated Authentication) Indicates the Clipping profile, whose credentials will be used to authenticate to Facebook or YouTube, by its system-defined ID. Use the Get Syndication Publishing-Compatible Clipping Profiles endpoint to retrieve Clipping profiles and their system-defined IDs. |
host |
String |
AWS Elemental MediaConnect, Pluto TV, and ZIXI (Push) Indicates the hostname or IP address for the desired platform or your Zixi-enabled device. |
integrated |
Boolean |
Facebook and YouTube Indicates how your live stream will be published to Facebook or YouTube. Valid values are:
|
page_id |
String |
Facebook Only Identifies a Facebook page by its system-defined ID. Your live stream will be published to this page. |
password |
String |
AWS Elemental MediaConnect, Pluto TV, and ZIXI (Push) Returns ******. This value represents the password of the stream to which your content will be published. |
port |
Integer |
Indicates the port for the desired platform or platform-enabled device. Zixi-enabled devices and servers typically listen on port 2088. |
re_schedule |
Boolean |
Facebook Only Indicates whether our service will create and then publish a new Facebook live event upon reaching Facebook's live event time limit. |
remote_id |
String |
Reserved for future use. |
stream_id |
String |
AWS Elemental MediaConnect, Pluto TV, and ZIXI (Push) Returns ******. This value represents the ID of the stream to which your content will be published. |
type |
String |
Returns push. |
Call the create_publishing_target module (Python 3) to create a publishing target configuration. This module imports names from the api_auth module.
import json import requests from api_auth import APICredentials, APIParams class PublishingTarget: def __init__(self): self.host = "https://services.uplynk.com" def run(self): self._create_publishing_target() def _create_publishing_target(self): url = "{}{}".format(self.host, "/api/v4/syndication-target") payload = { 'target_stream': 'rtmp://platform.example.com/live/3u40-9rqs-502b-7zeq', 'platform': 'Facebook', 'description': 'Facebook publishing', 'target_protocol': 'rtmp' } headers = {'Content-Type': 'application/json'} response = requests.post( url, params=APIParams(APICredentials()).get_params({}), data=json.dumps(payload), headers=headers ) print(response.json()) PublishingTarget().run()
Response:
{ "@id": "/api/v4/syndication-target/587be125932f4428b83e4435e41503b7", "@type": "Collection", "items": [{ "@id": "/api/v4/syndication-target/587be125932f4428b83e4435e41503b7", "@type": "SyndicationTarget", "id": "587be125932f4428b83e4435e41503b7", "platform": "Facebook", "description": "Facebook publishing", "target_protocol": "rtmp", "target_stream": "rtmp://platform.example.com/live/3u40-9rqs-502b-7zeq", "status": "stopped" } ], "total_items": 1 }
Request syntax:
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 |
---|---|
Required |
Replace this variable with the system-defined ID assigned to the desired publishing schedule. Use the Get Multiple Publishing Schedules endpoint to retrieve a list of publishing schedules and their system-defined ID. |
Pass a digital signature based off of msg.
The response for a successful request contains the following properties:
Name |
Data Type |
Description |
---|---|---|
@id |
String |
Indicates the relative path to an endpoint that previously returned this publishing schedule. |
@type |
String |
Returns SyndicationSchedule. |
id |
String |
Returns Deleted upon successfully deleting the publishing schedule. |
Call the delete_publishing_schedule module (Python 3) to delete a publishing schedule. This module imports names from the api_auth module.
import requests from api_auth import APICredentials, APIParams class PublishingSchedule: def __init__(self): self.host = "https://services.uplynk.com" def run(self): self._delete_publishing_schedule() def _delete_publishing_schedule(self): publishing_schedule_id = '587be125932f4428b83e4435e41503b7' url = "{}{}{}".format(self.host, "/api/v4/syndication-schedule/", publishing_schedule_id) headers = {'Content-Type': 'application/json'} response = requests.delete( url, params=APIParams(APICredentials()).get_params({}), headers=headers ) print(response.json()) PublishingSchedule().run()
Response:
{ "@id": "/api/v4/syndication-schedule/4ebd413a120a428eba0adcd98df94927", "@type": "SyndicationSchedule", "message": "Deleted" }
Request syntax:
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 |
---|---|
Required |
Replace this variable with the system-defined ID assigned to the desired publishing target configuration. Use the Get Multiple Publishing Targets endpoint to retrieve a list of publishing targets and their system-defined ID. |
Pass a digital signature based off of msg.
The response for a successful request contains the following properties:
Name |
Data Type |
Description |
---|---|---|
@id |
String |
Indicates the relative path to an endpoint that previously returned this publishing target. |
@type |
String |
Returns SyndicationTarget. |
message |
String |
Returns Deleted upon successfully deleting the publishing target. |
Call the delete_publishing_target module (Python 3) to delete a publishing target configuration. This module imports names from the api_auth module.
import requests from api_auth import APICredentials, APIParams class PublishingTarget: def __init__(self): self.host = "https://services.uplynk.com" def run(self): self._delete_publishing_target() def _delete_publishing_target(self): publishing_target_id = '587be125932f4428b83e4435e41503b7' url = "{}{}{}".format(self.host, "/api/v4/syndication-target/", publishing_target_id) headers = {'Content-Type': 'application/json'} response = requests.delete( url, params=APIParams(APICredentials()).get_params({}), headers=headers ) print(response.json()) PublishingTarget().run()
Response:
{ "@id": "/api/v4/syndication-target/4ebd413a120a428eba0adcd98df94927", "@type": "SyndicationTarget", "message": "Deleted" }
Retrieves all publishing locations.
Request syntax:
Pass a digital signature based off of msg.
The response for a successful request contains the following properties:
Name |
Data Type |
Description |
---|---|---|
@id |
String |
Indicates the relative path to the requested endpoint. |
@type |
String |
Returns Collection. |
items |
List of dictionaries |
Contains a list of publishing locations. |
total_items |
Integer |
Indicates the total number of publishing locations. |
The items list describes each publishing location via the following properties:
Name |
Data Type |
Description |
---|---|---|
id |
String |
Identifies this publishing location by its system-defined ID. |
name |
String |
Identifies this publishing location by its name. |
Call the get_all_publishing_locations module (Python 3) to retrieve all publishing locations. This module imports names from the api_auth module.
import requests from api_auth import APICredentials, APIParams class PublishingLocation: def __init__(self): self.host = "https://services.uplynk.com" def run(self): self._get_publishing_locations() def _get_publishing_locations(self): url = "{}{}".format(self.host, "/api/v4/syndication-regions") headers = {'Content-Type': 'application/json'} response = requests.get( url, params=APIParams(APICredentials()).get_params({}), headers=headers ) print(response.json()) PublishingLocation().run()
Response:
{ '@id': '/api/v4/syndication-regions', '@type': 'Collection', 'items': [{ 'id': 'us-east-1', 'name': 'AWS - USA - East - N. Virginia' }, { 'id': 'us-east-2', 'name': 'AWS - USA - East - Ohio' }, { 'id': 'us-west-2', 'name': 'AWS - USA - West - Oregon' }, { 'id': 'sa-east-1', 'name': 'AWS - South America - East - Sao Paulo' }, { 'id': 'eu-central-1', 'name': 'AWS - Europe - Central - Frankfurt' }, { 'id': 'eu-west-1', 'name': 'AWS - Europe - West - Ireland' }, { 'id': 'ap-south-1', 'name': 'AWS - Asia Pacific - South - Mumbai' }, { 'id': 'ap-southeast-1', 'name': 'AWS - Asia Pacific - South East - Singapore' } ], 'total_items': 9 }
Retrieves all publishing jobs.
Request syntax:
Pass a digital signature based off of msg.
The response for a successful request contains the following properties:
Name |
Data Type |
Description |
---|---|---|
@id |
String |
Indicates the relative path to the requested endpoint. |
@type |
String |
Returns Collection. |
items |
List of dictionaries |
Contains a list of publishing jobs. |
total_items |
Integer |
Indicates the total number of publishing jobs. |
The items list describes each publishing job via the following properties:
Name |
Data Type |
Description |
---|---|---|
content_description |
String |
Indicates the name of the live channel or live event identified by the content_id parameter. |
content_id |
String |
Identifies a live channel or live event by its system-defined ID. |
content_type |
String |
Indicates whether the content_id parameter identifies a live channel or a live event. Valid values are:
|
description |
String |
Indicates the name of the publishing target. |
id |
String |
Identifies this publishing job by its system-defined ID. |
job_status |
String |
Indicates a publishing job's status. Valid values are: activeIndicates that one or more publishing schedules that leverage this publishing target are in the active state. | stoppedIndicates that none of the publishing schedules that leverage this publishing target are in the active or error state. | errorIndicates that one or more publishing schedules that leverage this publishing target are in the error state.
|
platform |
String |
Identifies a social media or content distribution platform by its name. Valid values are: Facebook | YouTube | Twitch | Periscope | Zixi | Other
|
region |
String |
Indicates the publishing job's publishing location by its system-defined ID. Use the Get All Publishing Locations endpoint to retrieve a list of publishing locations and their system-defined IDs. |
region_auto_selected |
Boolean |
Indicates whether the publishing job's publishing location was auto selected. |
start |
String |
Indicates the timestamp, in Unix time (milliseconds), at which the publishing job was started. |
stop |
String |
Indicates the timestamp, in Unix time (milliseconds), for either of the following conditions:
|
syndication_target_id |
String |
Identifies a publishing target by its system-defined ID. |
target_protocol |
String |
Indicates the protocol through which your content will be published. Valid values are: rtmp | rtmps | hls | hls-pull | zixi | srt | rist
|
Call the get_multiple_publishing_jobs module (Python 3) to retrieve publishing jobs. This module imports names from the api_auth module.
import requests from api_auth import APICredentials, APIParams class PublishingJob: def __init__(self): self.host = "https://services.uplynk.com" def run(self): self._get_publishing_jobs() def _get_publishing_jobs(self): url = "{}{}".format(self.host, "/api/v4/syndication-jobs") headers = {'Content-Type': 'application/json'} response = requests.get( url, params=APIParams(APICredentials()).get_params({}), headers=headers ) print(response.json()) PublishingJob().run()
Response:
{ '@id': '/api/v4/syndication-jobs', '@type': 'Collection', 'items': [{ '@id': '/api/v4/syndication-jobs/23248d5c270340ca86ca7a36e155e794', '@type': 'SyndicationData', 'id': '23248d5c270340ca86ca7a36e155e794', 'start': '', 'stop': '1630236590416', 'syndication_target_id': '7caf1c6c67d041ad8210e7e493be781f', 'status': 'stopped', 'content_id': 'gn2df67cbcf24e74bf564816ebecc0fg', 'content_type': 'c', 'syndication_target_description': 'Events', 'syndication_target_platform': 'Facebook', 'syndication_target_protocol': 'rtmp', 'content_description': 'Sales' }, { '@id': '/api/v4/syndication-jobs/4806d5badf5349f9823f358993611ebc', '@type': 'SyndicationData', 'id': '4806d5badf5349f9823f358993611ebc', 'start': '', 'stop': '1629717143701', 'syndication_target_id': 'e5464aeab08245eeb28bfed8470731g6', 'status': 'stopped', 'content_id': '6b2df67cbcf24e74bf564816ebecc44k', 'content_type': 'c', 'syndication_target_description': 'Conferences', 'syndication_target_platform': 'YouTube', 'syndication_target_protocol': 'rtmp', 'content_description': 'Marketing' } ], 'total_items': 2 }
Request syntax:
Pass a digital signature based off of msg.
The response for a successful request contains the following properties:
Name |
Data Type |
Description |
---|---|---|
@id |
String |
Indicates the relative path to the requested endpoint. |
@type |
String |
Returns Collection. |
items |
List of dictionaries |
Contains a list of publishing schedules. |
total_items |
Integer |
Indicates the total number of publishing schedules. |
The items list describes each publishing schedule via the following properties:
Name |
Data Type |
Description |
---|---|---|
@id |
String |
Indicates the relative path to an endpoint that returns this publishing schedule. |
@type |
String |
Returns SyndicationSchedule. |
audio_track |
String |
Indicates the name of the audio track that will be published. |
content_id |
String |
Identifies a live channel or live event by its system-defined ID. |
content_type |
String |
Indicates whether the content_id parameter identifies a live channel or a live event. Valid values are:
|
err_msg |
String |
Indicates the publishing schedule's last error message. The system generates an error message whenever the publishing schedule's status is set to error. |
id |
String |
Indicates the system-defined ID for the publishing schedule. |
last_status |
String |
Indicates the timestamp, in Unix time (milliseconds), at which the publishing schedule's status was last updated. |
region |
String |
Indicates the location where your stream will be converted to a feed that may be ingested by the social media or content distribution platform identified by the publishing target. An empty string identifies the default output location. |
region_auto_selected |
Boolean |
Indicates whether this publishing schedule's publishing location is set to auto selected. |
scte35_enabled |
Integer |
HLS (Push/Pull) or Zixi (Push) Indicates whether SCTE-35 markers will be inserted into the published stream. Valid values are:
|
source_stream Deprecated |
String |
This parameter has been deprecated. |
source_url_params |
Dictionary |
Contains key-value pairs for query string parameters. Syndication Publishing adds these parameters to the playback URL published to your social media or content distribution platform.
|
start |
Integer |
Indicates the timestamp, in Unix time (milliseconds), at which the publishing schedule was last started. |
status |
String |
Indicates the publishing schedule's status. Valid values are: active | stopping | stopped | scheduled | error
|
stop |
Integer |
Indicates the timestamp, in Unix time (milliseconds), for either of the following conditions:
|
syndication_target_description |
String |
Indicates the description for the publishing target. |
syndication_target_id |
String |
Indicates the system-defined ID for the publishing targetRefers to a configuration that identifies the URL to which your content may be published. A publishing schedule leverages a publishing target configuration to syndicate a live channel or a live event to a social media platform.. |
target_platform_config |
Dictionary |
HLS (Push/Pull) or Zixi (Push) Contains a social media or content distribution platform's settings. |
type |
String |
Returns downloader. |
url_params_active |
Boolean |
Indicates whether our service may add your custom query string parameters to the playback URLs defined within the manifest file. |
video_quality |
String |
Indicates the stream quality that will be published to the social media or content distribution platform. Valid values are: high | medium | low
|
The target_platform_config dictionary describes a social media or content distribution platform's settings via the following properties:
Name |
Data Type |
Description |
---|---|---|
broadcast_id |
String |
Reserved for internal use. |
channel_id_pristine |
String |
Reserved for internal use. |
hls_master_url |
String |
HLS (Pull) Only Indicates the URL to which our service will push a HLS stream once you start publishing to this target. You will need to configure the desired social media or content distribution platform to pull the stream using this URL. |
integrated |
Boolean |
Reserved for future use. |
integrated_description |
String |
Facebook and YouTube (Integrated Authentication) Indicates the video's description. |
integrated_title |
String |
Facebook and YouTube (Integrated Authentication) Indicates the video's title. |
integrated_yt_made_for_kids | Boolean |
YouTube (Integrated Authentication) Only Indicates whether the video is appropriate for kids. |
integrated_yt_privacy |
String |
YouTube (Integrated Authentication) Only Indicates the video's privacy level. Valid values are: public | private | unlisted
|
rays |
List of string values |
HLS (Push/Pull) Contains a list of the ray(s) that will be published. Use the Get Rays endpoint to retrieve a list of rays (all) and their names (ray_name). |
stream_id |
String |
Reserved for internal use. |
Call the get_multiple_publishing_schedules module (Python 3) to retrieve all publishing schedules. This module imports names from the api_auth module.
import requests from api_auth import APICredentials, APIParams class PublishingSchedule: def __init__(self): self.host = "https://services.uplynk.com" def run(self): self._get_publishing_schedule() def _get_publishing_schedule(self): url = "{}{}".format(self.host, "/api/v4/syndication-schedule") headers = {'Content-Type': 'application/json'} response = requests.get( url, params=APIParams(APICredentials()).get_params({}), headers=headers ) print(response.json()) PublishingSchedule().run()
Response:
{ "@id": "/api/v4/syndication-schedule", "@type": "Collection", "items": [{ "@id": "/api/v4/syndication-schedule/e8d6b5cb940c40cc9ec6ad081a38f3f0", "@type": "SyndicationSchedule", "id": "e8d6b5cb940c40cc9ec6ad081a38f3f0", "start": "", "stop": "", "syndication_target_id": "d30f655670cb426c98cd28afb6291bf4", "status": "scheduled", "last_status": "", "err_msg": "", "type": "downloader", "video_quality": "medium", "audio_track": "en", "content_id": "1df8d13992cd4222a7343b8fafd89cd7", "content_type": "c", "syndication_target_description": "My Publishing Schedule" } ], "total_items": 1 }
Request syntax:
Pass a digital signature based off of msg.
The response for a successful request contains the following properties:
Name |
Data Type |
Description |
---|---|---|
@id |
String |
Indicates the relative path to the requested endpoint. |
@type |
String |
Returns Collection. |
items |
List of dictionaries |
Contains a list of publishing targets. |
total_items |
Integer |
Indicates the total number of publishing targets. |
The items list describes each publishing target via the following properties:
Name |
Data Type |
Description |
---|---|---|
@id |
String |
Indicates the relative path to an endpoint that returns this publishing target. |
@type |
String |
Returns SyndicationTarget. |
description |
String |
Indicates a description for the social media or content distribution platform. |
id |
String |
Identifies this publishing target by its system-defined ID. |
platform |
String |
Identifies a social media or content distribution platform by its case-sensitive name. Valid values are: AWS Elemental MediaConnect | Custom | Facebook | Pluto TV | TikTok | Twitch | YouTube
|
platform_config |
Dictionary |
Contains additional platform-specific settings. |
status |
String |
Indicates the publishing target's status. Valid values are: activeIndicates that one or more publishing schedules that leverage this publishing target are in the active state. | stoppedIndicates that none of the publishing schedules that leverage this publishing target are in the active or error state. | errorIndicates that one or more publishing schedules that leverage this publishing target are in the error state.
|
target_protocol |
String |
Indicates the protocol through which your content will be published. Valid values are: rtmp | rtmps | hls | hls-push | zixi | srt | rist
|
target_stream |
String |
Returns ******. This value represents either a stream URL or a stream key when the integrated parameter is set to false. |
The platform_config dictionary contains the following platform-specific settings:
Name |
Data Type |
Description |
---|---|---|
clipping_profile_id |
String |
Facebook and YouTube (Integrated Authentication) Indicates the Clipping profile, whose credentials will be used to authenticate to Facebook or YouTube, by its system-defined ID. Use the Get Syndication Publishing-Compatible Clipping Profiles endpoint to retrieve Clipping profiles and their system-defined IDs. |
host |
String |
AWS Elemental MediaConnect, Pluto TV, and ZIXI (Push) Indicates the hostname or IP address for the desired platform or your Zixi-enabled device. |
integrated |
Boolean |
Facebook and YouTube Indicates how your live stream will be published to Facebook or YouTube. Valid values are:
|
page_id |
String |
Facebook Only Identifies a Facebook page by its system-defined ID. Your live stream will be published to this page. |
password |
String |
AWS Elemental MediaConnect, Pluto TV, and ZIXI (Push) Returns ******. This value represents the password of the stream to which your content will be published. |
port |
Integer |
Indicates the port for the desired platform or platform-enabled device. Zixi-enabled devices and servers typically listen on port 2088. |
re_schedule |
Boolean |
Facebook Only Indicates whether our service will create and then publish a new Facebook live event upon reaching Facebook's live event time limit. |
remote_id |
String |
Reserved for future use. |
stream_id |
String |
AWS Elemental MediaConnect, Pluto TV, and ZIXI (Push) Returns ******. This value represents the ID of the stream to which your content will be published. |
type |
String |
Returns push. |
Call the get_multiple_publishing_targets module (Python 3) to retrieve multiple publishing targets. This module imports names from the api_auth module.
import requests from api_auth import APICredentials, APIParams class PublishingTarget: def __init__(self): self.host = "https://services.uplynk.com" def run(self): self._get_publishing_target() def _get_publishing_target(self): url = "{}{}".format(self.host, "/api/v4/syndication-target") headers = {'Content-Type': 'application/json'} response = requests.get( url, params=APIParams(APICredentials()).get_params({}), headers=headers ) print(response.json()) PublishingTarget().run()
Response:
{ "@id": "/api/v4/syndication-target", "@type": "Collection", "items": [{ "@id": "/api/v4/syndication-target/587be125932f4428b83e4435e41503b7", "@type": "SyndicationTarget", "id": "587be125932f4428b83e4435e41503b7", "platform": "Facebook", "description": "Facebook publishing", "target_protocol": "rtmp", "target_stream": "******", "status": "stopped" } ], "total_items": 1 }
Retrieves the configuration for a publishing scheduleRefers to a configuration that identifies a live channel or live event and a publishing target. Use a publishing schedule to syndicate a live channel or a live event to a social media platform..
Request syntax:
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 |
---|---|
Required |
Replace this variable with the system-defined ID assigned to the desired publishing schedule. Use the Get Multiple Publishing Schedules endpoint to retrieve a list of publishing schedules and their system-defined IDs. |
Pass a digital signature based off of msg.
The response for a successful request contains the following properties:
Name |
Data Type |
Description |
---|---|---|
@id |
String |
Indicates the relative path to an endpoint that returns this publishing schedule. |
@type |
String |
Returns SyndicationSchedule. |
audio_track |
String |
Indicates the name of the audio track that will be published. |
content_id |
String |
Identifies a live channel or live event by its system-defined ID. |
content_type |
String |
Indicates whether the content_id parameter identifies a live channel or a live event. Valid values are:
|
err_msg |
String |
Indicates the publishing schedule's last error message. The system generates an error message whenever the publishing schedule's status is set to error. |
id |
String |
Indicates the system-defined ID for the publishing schedule. |
last_status |
String |
Indicates the timestamp, in Unix time (milliseconds), at which the publishing schedule's status was last updated. |
region |
String |
Indicates the location where your stream will be converted to a feed that may be ingested by the social media or content distribution platform identified by the publishing target. An empty string identifies the default output location. |
region_auto_selected |
Boolean |
Indicates whether this publishing schedule's publishing location is set to auto selected. |
scte35_enabled |
Integer |
HLS (Push/Pull) or Zixi (Push) Indicates whether SCTE-35 markers will be inserted into the published stream. Valid values are:
|
source_stream Deprecated |
String |
This parameter has been deprecated. |
source_url_params |
Dictionary |
Contains key-value pairs for query string parameters. Syndication Publishing adds these parameters to the playback URL published to your social media or content distribution platform.
|
start |
Integer |
Indicates the timestamp, in Unix time (milliseconds), at which the publishing schedule was last started. |
status |
String |
Indicates the publishing schedule's status. Valid values are: active | stopping | stopped | scheduled | error
|
stop |
Integer |
Indicates the timestamp, in Unix time (milliseconds), for either of the following conditions:
|
syndication_target_description |
String |
Indicates the description for the publishing target. |
syndication_target_id |
String |
Indicates the system-defined ID for the publishing targetRefers to a configuration that identifies the URL to which your content may be published. A publishing schedule leverages a publishing target configuration to syndicate a live channel or a live event to a social media platform.. |
target_platform_config |
Dictionary |
HLS (Push/Pull) or Zixi (Push) Contains a social media or content distribution platform's settings. |
type |
String |
Returns downloader. |
url_params_active |
Boolean |
Indicates whether our service may add your custom query string parameters to the playback URLs defined within the manifest file. |
video_quality |
String |
Indicates the stream quality that will be published to the social media or content distribution platform. Valid values are: high | medium | low
|
The target_platform_config dictionary describes a social media or content distribution platform's settings via the following properties:
Name |
Data Type |
Description |
---|---|---|
broadcast_id |
String |
Reserved for internal use. |
channel_id_pristine |
String |
Reserved for internal use. |
hls_master_url |
String |
HLS (Pull) Only Indicates the URL to which our service will push a HLS stream once you start publishing to this target. You will need to configure the desired social media or content distribution platform to pull the stream using this URL. |
integrated |
Boolean |
Reserved for future use. |
integrated_description |
String |
Facebook and YouTube (Integrated Authentication) Indicates the video's description. |
integrated_title |
String |
Facebook and YouTube (Integrated Authentication) Indicates the video's title. |
integrated_yt_made_for_kids | Boolean |
YouTube (Integrated Authentication) Only Indicates whether the video is appropriate for kids. |
integrated_yt_privacy |
String |
YouTube (Integrated Authentication) Only Indicates the video's privacy level. Valid values are: public | private | unlisted
|
rays |
List of string values |
HLS (Push/Pull) Contains a list of the ray(s) that will be published. Use the Get Rays endpoint to retrieve a list of rays (all) and their names (ray_name). |
stream_id |
String |
Reserved for internal use. |
Call the get_publishing_schedule module (Python 3) to get a publishing schedule. This module imports names from the api_auth module.
import requests from api_auth import APICredentials, APIParams class PublishingSchedule: def __init__(self): self.host = "https://services.uplynk.com" def run(self): self._get_publishing_schedule() def _get_publishing_schedule(self): publishing_schedule_id = 'e8d6b5cb940c40cc9ec6ad081a38f3f0' url = "{}{}{}".format(self.host, "/api/v4/syndication-schedule/", publishing_schedule_id) headers = {'Content-Type': 'application/json'} response = requests.get( url, params=APIParams(APICredentials()).get_params({}), headers=headers ) print(response.json()) PublishingSchedule().run()
Response:
{ "@id": "/api/v4/syndication-schedule/e8d6b5cb940c40cc9ec6ad081a38f3f0", "@type": "SyndicationSchedule", "id": "e8d6b5cb940c40cc9ec6ad081a38f3f0", "start": "", "stop": "", "syndication_target_id": "d30f655670cb426c98cd28afb6291bf4", "status": "scheduled", "last_status": "", "err_msg": "", "type": "downloader", "video_quality": "medium", "audio_track": "en", "content_id": "1df8d13992cd4222a7343b8fafd89cd7", "content_type": "c", "syndication_target_description": "My Publishing Schedule" }
Retrieves the configuration for a specific publishing targetRefers to a configuration that identifies the URL to which your content may be published. A publishing schedule leverages a publishing target configuration to syndicate a live channel or a live event to a social media platform..
Request syntax:
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 |
---|---|
Required |
Replace this variable with the system-defined ID assigned to the desired publishing target configuration. Use the Get Multiple Publishing Targets endpoint to retrieve a list of publishing targets and their system-defined ID. |
Pass a digital signature based off of msg.
The response for a successful request contains the following properties:
Name |
Data Type |
Description |
---|---|---|
@id |
String |
Indicates the relative path to an endpoint that returns this publishing target. |
@type |
String |
Returns SyndicationTarget. |
description |
String |
Indicates a description for the social media or content distribution platform. |
id |
String |
Identifies this publishing target by its system-defined ID. |
platform |
String |
Identifies a social media or content distribution platform by its case-sensitive name. Valid values are: AWS Elemental MediaConnect | Custom | Facebook | Pluto TV | TikTok | Twitch | YouTube
|
platform_config |
Dictionary |
Contains additional platform-specific settings. |
status |
String |
Indicates the publishing target's status. Valid values are: activeIndicates that one or more publishing schedules that leverage this publishing target are in the active state. | stoppedIndicates that none of the publishing schedules that leverage this publishing target are in the active or error state. | errorIndicates that one or more publishing schedules that leverage this publishing target are in the error state.
|
target_protocol |
String |
Indicates the protocol through which your content will be published. Valid values are: rtmp | rtmps | hls | hls-push | zixi | srt | rist
|
target_stream |
String |
Returns ******. This value represents either a stream URL or a stream key when the integrated parameter is set to false. |
The platform_config dictionary contains the following platform-specific settings:
Name |
Data Type |
Description |
---|---|---|
clipping_profile_id |
String |
Facebook and YouTube (Integrated Authentication) Indicates the Clipping profile, whose credentials will be used to authenticate to Facebook or YouTube, by its system-defined ID. Use the Get Syndication Publishing-Compatible Clipping Profiles endpoint to retrieve Clipping profiles and their system-defined IDs. |
host |
String |
AWS Elemental MediaConnect, Pluto TV, and ZIXI (Push) Indicates the hostname or IP address for the desired platform or your Zixi-enabled device. |
integrated |
Boolean |
Facebook and YouTube Indicates how your live stream will be published to Facebook or YouTube. Valid values are:
|
page_id |
String |
Facebook Only Identifies a Facebook page by its system-defined ID. Your live stream will be published to this page. |
password |
String |
AWS Elemental MediaConnect, Pluto TV, and ZIXI (Push) Returns ******. This value represents the password of the stream to which your content will be published. |
port |
Integer |
Indicates the port for the desired platform or platform-enabled device. Zixi-enabled devices and servers typically listen on port 2088. |
re_schedule |
Boolean |
Facebook Only Indicates whether our service will create and then publish a new Facebook live event upon reaching Facebook's live event time limit. |
remote_id |
String |
Reserved for future use. |
stream_id |
String |
AWS Elemental MediaConnect, Pluto TV, and ZIXI (Push) Returns ******. This value represents the ID of the stream to which your content will be published. |
type |
String |
Returns push. |
Call the get_publishing_target module (Python 3) to get a publishing target configuration. This module imports names from the api_auth module.
import requests from api_auth import APICredentials, APIParams class PublishingTarget: def __init__(self): self.host = "https://services.uplynk.com" def run(self): self._get_publishing_target() def _get_publishing_target(self): publishing_target_id = '587be125932f4428b83e4435e41503b7' url = "{}{}{}".format(self.host, "/api/v4/syndication-target/", publishing_target_id) headers = {'Content-Type': 'application/json'} response = requests.get( url, params=APIParams(APICredentials()).get_params({}), headers=headers ) print(response.json()) PublishingTarget().run()
Response:
{ "@id": "/api/v4/syndication-target/587be125932f4428b83e4435e41503b7", "@type": "SyndicationTarget", "id": "587be125932f4428b83e4435e41503b7", "platform": "Facebook", "description": "Facebook publishing", "target_protocol": "rtmp", "target_stream": "******", "status": "stopped" }
Retrieves encoding information for the raysA stream with a specific quality configuration based on set bit rate and resolution targets. Each ray is divided into slices. associated with a specific publishing scheduleRefers to a configuration that identifies a live channel or live event and a publishing target. Use a publishing schedule to syndicate a live channel or a live event to a social media platform..
Request syntax:
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 |
---|---|
Required |
Replace this variable with the system-defined ID assigned to the desired publishing schedule. Use the Get Multiple Publishing Schedules endpoint to retrieve a list of publishing schedules and their system-defined ID. |
Pass a digital signature based off of msg.
The response for a successful request contains the following properties:
Name |
Data Type |
Description |
---|---|---|
@id |
String |
Indicates the relative path to an endpoint that returns the rays corresponding to a publishing schedule configuration. |
@type |
String |
Returns RayDetails. |
all |
List of dictionaries |
Contains a list of rays and their encoding details. |
high |
Dictionary |
Contains encoding details for high quality publishing. |
low |
Dictionary |
Contains encoding details for low quality publishing. |
medium |
Dictionary |
Contains encoding details for medium quality publishing. |
This type of dictionary describes the encoding details for:
Each of these dictionaries contain the following properties:
Name |
Data Type |
Description |
---|---|---|
active |
Boolean |
Indicates whether a publishing schedule has been configured to use this ray. A publishing schedule may only be configured to use a single ray. |
audio_codec |
String |
Indicates the ray's audio codec. Returns AAC. |
audio_kbps |
Integer |
Indicates the ray's audio bitrate. |
fps |
Integer |
Indicates the number of frames per second. |
max_height |
Integer |
Indicates the ray's maximum height in pixels. |
max_width |
Integer |
Indicates the ray's maximum width in pixels. |
ray_name |
String |
all List Only Indicates the name of the ray. |
video_codec |
String |
Indicates the ray's video codec. Valid values are: AVC | HEVC
|
video_kbps |
Integer |
Indicates the ray's video bitrate in kbps. |
Call the get_rays module (Python 3) to get the rays corresponding to a publishing schedule configuration. This module imports names from the api_auth module.
import requests from api_auth import APICredentials, APIParams class RayDetails: def __init__(self): self.host = "https://services.uplynk.com" def run(self): self._get_rays() def _get_rays(self): publishing_schedule_id = 'a9b1a994baab48adbcfceb23523bbab5' url = "{}{}{}".format(self.host, "/api/v4/syndication-ray-details/", publishing_schedule_id) headers = {'Content-Type': 'application/json'} response = requests.get( url, params=APIParams(APICredentials()).get_params({}), headers=headers ) print(response.json()) RayDetails().run()
Response:
{ "@id": "/api/v4/syndication-ray-details/98c880d6582d461d883dc0e733a2a4cd", "@type": "RayDetails", 'all': [{ 'audio_codec': 'AAC', 'fps': 22, 'max_height': 54, 'video_kbps': 36, 'max_width': 96, 'ray_name': 'a', 'audio_kbps': 18, 'active': False, 'video_codec': 'AVC' }, { 'audio_codec': 'AAC', 'fps': 15, 'max_height': 108, 'video_kbps': 58, 'max_width': 192, 'ray_name': 'b', 'audio_kbps': 30, 'active': False, 'video_codec': 'AVC' }, { 'audio_codec': 'AAC', 'fps': 30, 'max_height': 144, 'video_kbps': 130, 'max_width': 256, 'ray_name': 'c', 'audio_kbps': 48, 'active': False, 'video_codec': 'AVC' }, { 'audio_codec': 'AAC', 'fps': 30, 'max_height': 234, 'video_kbps': 276, 'max_width': 416, 'ray_name': 'd', 'audio_kbps': 78, 'active': False, 'video_codec': 'AVC' }, { 'audio_codec': 'AAC', 'fps': 30, 'max_height': 396, 'video_kbps': 560, 'max_width': 704, 'ray_name': 'e', 'audio_kbps': 96, 'active': False, 'video_codec': 'AVC' }, { 'audio_codec': 'AAC', 'fps': 30, 'max_height': 504, 'video_kbps': 1040, 'max_width': 896, 'ray_name': 'f', 'audio_kbps': 128, 'active': False, 'video_codec': 'AVC' }, { 'audio_codec': 'AAC', 'fps': 30, 'max_height': 720, 'video_kbps': 2372, 'max_width': 1280, 'ray_name': 'g', 'audio_kbps': 128, 'active': False, 'video_codec': 'AVC' } ], "low": { "max_width": 704, "max_height": 396, "fps": 30, "video_codec": "AVC", "video_kbps": 560, "audio_codec": "AAC", "audio_kbps": 96, "active": false }, "medium": { "max_width": 896, "max_height": 504, "fps": 30, "video_codec": "AVC", "video_kbps": 1040, "audio_codec": "AAC", "audio_kbps": 128, "active": false }, "high": { "max_width": 1280, "max_height": 720, "fps": 30, "video_codec": "AVC", "video_kbps": 2372, "audio_codec": "AAC", "audio_kbps": 128, "active": true } }
Retrieves all Facebook or YouTube Clipping profiles.
Request syntax:
Query string parameter:
Pass the following query string parameter:
Name | Description |
---|---|
Required |
Set it to either of the following values: Facebook | YouTube
|
Pass a digital signature based off of msg.
The response for a successful request contains the following properties:
Name |
Data Type |
Description |
---|---|---|
@id |
String |
Indicates the relative path to the requested endpoint. |
@type |
String |
Returns Collection. |
items |
List of dictionaries |
Contains a list of Clipping profiles. |
total_items |
Integer |
Indicates the total number of Clipping profiles. |
The items list describes each clipping profile via the following properties:
Name |
Data Type |
Description |
---|---|---|
id |
String |
Identifies this Clipping profile by its system-defined ID. |
name |
String |
Identifies this Clipping profile by its name. |
Call the get_syndication_publishing_compatible_clipping_profiles module (Python 3) to retrieve Clipping profiles. This module imports names from the api_auth module.
import requests from api_auth import APICredentials, APIParams class ClippingProfiles: def __init__(self): self.host = "https://services.uplynk.com def run(self): self._get_clipping_profiles() def _get_clipping_profiles(self): platform = 'YouTube' url = "{}{}{}".format(self.host, "/api/v4/syndication-clipping-profiles?service=", platform) headers = {'Content-Type': 'application/json'} response = requests.get( url, params=APIParams(APICredentials()).get_params({}), headers=headers ) print(response.json()) ClippingProfiles().run()
Response:
{ '@id': '/api/v4/syndication-clipping-profiles?service=YouTube', '@type': 'Collection', 'items': [{ 'id': '4f3d0b8d4c37457eae629506528c982c', 'name': 'Marketing Conferences - YouTube' } ], 'total_items': 1 }
Start or stop publishing to a social media or content distribution platform.
Request syntax:
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 |
---|---|
Required |
Replace this variable with the system-defined ID assigned to the desired publishing scheduleRefers to a configuration that identifies a live channel or live event and a publishing target. Use a publishing schedule to syndicate a live channel or a live event to a social media platform.. Use the Get Multiple Publishing Schedules endpoint to retrieve a list of publishing schedules and their system-defined ID. |
Request body parameter:
Pass the following request body parameter:
Name |
Data Type |
Description |
---|---|---|
mode |
String |
Determines whether to start or stop publishing. Valid values are:
Use this parameter to toggle the current status. An active publishing schedule cannot be started. Likewise, you cannot stop a publishing schedule that has already been stopped. |
Pass a digital signature based off of msg.
The response for a successful request contains the following properties:
Name |
Data Type |
Description |
---|---|---|
@id |
String |
Indicates the relative path to the endpoint that was requested. |
@type |
String |
Returns StartSyndicationSchedule. |
audio_track |
String |
Indicates the name of the audio track that will be published. |
content_id |
String |
Identifies a live channel or live event by its system-defined ID. |
content_type |
String |
Indicates whether the content_id parameter identifies a live channel or a live event. Valid values are:
|
err_msg |
String |
Indicates the publishing schedule's last error message. The system generates an error message whenever the publishing schedule's status is set to error. |
id |
String |
Indicates the system-defined ID for the publishing schedule. |
last_status |
String |
Indicates the timestamp, in Unix time (milliseconds), at which the publishing schedule's status was last updated. |
region |
String |
Indicates the location where your stream will be converted to a feed that may be ingested by the social media or content distribution platform identified by the publishing target. An empty string identifies the default output location. |
region_auto_selected |
Boolean |
Indicates whether the output location was auto selected. |
scte35_enabled |
Integer |
HLS (Push/Pull) or Zixi (Push) Indicates whether SCTE-35 markers will be inserted into the published stream. Valid values are:
|
source_stream Deprecated |
String |
This parameter has been deprecated. |
start |
Integer |
Indicates the timestamp, in Unix time (milliseconds), at which the publishing schedule was last started. |
status |
String |
Indicates the publishing schedule's status. Valid values are: active | stopping | stopped | scheduled | error
|
stop |
Integer |
Indicates the timestamp, in Unix time (milliseconds), for either of the following conditions:
|
syndication_target_description |
String |
Indicates the description for the publishing target. |
syndication_target_id |
String |
Indicates the system-defined ID for the publishing targetRefers to a configuration that identifies the URL to which your content may be published. A publishing schedule leverages a publishing target configuration to syndicate a live channel or a live event to a social media platform.. |
target_platform_config |
Dictionary |
HLS (Push/Pull) or Zixi (Push) Contains a social media or content distribution platform's settings. |
type |
String |
Reserved for future use. |
video_quality |
String |
Indicates the stream quality that will be published to the social media or content distribution platform. Valid values are: high | medium | low
|
The target_platform_config dictionary describes a social media or content distribution platform's settings via the following properties:
Name |
Data Type |
Description |
---|---|---|
broadcast_id |
String |
Reserved for internal use. |
channel_id_pristine |
String |
Reserved for internal use. |
hls_master_url |
String |
HLS (Pull) Only Indicates the URL to which our service will push a HLS stream once you start publishing to this target. You will need to configure the desired social media or content distribution platform to pull the stream using this URL. |
integrated |
Boolean |
Reserved for future use. |
integrated_description |
String |
Facebook and YouTube (Integrated Authentication) Indicates the video's description. |
integrated_title |
String |
Facebook and YouTube (Integrated Authentication) Indicates the video's title. |
integrated_yt_made_for_kids | Boolean |
YouTube (Integrated Authentication) Only Indicates whether the video is appropriate for kids. |
integrated_yt_privacy |
String |
YouTube (Integrated Authentication) Only Indicates the video's privacy level. Valid values are: public | private | unlisted
|
rays |
List of string values |
HLS (Push/Pull) Contains a list of the ray(s) that will be published. Use the Get Rays endpoint to retrieve a list of rays (all) and their names (ray_name). |
stream_id |
String |
Reserved for internal use. |
Call the start_stop_publishing module (Python 3) to start or stop a publishing schedule. This module imports names from the api_auth module.
import json import requests from api_auth import APICredentials, APIParams class StartStopPublishingSchedule: def __init__(self): self.host = "https://services.uplynk.com" def run(self): self._action_publishing_schedule() def _action_publishing_schedule(self): publishing_schedule_id = '04359728c4d346ac918ba7b3edff2cb1' url = "{}{}{}".format(self.host, "/api/v4/syndication-schedule-action/", publishing_schedule_id) payload = { 'mode': 'stop' } headers = {'Content-Type': 'application/json'} response = requests.patch( url, params=APIParams(APICredentials()).get_params({}), data=json.dumps(payload), headers=headers ) print(response.json()) StartStopPublishingSchedule().run()
Response:
{ "@id": "/api/v4/syndication-schedule-action/04359728c4d346ac918ba7b3edff2cb1", "@type": "StartSyndicationSchedule", "id": "04359728c4d346ac918ba7b3edff2cb1", "start": 1588098944096, "stop": 1588098960071, "syndication_target_id": "d30f655670cb426c98cd28afb6291bf4", "status": "stopped", "last_status": 1588098960071, "err_msg": "", "type": "downloader", "video_quality": "high", "audio_track": "", "content_id": "1df8d13992cd4222a7343b8fafd89cd7", "content_type": "c", "syndication_target_description": "Sample" }
Update a publishing schedule'sRefers to a configuration that identifies a live channel or live event and a publishing target. Use a publishing schedule to syndicate a live channel or a live event to a social media platform. video quality.
A publishing schedule's video quality may only be modified when its status is stopped.
Request syntax:
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 |
---|---|
Required |
Replace this variable with the system-defined ID assigned to the desired publishing schedule. Use the Get Multiple Publishing Schedules endpoint to retrieve a list of publishing schedules and their system-defined ID. |
Request body parameter:
Pass the following request body parameters:
Name |
Data Type |
Description |
---|---|---|
region |
String |
Identifies a publishing location by its system-defined ID. A publishing location determines where your stream will be converted to a feed that may be ingested by the social media or content distribution platform identified by the publishing target. Set this property to an empty string to use the default output location. Use the Get All Publishing Locations endpoint to retrieve a list of regions and their system-defined IDs. |
scte35_enabled |
Integer |
HLS (Push/Pull) or Zixi (Push) Determines whether SCTE-35 markers will be inserted into the published stream. Valid values are:
|
source_url_params |
Dictionary |
Define a key-value pair for each desired query string parameter. Syndication Publishing adds these parameters to the playback URL published to your social media or content distribution platform. Example: 'source_url_params': { 'delay': '20', 'ad': 'sportcreatives' } |
target_platform_config |
Dictionary |
HLS (Push/Pull) or Zixi (Push) Contains a social media or content distribution platform's setting. |
url_params_active |
Boolean |
Determines whether our service may add your custom query string parameters to the playback URLs defined within the manifest file. |
video_quality |
String |
Indicates the stream quality that will be published to the social media or content distribution platform. Valid values are: high | medium | low
|
The target_platform_config dictionary describes a social media or content distribution platform's settings via the following property:
Name |
Data Type |
Description |
---|---|---|
integrated_description |
String |
Facebook and YouTube (Integrated Authentication) Determines the video's description. |
integrated_title |
String |
Facebook and YouTube (Integrated Authentication) Determines the video's title. |
integrated_yt_made_for_kids | Boolean |
YouTube (Integrated Authentication) Only Determines whether the video is appropriate for kids. |
integrated_yt_privacy |
String |
YouTube (Integrated Authentication) Only Sets the video's privacy level. Valid values are: public | private | unlisted
|
rays |
List of string values |
HLS (Push/Pull) Only Contains a list of the ray(s) that will be published. Use the Get Rays endpoint to retrieve a list of rays (all) and their names (ray_name). |
Pass a digital signature based off of msg.
The response for a successful request contains the following properties:
Name |
Data Type |
Description |
---|---|---|
@id |
String |
Indicates the relative path to an endpoint that returns this publishing schedule. |
@type |
String |
Returns SyndicationSchedule. |
audio_track |
String |
Indicates the name of the audio track that will be published. |
content_id |
String |
Identifies a live channel or live event by its system-defined ID. |
content_type |
String |
Indicates whether the content_id parameter identifies a live channel or a live event. Valid values are:
|
err_msg |
String |
Indicates the publishing schedule's last error message. The system generates an error message whenever the publishing schedule's status is set to error. |
id |
String |
Indicates the system-defined ID for the publishing schedule. |
last_status |
String |
Indicates the timestamp, in Unix time (milliseconds), at which the publishing schedule's status was last updated. |
region |
String |
Indicates the location where your stream will be converted to a feed that may be ingested by the social media or content distribution platform identified by the publishing target. An empty string identifies the default output location. |
region_auto_selected |
Boolean |
Indicates whether this publishing schedule's publishing location is set to auto selected. |
scte35_enabled |
Integer |
HLS (Push/Pull) or Zixi (Push) Indicates whether SCTE-35 markers will be inserted into the published stream. Valid values are:
|
source_stream Deprecated |
String |
This parameter has been deprecated. |
source_url_params |
Dictionary |
Contains key-value pairs for query string parameters. Syndication Publishing adds these parameters to the playback URL published to your social media or content distribution platform.
|
start |
Integer |
Indicates the timestamp, in Unix time (milliseconds), at which the publishing schedule was last started. |
status |
String |
Indicates the publishing schedule's status. Valid values are: active | stopping | stopped | scheduled | error
|
stop |
Integer |
Indicates the timestamp, in Unix time (milliseconds), for either of the following conditions:
|
syndication_target_description |
String |
Indicates the description for the publishing target. |
syndication_target_id |
String |
Indicates the system-defined ID for the publishing targetRefers to a configuration that identifies the URL to which your content may be published. A publishing schedule leverages a publishing target configuration to syndicate a live channel or a live event to a social media platform.. |
target_platform_config |
Dictionary |
HLS (Push/Pull) or Zixi (Push) Contains a social media or content distribution platform's settings. |
type |
String |
Returns downloader. |
url_params_active |
Boolean |
Indicates whether our service may add your custom query string parameters to the playback URLs defined within the manifest file. |
video_quality |
String |
Indicates the stream quality that will be published to the social media or content distribution platform. Valid values are: high | medium | low
|
The target_platform_config dictionary describes a social media or content distribution platform's settings via the following properties:
Name |
Data Type |
Description |
---|---|---|
broadcast_id |
String |
Reserved for internal use. |
channel_id_pristine |
String |
Reserved for internal use. |
hls_master_url |
String |
HLS (Pull) Only Indicates the URL to which our service will push a HLS stream once you start publishing to this target. You will need to configure the desired social media or content distribution platform to pull the stream using this URL. |
integrated |
Boolean |
Reserved for future use. |
integrated_description |
String |
Facebook and YouTube (Integrated Authentication) Indicates the video's description. |
integrated_title |
String |
Facebook and YouTube (Integrated Authentication) Indicates the video's title. |
integrated_yt_made_for_kids | Boolean |
YouTube (Integrated Authentication) Only Indicates whether the video is appropriate for kids. |
integrated_yt_privacy |
String |
YouTube (Integrated Authentication) Only Indicates the video's privacy level. Valid values are: public | private | unlisted
|
rays |
List of string values |
HLS (Push/Pull) Contains a list of the ray(s) that will be published. Use the Get Rays endpoint to retrieve a list of rays (all) and their names (ray_name). |
stream_id |
String |
Reserved for internal use. |
Call the update_publishing_schedule module (Python 3) to update a publishing schedule. This module imports names from the api_auth module.
import json import requests from api_auth import APICredentials, APIParams class PublishingSchedule: def __init__(self): self.host = "https://services.uplynk.com" def run(self): self._update_publishing_schedule() def _update_publishing_schedule(self): publishing_schedule_id = '04359728c4d346ac918ba7b3edff2cb1' url = "{}{}{}".format(self.host, "/api/v4/syndication-schedule/", publishing_schedule_id) payload = { 'video_quality': 'high', } headers = {'Content-Type': 'application/json'} response = requests.patch( url, params=APIParams(APICredentials()).get_params({}), data=json.dumps(payload), headers=headers ) print(response.json()) PublishingSchedule().run()
Response:
{ "@id": "/api/v4/syndication-schedule/04359728c4d346ac918ba7b3edff2cb1", "@type": "SyndicationSchedule", "id": "04359728c4d346ac918ba7b3edff2cb1", "start": "", "stop": "", "syndication_target_id": "d30f655670cb426c98cd28afb6291bf4", "status": "scheduled", "last_status": "", "err_msg": "", "type": "downloader", "video_quality": "high", "audio_track": "", "content_id": "1df8d13992cd4222a7343b8fafd89cd7", "content_type": "c", "syndication_target_description": "My Publishing Schedule" }
Request syntax:
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 |
---|---|
Required |
Replace this variable with the system-defined ID assigned to the desired publishing target configuration. Use the Get Multiple Publishing Targets endpoint to retrieve a list of publishing targets and their system-defined ID. |
Request body parameters:
Pass the following request body parameters:
Name |
Data Type |
Description |
---|---|---|
description |
String |
Indicates a description for the social media or content distribution platform. |
platform Required |
String |
Identifies a social media or content distribution platform by its case-sensitive name. Valid values are: AWS Elemental MediaConnect | Custom | Facebook | Pluto TV | TikTok | Twitch | YouTube
|
platform_config |
Dictionary |
Contains additional platform-specific settings. |
target_protocol Required |
String |
Indicates the protocol through which your content will be published. Valid values are: rtmp | rtmps | hls | hls-push | zixi | srt | rist
Key information:
|
target_stream Required |
String |
Required for Facebook (stream key), TikTok, Twitch, YouTube (stream key), and Custom (RTMP, RTMPS, HLS - Push, SRT - Push, and RIST - Push) Identifies the stream to which your content will be published. This parameter's configuration varies by platform.
|
The platform_config dictionary contains the following platform-specific settings:
Name |
Data Type |
Description |
---|---|---|
clipping_profile_id |
String |
Facebook and YouTube (Integrated Authentication) Identifies the Clipping profile, whose credentials will be used to authenticate to Facebook or YouTube, by its system-defined ID. Use the Get Syndication Publishing-Compatible Clipping Profiles endpoint to retrieve Clipping profiles and their system-defined IDs. |
host Required |
String |
AWS Elemental MediaConnect, Pluto TV, and ZIXI (Push) Identifies the hostname or IP address for the desired platform or your Zixi-enabled device. |
integrated |
Boolean |
Facebook and YouTube Determines how your live stream will be published to Facebook or YouTube. Valid values are:
Default value: false
|
page_id Required |
String |
Facebook Only Identifies a Facebook page by its system-defined ID. Your live stream will be published to this page. |
password Required |
String |
AWS Elemental MediaConnect, Pluto TV, and ZIXI (Push) Identifies the password of the stream to which your content will be published. |
port Required |
Integer |
Identifies the port for the desired platform or platform-enabled device. Zixi-enabled devices and servers typically listen on port 2088. |
re_schedule |
Boolean |
Facebook Only Determines whether our service will create and then publish a new Facebook live event upon reaching Facebook's live event time limit. Default value: false
|
stream_id Required |
String |
AWS Elemental MediaConnect, Pluto TV, and ZIXI (Push) Identifies the ID of the stream to which your content will be published. |
type |
String |
Set to push. |
Pass a digital signature based off of msg.
The response for a successful request contains the following properties:
Name |
Data Type |
Description |
---|---|---|
@id |
String |
Indicates the relative path to an endpoint that returns this publishing target. |
@type |
String |
Returns SyndicationTarget. |
description |
String |
Indicates a description for the social media or content distribution platform. |
id |
String |
Identifies this publishing target by its system-defined ID. |
platform |
String |
Identifies a social media or content distribution platform by its case-sensitive name. Valid values are: AWS Elemental MediaConnect | Custom | Facebook | Pluto TV | TikTok | Twitch | YouTube
|
platform_config |
Dictionary |
Contains additional platform-specific settings. |
status |
String |
Indicates the publishing target's status. Valid values are: activeIndicates that one or more publishing schedules that leverage this publishing target are in the active state. | stoppedIndicates that none of the publishing schedules that leverage this publishing target are in the active or error state. | errorIndicates that one or more publishing schedules that leverage this publishing target are in the error state.
|
target_protocol |
String |
Indicates the protocol through which your content will be published. Valid values are: rtmp | rtmps | hls | hls-push | zixi | srt | rist
|
target_stream |
String |
Returns ******. This value represents either a stream URL or a stream key when the integrated parameter is set to false. |
The platform_config dictionary contains the following platform-specific settings:
Name |
Data Type |
Description |
---|---|---|
clipping_profile_id |
String |
Facebook and YouTube (Integrated Authentication) Indicates the Clipping profile, whose credentials will be used to authenticate to Facebook or YouTube, by its system-defined ID. Use the Get Syndication Publishing-Compatible Clipping Profiles endpoint to retrieve Clipping profiles and their system-defined IDs. |
host |
String |
AWS Elemental MediaConnect, Pluto TV, and ZIXI (Push) Indicates the hostname or IP address for the desired platform or your Zixi-enabled device. |
integrated |
Boolean |
Facebook and YouTube Indicates how your live stream will be published to Facebook or YouTube. Valid values are:
|
page_id |
String |
Facebook Only Identifies a Facebook page by its system-defined ID. Your live stream will be published to this page. |
password |
String |
AWS Elemental MediaConnect, Pluto TV, and ZIXI (Push) Returns ******. This value represents the password of the stream to which your content will be published. |
port |
Integer |
Indicates the port for the desired platform or platform-enabled device. Zixi-enabled devices and servers typically listen on port 2088. |
re_schedule |
Boolean |
Facebook Only Indicates whether our service will create and then publish a new Facebook live event upon reaching Facebook's live event time limit. |
remote_id |
String |
Reserved for future use. |
stream_id |
String |
AWS Elemental MediaConnect, Pluto TV, and ZIXI (Push) Returns ******. This value represents the ID of the stream to which your content will be published. |
type |
String |
Returns push. |
Call the update_publishing_target module (Python 3) to update a publishing target configuration. This module imports names from the api_auth module.
import json import requests from api_auth import APICredentials, APIParams class PublishingTarget: def __init__(self): self.host = "https://services.uplynk.com" def run(self): self._update_publishing_target() def _update_publishing_target(self): publishing_target_id = '587be125932f4428b83e4435e41503b7' url = "{}{}{}".format(self.host, "/api/v4/syndication-target/", publishing_target_id) payload = { 'target_stream': 'rtmp://platform.example.com/live/3u40-9rqs-502b-7zeq', 'platform': 'Facebook', 'description': 'Facebook publishing', 'target_protocol': 'rtmp', } headers = {'Content-Type': 'application/json'} response = requests.patch( url, params=APIParams(APICredentials()).get_params({}), data=json.dumps(payload), headers=headers ) print(response.json()) PublishingTarget().run()
Response:
{ "@id": "/api/v4/syndication-target/587be125932f4428b83e4435e41503b7", "@type": "SyndicationTarget", "id": "587be125932f4428b83e4435e41503b7", "platform": "Facebook", "description": "Facebook publishing", "target_protocol": "rtmp", "target_stream": "rtmp://platform.example.com/live/3u40-9rqs-502b-7zeq", "status": "stopped" }
Validates that our service can connect to a social media or content distribution platform using the stream URL associated with a specific publishing targetRefers to a configuration that identifies the URL to which your content may be published. A publishing schedule leverages a publishing target configuration to syndicate a live channel or a live event to a social media platform..
This endpoint cannot be used to verify HLS pull streams, since our service does not connect to a social media or content distribution platform when publishing a pull target. Rather, it is up to the social media or content distribution platform to pull the stream using the publishing schedule's HLS pull URL.
Request syntax:
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 |
---|---|
Required |
Replace this variable with the system-defined ID assigned to the desired publishing target configuration. Use the Get Multiple Publishing Targets endpoint to retrieve a list of publishing targets and their system-defined ID. |
Request body parameters:
Pass the following request body parameters:
Name |
Data Type |
Description |
---|---|---|
test |
String |
Set this parameter to rtmp-connection. |
Pass a digital signature based off of msg.
The response for a successful request contains the following properties:
Name |
Data Type |
Description |
---|---|---|
@id |
String |
Indicates the relative path to an endpoint that returns this publishing target. |
@type |
String |
Returns SyndicationTargetAction. |
description |
String |
Indicates a description for the social media or content distribution platform. |
id |
String |
Identifies this publishing target by its system-defined ID. |
platform |
String |
Identifies a social media or content distribution platform by its name. Valid values are: Facebook | YouTube | Twitch | Periscope | Zixi | Other
|
platform_config |
Dictionary |
Contains additional platform-specific settings. |
status |
String |
Indicates the publishing target's status. Valid values are: activeIndicates that one or more publishing schedules that leverage this publishing target are in the active state. | stoppedIndicates that none of the publishing schedules that leverage this publishing target are in the active or error state. | errorIndicates that one or more publishing schedules that leverage this publishing target are in the error state.
|
target_protocol |
String |
Indicates the protocol through which your content will be published. Valid values are: rtmp | rtmps | hls | hls-pull | zixi | srt | rist
|
target_stream |
String |
Returns ******. This value represents the URL to which your stream will be published. |
test |
Dictionary |
Contains the results of the stream URL validation. |
The platform_config dictionary contains the following platform-specific settings:
Name |
Data Type |
Description |
---|---|---|
clipping_profile_id |
String |
Facebook and YouTube (Integrated Authentication) Indicates the Clipping profile, whose credentials will be used to authenticate to Facebook or YouTube, by its system-defined ID. Use the Get Syndication Publishing-Compatible Clipping Profiles endpoint to retrieve Clipping profiles and their system-defined IDs. |
host |
String |
AWS Elemental MediaConnect, Pluto TV, and ZIXI (Push) Indicates the hostname or IP address for the desired platform or your Zixi-enabled device. |
integrated |
Boolean |
Facebook and YouTube Indicates how your live stream will be published to Facebook or YouTube. Valid values are:
|
page_id |
String |
Facebook Only Identifies a Facebook page by its system-defined ID. Your live stream will be published to this page. |
password |
String |
AWS Elemental MediaConnect, Pluto TV, and ZIXI (Push) Returns ******. This value represents the password of the stream to which your content will be published. |
port |
Integer |
Indicates the port for the desired platform or platform-enabled device. Zixi-enabled devices and servers typically listen on port 2088. |
re_schedule |
Boolean |
Facebook Only Indicates whether our service will create and then publish a new Facebook live event upon reaching Facebook's live event time limit. |
remote_id |
String |
Reserved for future use. |
stream_id |
String |
AWS Elemental MediaConnect, Pluto TV, and ZIXI (Push) Returns ******. This value represents the ID of the stream to which your content will be published. |
type |
String |
Returns push. |
The test dictionary contains the results for the following tests:
Name |
Data Type |
Description |
---|---|---|
passed |
List of string values |
Contains a message for each test that passed. Example: uri is valid
|
failed |
List of string values |
Contains a message for each test that failed. Example: failure to connect via rtmp
|
Call the validate_stream_url module (Python 3) to validate a stream URL. This module imports names from the api_auth module.
import requests from api_auth import APICredentials, APIParams import json import requests from api_auth import APICredentials, APIParams class ValidateStreamURL: def __init__(self): self.host = "https://services.uplynk.com" def run(self): self._validate_stream_url() def _validate_stream_url(self): publishing_target_id = 'b7abed5070384462ae0fec6bd791262e' url = "{}{}{}".format(self.host, "/api/v4/syndication-target-test/", publishing_target_id) payload = {'test': 'rtmp-connection'} headers = {'Content-Type': 'application/json'} response = requests.patch( url, params=APIParams(APICredentials()).get_params({}), data=json.dumps(payload), headers=headers ) print(response.json()) ValidateStreamURL().run()
Response:
{ "@id": "/api/v4/syndication-target-test/b7abed5070384462ae0fec6bd791262e", "@type": "SyndicationTargetAction", "id": "b7abed5070384462ae0fec6bd791262e", "platform": "Facebook", "description": "Facebook publishing", "target_protocol": "rtmp", "target_stream": "******", "status": "stopped", "test": { "passed": [ "uri is valid" ], "failed": [ "failure to connect via rtmp" ] } }