Create Music on Hold
curl --request POST \
--url https://api.voxo.co/v2/admin/music-on-hold/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"tenantId": 4503599627370495,
"name": "<string>",
"isLinear": true,
"routingDestinations": [
{
"type": "MEDIAFILE",
"id": 123
}
]
}
'import requests
url = "https://api.voxo.co/v2/admin/music-on-hold/"
payload = {
"tenantId": 4503599627370495,
"name": "<string>",
"isLinear": True,
"routingDestinations": [
{
"type": "MEDIAFILE",
"id": 123
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
tenantId: 4503599627370495,
name: '<string>',
isLinear: true,
routingDestinations: [{type: 'MEDIAFILE', id: 123}]
})
};
fetch('https://api.voxo.co/v2/admin/music-on-hold/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.voxo.co/v2/admin/music-on-hold/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'tenantId' => 4503599627370495,
'name' => '<string>',
'isLinear' => true,
'routingDestinations' => [
[
'type' => 'MEDIAFILE',
'id' => 123
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.voxo.co/v2/admin/music-on-hold/"
payload := strings.NewReader("{\n \"tenantId\": 4503599627370495,\n \"name\": \"<string>\",\n \"isLinear\": true,\n \"routingDestinations\": [\n {\n \"type\": \"MEDIAFILE\",\n \"id\": 123\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.voxo.co/v2/admin/music-on-hold/")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"tenantId\": 4503599627370495,\n \"name\": \"<string>\",\n \"isLinear\": true,\n \"routingDestinations\": [\n {\n \"type\": \"MEDIAFILE\",\n \"id\": 123\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.voxo.co/v2/admin/music-on-hold/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"tenantId\": 4503599627370495,\n \"name\": \"<string>\",\n \"isLinear\": true,\n \"routingDestinations\": [\n {\n \"type\": \"MEDIAFILE\",\n \"id\": 123\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": 123,
"tenantId": 123,
"name": "<string>",
"isLinear": true,
"defaultTenant": true,
"routingDestinations": []
}Music On Hold
Create Music on Hold
Create a music on hold and its MEDIAFILE destinations
POST
/
v2
/
admin
/
music-on-hold
/
Create Music on Hold
curl --request POST \
--url https://api.voxo.co/v2/admin/music-on-hold/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"tenantId": 4503599627370495,
"name": "<string>",
"isLinear": true,
"routingDestinations": [
{
"type": "MEDIAFILE",
"id": 123
}
]
}
'import requests
url = "https://api.voxo.co/v2/admin/music-on-hold/"
payload = {
"tenantId": 4503599627370495,
"name": "<string>",
"isLinear": True,
"routingDestinations": [
{
"type": "MEDIAFILE",
"id": 123
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
tenantId: 4503599627370495,
name: '<string>',
isLinear: true,
routingDestinations: [{type: 'MEDIAFILE', id: 123}]
})
};
fetch('https://api.voxo.co/v2/admin/music-on-hold/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.voxo.co/v2/admin/music-on-hold/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'tenantId' => 4503599627370495,
'name' => '<string>',
'isLinear' => true,
'routingDestinations' => [
[
'type' => 'MEDIAFILE',
'id' => 123
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.voxo.co/v2/admin/music-on-hold/"
payload := strings.NewReader("{\n \"tenantId\": 4503599627370495,\n \"name\": \"<string>\",\n \"isLinear\": true,\n \"routingDestinations\": [\n {\n \"type\": \"MEDIAFILE\",\n \"id\": 123\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.voxo.co/v2/admin/music-on-hold/")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"tenantId\": 4503599627370495,\n \"name\": \"<string>\",\n \"isLinear\": true,\n \"routingDestinations\": [\n {\n \"type\": \"MEDIAFILE\",\n \"id\": 123\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.voxo.co/v2/admin/music-on-hold/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"tenantId\": 4503599627370495,\n \"name\": \"<string>\",\n \"isLinear\": true,\n \"routingDestinations\": [\n {\n \"type\": \"MEDIAFILE\",\n \"id\": 123\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": 123,
"tenantId": 123,
"name": "<string>",
"isLinear": true,
"defaultTenant": true,
"routingDestinations": []
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
Tenant ID (0 for system/global)
Required range:
0 <= x <= 9007199254740991Music on hold name
Play tracks in linear order
Ordered MEDIAFILE destinations that make up the playlist
Show child attributes
Show child attributes
Set as the tenant's default music on hold
Response
200 - application/json
Created music on hold
Music on hold ID
Tenant ID (0 = system)
Music on hold name
Tracks play in linear order
Is the tenant's default music on hold
Ordered MEDIAFILE destinations
Show child attributes
Show child attributes
Was this page helpful?