> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://mediakind.ferndocs.com/harmonic/api/vos/uplink-hub/get-uplink-channel/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://mediakind.ferndocs.com/_mcp/server. # Get Uplink Channel GET https://device.example.com:443/cluster1/vos-api/uplink-hub/v1/uplinks/{id}/uplinkChannels Query a list of UplinkChannel (active streaming channel) of a uplink. Reference: https://mediakind.ferndocs.com/harmonic/api/vos/uplink-hub/get-uplink-channel ## Authentication - `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer `, where token is your auth token. ## Request ### Path parameters - `id` (string, required) — id ## Response ### 200 OK - `list of com.harmonicinc.vos.app.uplink.hub.rest.model.uplink.UplinkChannel` ## Errors ### 401 Unauthorized Error Unauthorized - `any` ### 403 Forbidden Error Forbidden - `any` ### 404 Not Found Error Not Found - `any` ## Types ### com.harmonicinc.vos.app.uplink.hub.rest.model.uplink.UplinkChannel - `channelName` (string, required) — Channel name for the streaming channel - `id` (string, required) — Id of the uplinkChannel - `label` (string, required) — Label of the uplinkChannel - `uplinkId` (string, required) — Id of the uplink - `cloudlinkOutputs` (list of com.harmonicinc.vos.app.uplink.hub.rest.model.uplink.CloudlinkOutput, optional) — List of Cloudlink outputs. - `hspInputs` (list of com.harmonicinc.vos.app.uplink.hub.uplinkchannel.HspInput, optional) — List of Hsp inputs. - `isPersistent` (boolean, optional) — Whether to persistent the uplink channel for database store. - `sourceId` (string, optional) — Source id - `srtInputs` (list of com.harmonicinc.vos.app.uplink.hub.rest.model.uplink.SrtInput, optional) — List of Srt inputs. - `uplinkInputs` (list of com.harmonicinc.vos.app.uplink.hub.rest.model.uplink.UplinkInput, optional) — List of uplink inputs. ### com.harmonicinc.vos.app.uplink.hub.rest.model.uplink.CloudlinkOutput - `id` (string, required) — Destination output id - `ipOutputs` (list of com.harmonicinc.vos.app.uplink.hub.uplinkchannel.impl.IpOutput, required) — Destination IP address - `liveUrl` (string, required) — Live URL - `customHeaders` (list of string, optional) — Custom headers - `encapsulationMode` (enum, optional) — UDP or RTP encapsulation mode - Allowed values: `e_UDP`, `e_RTP` - `fecColumnOnly` (boolean, optional) — FEC mode - `fecColumns` (integer, optional) — FEC columns - `fecEnabled` (boolean, optional) — FEC state - `fecRows` (integer, optional) — FEC rows - `refOutId` (string, optional) — Id of corresponding Configure destination object ### com.harmonicinc.vos.app.uplink.hub.uplinkchannel.HspInput - `endpointUrl` (string, optional) - `id` (string, optional) - `ipInputs` (list of com.harmonicinc.vos.app.uplink.hub.uplinkchannel.impl.IpInput, optional) - `variantPlaylistFileName` (string, optional) ### com.harmonicinc.vos.app.uplink.hub.rest.model.uplink.SrtInput - `id` (string, required) — Id of the uplink input - `descramblingKey` (string, optional) — Descrambling key - `descramblingRequired` (boolean, optional) — Whether input should be descrambled - `enableEncryption` (boolean, optional) — Whether to enable encryption - `ipInputs` (list of com.harmonicinc.vos.app.uplink.hub.uplinkchannel.impl.IpInput, optional) — List of IP inputs - `outputAddress` (string, optional) — Hostname or IPv4 or IPv6 address to send from uplink to destination - `outputPort` (integer, optional) — Output UDP port to send from uplink to destination - `pidList` (list of integer, optional) — List of PID numbers for MPTS-to-SPTS filtering - `programIdList` (list of integer, optional) — List of program IDs MPTS-to-SPTS filtering - `resolution` (enum, optional) — Video resolution - Allowed values: `SD`, `HD`, `UHD`, `DEFAULT` ### com.harmonicinc.vos.app.uplink.hub.rest.model.uplink.UplinkInput - `id` (string, required) — Id of the uplink input - `bitrate` (integer, optional) — Suggested bitrate to transfer content in bps - `descramblingKey` (string, optional) — Descrambling key - `descramblingRequired` (boolean, optional) — Whether input should be descrambled - `enableEncryption` (boolean, optional) — Whether to enable encryption - `ipAddress` (string, optional) — IPv4 or IPv6 address to receive the input at uplink - `ipInputs` (list of com.harmonicinc.vos.app.uplink.hub.uplinkchannel.impl.IpInput, optional) — List of IP inputs - `ipPort` (integer, optional) — UDP port to receive the input at uplink - `outputAddress` (string, optional) — Hostname or IPv4 or IPv6 address to send from uplink to destination - `outputPort` (integer, optional) — Output UDP port to send from uplink to destination - `pidList` (list of integer, optional) — List of PID numbers for MPTS-to-SPTS filtering - `programIdList` (list of integer, optional) — List of program IDs MPTS-to-SPTS filtering - `resolution` (enum, optional) — Video resolution - Allowed values: `SD`, `HD`, `UHD`, `DEFAULT` - `ssmIpAddresses` (list of string, optional) — Source-specific multicast IP addresses at uplink ### com.harmonicinc.vos.app.uplink.hub.uplinkchannel.impl.IpOutput - `outputIpAddress` (string, required) — Destination IP address - `outputPort` (integer, required) — Destination port - `rank` (integer, required) — Destination rank ### com.harmonicinc.vos.app.uplink.hub.uplinkchannel.impl.IpInput - `ipAddress` (string, required) — IP address of IP input - `ipPort` (integer, required) — IP port of IP input - `rank` (integer, required) — Rank of IP input - `ssmIpAddresses` (list of string, optional) — List of SSM IP addresses of IP input ## Examples **Response** ```json [ { "channelName": "string", "id": "string", "label": "string", "uplinkId": "string", "cloudlinkOutputs": [ { "id": "string", "ipOutputs": [ { "outputIpAddress": "string", "outputPort": 1, "rank": 1 } ], "liveUrl": "string", "customHeaders": [ "string" ], "encapsulationMode": "e_UDP", "fecColumnOnly": true, "fecColumns": 1, "fecEnabled": true, "fecRows": 1, "refOutId": "string" } ], "hspInputs": [ { "endpointUrl": "string", "id": "string", "ipInputs": [ { "ipAddress": "string", "ipPort": 1, "rank": 1, "ssmIpAddresses": [ "string" ] } ], "variantPlaylistFileName": "string" } ], "isPersistent": true, "sourceId": "string", "srtInputs": [ { "id": "string", "descramblingKey": "string", "descramblingRequired": true, "enableEncryption": true, "ipInputs": [ { "ipAddress": "string", "ipPort": 1, "rank": 1, "ssmIpAddresses": [ "string" ] } ], "outputAddress": "string", "outputPort": 1, "pidList": [ 1 ], "programIdList": [ 1 ], "resolution": "SD" } ], "uplinkInputs": [ { "id": "string", "bitrate": 1, "descramblingKey": "string", "descramblingRequired": true, "enableEncryption": true, "ipAddress": "string", "ipInputs": [ { "ipAddress": "string", "ipPort": 1, "rank": 1, "ssmIpAddresses": [ "string" ] } ], "ipPort": 1, "outputAddress": "string", "outputPort": 1, "pidList": [ 1 ], "programIdList": [ 1 ], "resolution": "SD", "ssmIpAddresses": [ "string" ] } ] } ] ``` **SDK Code** ```python import requests url = "https://device.example.com/cluster1/vos-api/uplink-hub/v1/uplinks/id/uplinkChannels" headers = {"Authorization": "Bearer "} response = requests.get(url, headers=headers) print(response.json()) ``` ```javascript const url = 'https://device.example.com/cluster1/vos-api/uplink-hub/v1/uplinks/id/uplinkChannels'; const options = {method: 'GET', headers: {Authorization: 'Bearer '}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://device.example.com/cluster1/vos-api/uplink-hub/v1/uplinks/id/uplinkChannels" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("Authorization", "Bearer ") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://device.example.com/cluster1/vos-api/uplink-hub/v1/uplinks/id/uplinkChannels") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["Authorization"] = 'Bearer ' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://device.example.com/cluster1/vos-api/uplink-hub/v1/uplinks/id/uplinkChannels") .header("Authorization", "Bearer ") .asString(); ``` ```php request('GET', 'https://device.example.com/cluster1/vos-api/uplink-hub/v1/uplinks/id/uplinkChannels', [ 'headers' => [ 'Authorization' => 'Bearer ', ], ]); echo $response->getBody(); ``` ```csharp using RestSharp; var client = new RestClient("https://device.example.com/cluster1/vos-api/uplink-hub/v1/uplinks/id/uplinkChannels"); var request = new RestRequest(Method.GET); request.AddHeader("Authorization", "Bearer "); IRestResponse response = client.Execute(request); ``` ```swift import Foundation let headers = ["Authorization": "Bearer "] let request = NSMutableURLRequest(url: NSURL(string: "https://device.example.com/cluster1/vos-api/uplink-hub/v1/uplinks/id/uplinkChannels")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ```