Introduction
URL Networks API
This documentation aims to provide all the information you need to work with our API.
Base URL
https://dashboard.url.net.auAuthenticating requests
To authenticate requests, include an Authorization header with the value "Bearer {YOUR_AUTH_KEY}".
All authenticated endpoints are marked with a requires authentication badge in the documentation below.
You can retrieve your token by visiting your dashboard and clicking Generate API token.
Billing
Outgoing Call Charges.
requires authentication
List all outgoing call charges for the service the API is using.
Example request:
curl -X GET \
-G "https://dashboard.url.net.au/api/v1/billing/calls/outgoing/2017-01-01 00:00:00/2017-06-01 00:00:00" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://dashboard.url.net.au/api/v1/billing/calls/outgoing/2017-01-01 00:00:00/2017-06-01 00:00:00"
);
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
[
{
"unique_id": 1001,
"service_id": 100,
"external_did": null,
"from": "61312345678",
"to": "61398765432",
"charge": 0.25,
"start_time": "2017-01-01 09:00:00",
"end_time": "2017-01-01 09:05:00",
"seconds": 300,
"auth_code": null,
"hangup_cause": "NORMAL_CLEARING",
"on_net": 0,
"call_rate_prefix": "61",
"call_rate_name": "Australia Mobile",
"transferred_call": false,
"uuid": "c1f2e3d4-0000-0000-0000-000000000000",
"parent_uuid": null
}
]
Received response:
Request failed with error:
Collection Charges.
requires authentication
List all collection call charges for a service id.
Example request:
curl -X GET \
-G "https://dashboard.url.net.au/api/v1/billing/calls/collection/2017-01-01 00:00:00/2017-06-01 00:00:00" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://dashboard.url.net.au/api/v1/billing/calls/collection/2017-01-01 00:00:00/2017-06-01 00:00:00"
);
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
[
{
"unique_id": 1001,
"service_id": 100,
"external_did": null,
"from": "61312345678",
"to": "61398765432",
"charge": 0.15,
"start_time": "2017-01-01 09:00:00",
"end_time": "2017-01-01 09:05:00",
"seconds": 300,
"auth_code": null,
"hangup_cause": "NORMAL_CLEARING",
"on_net": 0,
"call_rate_prefix": "613",
"call_rate_name": "Australia Local"
}
]
Received response:
Request failed with error:
Order Numbers
List localities.
requires authentication
List all available localities.
Example request:
curl -X GET \
-G "https://dashboard.url.net.au/api/v1/order-numbers/locality/AU" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://dashboard.url.net.au/api/v1/order-numbers/locality/AU"
);
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"locality": "Melbourne (03)",
"prefix": 3
}
Received response:
Request failed with error:
List Numbers.
requires authentication
List all available numbers.
Example request:
curl -X GET \
-G "https://dashboard.url.net.au/api/v1/order-numbers/numbers/AU/Melbourne (03)" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://dashboard.url.net.au/api/v1/order-numbers/numbers/AU/Melbourne (03)"
);
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
[
{
"locality": "Melbourne",
"country": "Australia",
"country_iso": "AU",
"country_prefix": 61,
"locality_prefix": 3,
"number": 61311112002,
"pool": "local"
},
{
"locality": "Melbourne",
"country": "Australia",
"country_iso": "AU",
"country_prefix": 61,
"locality_prefix": 3,
"number": 61311112005,
"pool": "local"
}
]
Received response:
Request failed with error:
Assign Number.
requires authentication
Assign a number to the service.
Example request:
curl -X POST \
"https://dashboard.url.net.au/api/v1/order-numbers/assign" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"number_id":"sapiente","supply_uuid":"vel","number":6131231234}'
const url = new URL(
"https://dashboard.url.net.au/api/v1/order-numbers/assign"
);
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"number_id": "sapiente",
"supply_uuid": "vel",
"number": 6131231234
}
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
{
"error": "0",
"message": "6131231234 has been assigned"
}
Example response (200, Assignment failed):
{
"error": "1",
"message": "Unable to assign the requested number"
}
Received response:
Request failed with error:
Cancel Number.
requires authentication
Cancels the specified number. Once the number is removed there is no guarantee we can recover the number if you change your mind.
Example request:
curl -X DELETE \
"https://dashboard.url.net.au/api/v1/order-numbers/cancel/6131231234" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://dashboard.url.net.au/api/v1/order-numbers/cancel/6131231234"
);
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());
Example response (200):
{
"error": "0",
"message": "6131231234 has been canceled"
}
Received response:
Request failed with error:
Originate
Call to External Number.
requires authentication
Example request:
curl -X POST \
"https://dashboard.url.net.au/api/v1/pbx/originate/call-connect" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"phone_number":61412341234,"caller_id":61312341234,"dialplan_number":9999}'
const url = new URL(
"https://dashboard.url.net.au/api/v1/pbx/originate/call-connect"
);
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"phone_number": 61412341234,
"caller_id": 61312341234,
"dialplan_number": 9999
}
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
{
"status": "ok",
"message": "Call Connected"
}
Received response:
Request failed with error:
PBX Action Toggles
List Action Toggles.
requires authentication
Example request:
curl -X GET \
-G "https://dashboard.url.net.au/api/v1/pbx/action-toggles" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://dashboard.url.net.au/api/v1/pbx/action-toggles"
);
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
[
{
"id": 219,
"name": "Test",
"status": true
}
]
Received response:
Request failed with error:
Create a new action-toggle.
requires authentication
Create a new action-toggle for your service.
Example request:
curl -X POST \
"https://dashboard.url.net.au/api/v1/pbx/action-toggles" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"name":"quam","status":true}'
const url = new URL(
"https://dashboard.url.net.au/api/v1/pbx/action-toggles"
);
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "quam",
"status": true
}
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
{
"id": 219
}
Received response:
Request failed with error:
Show Action Toggle.
requires authentication
Get single action-toggle by id.
Example request:
curl -X GET \
-G "https://dashboard.url.net.au/api/v1/pbx/action-toggles/219" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://dashboard.url.net.au/api/v1/pbx/action-toggles/219"
);
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"id": 219,
"name": "Test",
"status": true
}
Received response:
Request failed with error:
Update a Action Toggle.
requires authentication
Update a single action-toggle by the ID.
Example request:
curl -X PUT \
"https://dashboard.url.net.au/api/v1/pbx/action-toggles/219" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"name":"cum","status":true}'
const url = new URL(
"https://dashboard.url.net.au/api/v1/pbx/action-toggles/219"
);
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "cum",
"status": true
}
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
{
"id": 219,
"name": "Test",
"status": true
}
Received response:
Request failed with error:
Delete Action Toggle.
requires authentication
Deletes the selected action toggle.
Example request:
curl -X DELETE \
"https://dashboard.url.net.au/api/v1/pbx/action-toggles/219" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://dashboard.url.net.au/api/v1/pbx/action-toggles/219"
);
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());
Example response (200):
{
"status": "success"
}
Received response:
Request failed with error:
PBX Call Recordings
List Call Recordings.
requires authentication
Lists the call recordings present in your service.
Example request:
curl -X GET \
-G "https://dashboard.url.net.au/api/v1/pbx/call-recordings?time_period=qui&start_time=1496956949&end_time=1496956949" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://dashboard.url.net.au/api/v1/pbx/call-recordings"
);
let params = {
"time_period": "qui",
"start_time": "1496956949",
"end_time": "1496956949",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
[
{
"time": 1642122054,
"uuid": "6001b223-5713-4c0a-90ea-11090fec9e11",
"caller_id": "61812341234",
"destination": "61312341234",
"duration": 112,
"wav_size": 3585422,
"mp3_size": 1793805,
"notes": null,
"call_outcome": null,
"stream_url": "https:\/\/dashboard.url.net.au\/streams\/recording\/6b076246-2945-4ed5-99f5-8cfef707a9b8\/1234"
}
]
Received response:
Request failed with error:
PBX Call Transcripts
Download VTT File.
requires authentication
Downloads the VTT transcript file for a call from S3. Returns the raw VTT file content (text/vtt) as a download.
Example request:
curl -X GET \
-G "https://dashboard.url.net.au/api/v1/pbx/call-transcripts/download-vtt/45" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://dashboard.url.net.au/api/v1/pbx/call-transcripts/download-vtt/45"
);
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Received response:
Request failed with error:
List Call Transcripts.
requires authentication
Lists the call transcripts present in your service.
Example request:
curl -X GET \
-G "https://dashboard.url.net.au/api/v1/pbx/call-transcripts?time_period=this_month&timezone=Australia%2FSydney&start_time=1496956949&end_time=2" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://dashboard.url.net.au/api/v1/pbx/call-transcripts"
);
let params = {
"time_period": "this_month",
"timezone": "Australia/Sydney",
"start_time": "1496956949",
"end_time": "2",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
[
{
"transcript_id": 1,
"call_recording_id": 5001,
"service_id": 100,
"keywords": "billing, refund",
"summary": "Customer called about a billing discrepancy and was issued a refund.",
"caller_id": "61812341234",
"destination": "61312341234",
"duration": 112,
"names_involved": "Jane Smith",
"sentiment": "positive",
"call_outcome": "resolved",
"vtt_url": "https:\/\/dashboard.url.net.au\/api\/v1\/pbx\/call-transcripts\/download-vtt\/1",
"recording_url": "https:\/\/dashboard.url.net.au\/streams\/recording\/6b076246-2945-4ed5-99f5-8cfef707a9b8\/1234"
}
]
Received response:
Request failed with error:
PBX Extensions
List Extensions.
requires authentication
Example request:
curl -X GET \
-G "https://dashboard.url.net.au/api/v1/pbx/extensions" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://dashboard.url.net.au/api/v1/pbx/extensions"
);
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
[
{
"id": 219,
"user_id": "1001",
"name": "Jane Smith",
"customer_location_id": 38,
"emergency_dial_number": "000",
"caller_id": null,
"area_code": "613",
"storage_hold_music_id": 1,
"timezone": "Australia\/Melbourne",
"voicemail": 0,
"vm_password": "1212",
"vm_no_pin": 0,
"vm_delay": 15,
"vm_set_read": 0,
"outbound_recording": null,
"whisper_announcement_id": null,
"ndlb": null,
"network": null,
"netmask": null,
"agent_mode": 0,
"agent_status": null,
"agent_wrap_time": null,
"agent_call_timeout": null,
"agent_busy_delay_time": null,
"internal_alert_info": null,
"group_name": "Default",
"agent_uuid": null,
"tolls": [],
"voicemail_emails": []
}
]
Received response:
Request failed with error:
Create a new extension.
requires authentication
Create a new extension for your service.
Example request:
curl -X POST \
"https://dashboard.url.net.au/api/v1/pbx/extensions" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"name":"ab","area_code":15,"timezone":"Australia\/Melbourne","voicemail":true,"vm_password":4,"vm_delay":6,"customer_location_id":14,"emergency_dial_number":5,"caller_id":12,"password":"nostrum","user_id":1001,"storage_hold_music_id":4,"voicemail_emails":["dicta","blanditiis"],"vm_no_pin":true,"vm_set_read":false,"outbound_recording":true,"whisper_announcement_id":3,"ndlb":false,"network":"explicabo","netmask":"255.255.255.255","agent_mode":false,"agent_status":"molestiae","agent_wrap_time":11,"agent_call_timeout":16,"agent_busy_delay_time":19,"internal_alert_info":"ad","group_name":"ipsa","tolls":["vitae","error"]}'
const url = new URL(
"https://dashboard.url.net.au/api/v1/pbx/extensions"
);
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "ab",
"area_code": 15,
"timezone": "Australia\/Melbourne",
"voicemail": true,
"vm_password": 4,
"vm_delay": 6,
"customer_location_id": 14,
"emergency_dial_number": 5,
"caller_id": 12,
"password": "nostrum",
"user_id": 1001,
"storage_hold_music_id": 4,
"voicemail_emails": [
"dicta",
"blanditiis"
],
"vm_no_pin": true,
"vm_set_read": false,
"outbound_recording": true,
"whisper_announcement_id": 3,
"ndlb": false,
"network": "explicabo",
"netmask": "255.255.255.255",
"agent_mode": false,
"agent_status": "molestiae",
"agent_wrap_time": 11,
"agent_call_timeout": 16,
"agent_busy_delay_time": 19,
"internal_alert_info": "ad",
"group_name": "ipsa",
"tolls": [
"vitae",
"error"
]
}
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
{
"extension_id": 219
}
Received response:
Request failed with error:
Show Extension.
requires authentication
Get single extension by id.
Example request:
curl -X GET \
-G "https://dashboard.url.net.au/api/v1/pbx/extensions/219" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://dashboard.url.net.au/api/v1/pbx/extensions/219"
);
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"id": 219,
"user_id": "1999",
"name": "Test",
"customer_location_id": 38,
"emergency_dial_number": "000",
"caller_id": null,
"area_code": "613",
"storage_hold_music_id": null,
"timezone": "Australia\/Melbourne",
"voicemail": 0,
"vm_password": "1212",
"vm_no_pin": 0,
"vm_delay": 15,
"vm_set_read": 0,
"outbound_recording": null,
"whisper_announcement_id": null,
"ndlb": null,
"network": null,
"netmask": null,
"agent_mode": 0,
"agent_status": null,
"agent_wrap_time": null,
"agent_call_timeout": null,
"agent_busy_delay_time": null,
"internal_alert_info": null,
"group_name": "Default",
"tolls": [],
"voicemail_emails": []
}
Received response:
Request failed with error:
Update an Extension.
requires authentication
Update a single extension by the ID.
Example request:
curl -X PUT \
"https://dashboard.url.net.au/api/v1/pbx/extensions/219" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"user_id":1001,"name":"excepturi","customer_location_id":15,"emergency_dial_number":2,"caller_id":12,"area_code":16,"storage_hold_music_id":13,"timezone":"Australia\/Melbourne","voicemail":false,"voicemail_emails":["voluptatem","repellat"],"vm_password":12,"vm_no_pin":false,"vm_delay":5,"vm_set_read":true,"outbound_recording":false,"whisper_announcement_id":2,"ndlb":true,"network":"assumenda","netmask":"255.255.255.255","agent_mode":true,"agent_status":"eum","agent_wrap_time":5,"agent_call_timeout":15,"agent_busy_delay_time":13,"internal_alert_info":"commodi","group_name":"eius","tolls":["dolores","amet"]}'
const url = new URL(
"https://dashboard.url.net.au/api/v1/pbx/extensions/219"
);
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"user_id": 1001,
"name": "excepturi",
"customer_location_id": 15,
"emergency_dial_number": 2,
"caller_id": 12,
"area_code": 16,
"storage_hold_music_id": 13,
"timezone": "Australia\/Melbourne",
"voicemail": false,
"voicemail_emails": [
"voluptatem",
"repellat"
],
"vm_password": 12,
"vm_no_pin": false,
"vm_delay": 5,
"vm_set_read": true,
"outbound_recording": false,
"whisper_announcement_id": 2,
"ndlb": true,
"network": "assumenda",
"netmask": "255.255.255.255",
"agent_mode": true,
"agent_status": "eum",
"agent_wrap_time": 5,
"agent_call_timeout": 15,
"agent_busy_delay_time": 13,
"internal_alert_info": "commodi",
"group_name": "eius",
"tolls": [
"dolores",
"amet"
]
}
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
{
"extension_id": 219
}
Received response:
Request failed with error:
Delete Extension.
requires authentication
Deletes the selected extension.
Example request:
curl -X DELETE \
"https://dashboard.url.net.au/api/v1/pbx/extensions/219" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://dashboard.url.net.au/api/v1/pbx/extensions/219"
);
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());
Example response (200):
{
"status": "success"
}
Received response:
Request failed with error:
PBX Phonebook Items
List Phonebook Items.
requires authentication
Example request:
curl -X GET \
-G "https://dashboard.url.net.au/api/v1/pbx/phonebook/219/items" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://dashboard.url.net.au/api/v1/pbx/phonebook/219/items"
);
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
[
{
"id": 219,
"name": "Jane Smith",
"office": "1234567890",
"office2": null,
"mobile": null,
"home": null,
"other": null
}
]
Received response:
Request failed with error:
Create a new phonebook item.
requires authentication
Create a new phonebook item for your phonebook.
Example request:
curl -X POST \
"https://dashboard.url.net.au/api/v1/pbx/phonebook/219/items" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"name":"voluptatem","office":"saepe","office2":"quia","mobile":"asperiores","home":"eaque","other":"cumque"}'
const url = new URL(
"https://dashboard.url.net.au/api/v1/pbx/phonebook/219/items"
);
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "voluptatem",
"office": "saepe",
"office2": "quia",
"mobile": "asperiores",
"home": "eaque",
"other": "cumque"
}
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
{
"id": 219
}
Received response:
Request failed with error:
Show Phonebook Item.
requires authentication
Get single phonebook item entry by id.
Example request:
curl -X GET \
-G "https://dashboard.url.net.au/api/v1/pbx/phonebook/219/items/219" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://dashboard.url.net.au/api/v1/pbx/phonebook/219/items/219"
);
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"id": 219,
"name": "Test",
"office": "1234567890",
"office2": null,
"mobile": null,
"home": null,
"other": null
}
Received response:
Request failed with error:
Update a Phonebook Item.
requires authentication
Update a single phonebook item by the ID.
Example request:
curl -X PUT \
"https://dashboard.url.net.au/api/v1/pbx/phonebook/219/items/219" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"name":"quo","office":"et","office2":"pariatur","mobile":"iure","home":"consequatur","other":"repudiandae"}'
const url = new URL(
"https://dashboard.url.net.au/api/v1/pbx/phonebook/219/items/219"
);
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "quo",
"office": "et",
"office2": "pariatur",
"mobile": "iure",
"home": "consequatur",
"other": "repudiandae"
}
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
{
"status": "success",
"id": "219"
}
Received response:
Request failed with error:
Delete Phonebook Item.
requires authentication
Deletes the selected phonebook item.
Example request:
curl -X DELETE \
"https://dashboard.url.net.au/api/v1/pbx/phonebook/219/items/219" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://dashboard.url.net.au/api/v1/pbx/phonebook/219/items/219"
);
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());
Example response (200):
{
"status": "success"
}
Received response:
Request failed with error:
PBX Phonebook
List Phonebooks.
requires authentication
Example request:
curl -X GET \
-G "https://dashboard.url.net.au/api/v1/pbx/phonebook" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://dashboard.url.net.au/api/v1/pbx/phonebook"
);
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
[
{
"id": 219,
"name": "Melbourne"
}
]
Received response:
Request failed with error:
Create a new phonebook.
requires authentication
Create a new phonebook for your service.
Example request:
curl -X POST \
"https://dashboard.url.net.au/api/v1/pbx/phonebook" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"name":"eum"}'
const url = new URL(
"https://dashboard.url.net.au/api/v1/pbx/phonebook"
);
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "eum"
}
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
{
"id": 219
}
Received response:
Request failed with error:
Show Phonebook.
requires authentication
Get single phonebook by id.
Example request:
curl -X GET \
-G "https://dashboard.url.net.au/api/v1/pbx/phonebook/219" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://dashboard.url.net.au/api/v1/pbx/phonebook/219"
);
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"id": 219,
"name": "Test"
}
Received response:
Request failed with error:
Update a Phonebook.
requires authentication
Update a single phonebook by the ID.
Example request:
curl -X PUT \
"https://dashboard.url.net.au/api/v1/pbx/phonebook/219" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"name":"a"}'
const url = new URL(
"https://dashboard.url.net.au/api/v1/pbx/phonebook/219"
);
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "a"
}
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
"The Phonebook named was changed to Test"
Received response:
Request failed with error:
Delete Phonebook.
requires authentication
Deletes the selected phonebook.
Example request:
curl -X DELETE \
"https://dashboard.url.net.au/api/v1/pbx/phonebook/219" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://dashboard.url.net.au/api/v1/pbx/phonebook/219"
);
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());
Example response (200):
{
"status": "success"
}
Received response:
Request failed with error:
PBX Registrations
List Registrations.
requires authentication
Lists the current registrations.
Example request:
curl -X GET \
-G "https://dashboard.url.net.au/api/v1/pbx/registrations" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://dashboard.url.net.au/api/v1/pbx/registrations"
);
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"1000": [
{
"user_id": "1000",
"expiry": "158",
"protocol": "UDP",
"external_ipaddress": "192.168.88.12",
"external_port": "5060",
"internal_ipaddress": "192.168.88.12",
"contact_short": "1000 <sip:1000@192.168.88.12",
"contact": "1000 sip:1000@192.168.88.12:5060",
"status": "Registered(UDP)(unknown) exp(2019-08-07 15:47:17) expsecs(158)",
"user_agent": "Yealink SIP-T54W 96.84.0.30"
}
]
}
Received response:
Request failed with error:
Delete Registration.
requires authentication
Deletes the selected registration and reboots the extension.
Example request:
curl -X DELETE \
"https://dashboard.url.net.au/api/v1/pbx/registrations/219" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://dashboard.url.net.au/api/v1/pbx/registrations/219"
);
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());
Example response (200):
{
"result": true
}
Received response:
Request failed with error:
PBX Reports
Incoming Calls to External Numbers.
requires authentication
Outputs call data for calls made to an external numbers.
Example request:
curl -X GET \
-G "https://dashboard.url.net.au/api/v1/pbx/reports/incoming-calls-external-numbers?time_period=impedit&start_time=1483189200&end_time=1496275200" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://dashboard.url.net.au/api/v1/pbx/reports/incoming-calls-external-numbers"
);
let params = {
"time_period": "impedit",
"start_time": "1483189200",
"end_time": "1496275200",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
[
{
"id": 1,
"service_id": 100,
"answer_epoch": 1483189200,
"end_epoch": 1483189260,
"answer_stamp": "Sat, 31 Dec 2016 20:00:00 +1100",
"end_stamp": "Sat, 31 Dec 2016 20:01:00 +1100",
"created_time": 1483189195,
"from": "61312345678",
"to": "61398765432",
"talk_duration": 60,
"duration": 65,
"hangup_case": "NORMAL_CLEARING",
"uuid": "c1f2e3d4-0000-0000-0000-000000000000",
"external_caller_name": "Jane Smith",
"dialplan_name": "XML",
"condition_name": "normal_clearing"
}
]
Received response:
Request failed with error:
All Outgoing Calls.
requires authentication
Outputs all calls made to external destinations.
Example request:
curl -X GET \
-G "https://dashboard.url.net.au/api/v1/pbx/reports/outgoing-calls?time_period=ut&timezone=Australia%2FMelbourne&start_time=1483189200&end_time=1496275200" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://dashboard.url.net.au/api/v1/pbx/reports/outgoing-calls"
);
let params = {
"time_period": "ut",
"timezone": "Australia/Melbourne",
"start_time": "1483189200",
"end_time": "1496275200",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
[
{
"id": 1,
"service_id": 100,
"answer_epoch": 1483189200,
"end_epoch": 1483189260,
"answer_stamp": "Sat, 31 Dec 2016 20:00:00 +1100",
"end_stamp": "Sat, 31 Dec 2016 20:01:00 +1100",
"created_time": 1483189195,
"from": "200",
"to": "61398765432",
"talk_duration": 60,
"duration": 65,
"hangup_case": "NORMAL_CLEARING",
"uuid": "c1f2e3d4-0000-0000-0000-000000000000",
"parent_uuid": null,
"transferred_call": false,
"rate_digits": 61,
"rate_name": "Australia Mobile"
}
]
Received response:
Request failed with error:
Answered Extensions.
requires authentication
Outputs all calls that were answered by an extension.
Example request:
curl -X GET \
-G "https://dashboard.url.net.au/api/v1/pbx/reports/answered-extensions?time_period=tempora&timezone=Australia%2FMelbourne&start_time=1483189200&end_time=1496275200" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://dashboard.url.net.au/api/v1/pbx/reports/answered-extensions"
);
let params = {
"time_period": "tempora",
"timezone": "Australia/Melbourne",
"start_time": "1483189200",
"end_time": "1496275200",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
[
{
"id": 1,
"service_id": 100,
"answer_epoch": 1483189200,
"end_epoch": 1483189260,
"answer_stamp": "Sat, 31 Dec 2016 20:00:00 +1100",
"end_stamp": "Sat, 31 Dec 2016 20:01:00 +1100",
"created_time": 1483189195,
"from": "61312345678",
"from_extension_name": null,
"to": "200",
"to_extension_name": "Jane Smith",
"phonebook_name": null,
"transfer_to": null,
"transfer_from": null,
"talk_duration": 60,
"duration": 65,
"hangup_case": "NORMAL_CLEARING",
"uuid": "c1f2e3d4-0000-0000-0000-000000000000",
"originator": null,
"dialplan_name": "XML",
"condition_name": "normal_clearing",
"external_did": 61398765432,
"skillset_name": null,
"queue_name": null,
"record_uuid": null
}
]
Received response:
Request failed with error:
Incoming Answered vs Missed.
requires authentication
Provide a report showing the incoming Answered vs Missed calls.
Example request:
curl -X GET \
-G "https://dashboard.url.net.au/api/v1/pbx/reports/incoming-answered-vs-missed?time_period=vel&start_time=1561903200&end_time=1561989599&timezone=Australia%2FMelbourne&exclude_did_numbers[]=possimus&ignore_seconds=7" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://dashboard.url.net.au/api/v1/pbx/reports/incoming-answered-vs-missed"
);
let params = {
"time_period": "vel",
"start_time": "1561903200",
"end_time": "1561989599",
"timezone": "Australia/Melbourne",
"exclude_did_numbers[]": "possimus",
"ignore_seconds": "7",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"exclude_did_numbers": [],
"ignore_seconds": 2,
"format_start_time": "2019-07-01 00:00:00",
"format_end_time": "2019-07-01 23:59:59",
"headings": [
"00:00",
"01:00"
],
"legends": [
"Answered",
"Missed"
],
"missed": [
0,
1
],
"missed_vm": [
0,
0
],
"day_total_answered": [
42
],
"day_total_missed": [
3
],
"day_total_missed_vm": [
1
],
"day_answered_seconds": [
8172
],
"hour_total_answered": [
2,
5
],
"hour_total_missed": [
0,
1
],
"hour_total_missed_vm": [
0,
0
],
"total_answered": 42,
"total_missed": 3,
"total_missed_vm": 1,
"top_10_hours": [
"09:00",
"10:00"
]
}
Received response:
Request failed with error:
Missed Calls.
requires authentication
Provide a report showing Missed calls.
Example request:
curl -X GET \
-G "https://dashboard.url.net.au/api/v1/pbx/reports/missed-calls?time_period=et&timezone=Australia%2FMelbourne&start_time=1561903200&end_time=1561989599" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://dashboard.url.net.au/api/v1/pbx/reports/missed-calls"
);
let params = {
"time_period": "et",
"timezone": "Australia/Melbourne",
"start_time": "1561903200",
"end_time": "1561989599",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"12345": {
"uuid": "c1f2e3d4-0000-0000-0000-000000000000",
"service_id": 100,
"answer_epoch": 0,
"end_epoch": 1561903260,
"from": "61312345678",
"external_did": "61398765432",
"duration": 25,
"wait_sec": 25,
"hangup_case": "NO_ANSWER",
"dialplan_name": "XML",
"condition_name": "normal_clearing",
"extensions": {
"200": {
"extension": "200",
"hangup_cause": "NO_ANSWER"
}
}
}
}
Received response:
Request failed with error:
Agent Availability.
requires authentication
Outputs the agent status history (Call Centre Agent Availability) for the service.
Example request:
curl -X GET \
-G "https://dashboard.url.net.au/api/v1/pbx/reports/agent-availability?time_period=quidem&timezone=Australia%2FMelbourne&start_time=1483189200&end_time=1496275200&agent_ids[]=10&agent_statuses[]=ad" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://dashboard.url.net.au/api/v1/pbx/reports/agent-availability"
);
let params = {
"time_period": "quidem",
"timezone": "Australia/Melbourne",
"start_time": "1483189200",
"end_time": "1496275200",
"agent_ids[]": "10",
"agent_statuses[]": "ad",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
[
{
"user_id": 101,
"name": "Jane Smith",
"status": "Available",
"epoch": 1483189200,
"date_time": "Mon, 31 Dec 2016 20:00:00 +1100",
"timezone": "Australia\/Melbourne",
"duration": 312
}
]
Received response:
Request failed with error:
PBX Skillsets
List Skillsets.
requires authentication
Example request:
curl -X GET \
-G "https://dashboard.url.net.au/api/v1/pbx/skillsets/agent-status" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://dashboard.url.net.au/api/v1/pbx/skillsets/agent-status"
);
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
[
{
"id": 219,
"name": "Sales",
"agents": {
"agent-uuid-1": {
"agent_uuid": "agent-uuid-1",
"user_id": "1001",
"name": "Jane Smith",
"agent_status": "Available",
"agent_wrap_time": 10,
"agent_busy_delay_time": 10,
"agent_call_timeout": 10
}
},
"status_counts": {
"Available": 1,
"Logged Out": 0,
"On Break": 0
}
}
]
Received response:
Request failed with error:
Get Skillset.
requires authentication
Get single skillset by id or name.
Example request:
curl -X GET \
-G "https://dashboard.url.net.au/api/v1/pbx/skillsets/agent-status/Sales" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://dashboard.url.net.au/api/v1/pbx/skillsets/agent-status/Sales"
);
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"id": 219,
"name": "Sales",
"agents": {
"agent-uuid-1": {
"agent_uuid": "agent-uuid-1",
"user_id": "1001",
"name": "Jane Smith",
"agent_status": "Available",
"agent_wrap_time": 10,
"agent_busy_delay_time": 10,
"agent_call_timeout": 10
}
},
"status_counts": {
"Available": 1,
"Logged Out": 0,
"On Break": 0
}
}
Received response:
Request failed with error:
PBX SMS
Send SMS Message.
requires authentication
Send a SMS message via your service (must have an SMS Enabled number to do this).
Example request:
curl -X POST \
"https://dashboard.url.net.au/api/v1/pbx/sms/send" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"from":"61412341234","to":"+61412341234","body":"saepe"}'
const url = new URL(
"https://dashboard.url.net.au/api/v1/pbx/sms/send"
);
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"from": "61412341234",
"to": "+61412341234",
"body": "saepe"
}
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
{
"message_id": "7c853558-34e0-59bf-80e1-1c3baf8004a7",
"time": 1576372423,
"service_id": 123,
"status": "successful"
}
Example response (400, From number not SMS capable):
"The from number you are using is not SMS capable or not found in your service"
Received response:
Request failed with error:
PBX Voicemail Extensions
List Voicemail Extensions.
requires authentication
List all voicemail only extensions.
Example request:
curl -X GET \
-G "https://dashboard.url.net.au/api/v1/pbx/voicemail-extensions" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://dashboard.url.net.au/api/v1/pbx/voicemail-extensions"
);
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
[
{
"id": 219,
"user_id": "1999",
"name": "Test",
"vm_password": "1212",
"voicemail_emails": []
}
]
Received response:
Request failed with error:
Create Voicemail Extensions.
requires authentication
Create a new voicemail extension.
Example request:
curl -X POST \
"https://dashboard.url.net.au/api/v1/pbx/voicemail-extensions" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"name":"maxime","vm_password":20,"timezone":"Australia\/Melbourne","user_id":1001,"voicemail_emails":["error","magni"]}'
const url = new URL(
"https://dashboard.url.net.au/api/v1/pbx/voicemail-extensions"
);
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "maxime",
"vm_password": 20,
"timezone": "Australia\/Melbourne",
"user_id": 1001,
"voicemail_emails": [
"error",
"magni"
]
}
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
{
"voicemail_extension_id": 219
}
Received response:
Request failed with error:
Show Voicemail Extension.
requires authentication
Get single voicemail extension by id.
Example request:
curl -X GET \
-G "https://dashboard.url.net.au/api/v1/pbx/voicemail-extensions/220" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://dashboard.url.net.au/api/v1/pbx/voicemail-extensions/220"
);
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"id": 220,
"user_id": "1999",
"name": "Test",
"timezone": "Australia\/Melbourne",
"vm_password": "1212",
"voicemail_emails": []
}
Example response (404, Not found):
"Cannot find Voicemail Extension, please check the ID"
Received response:
Request failed with error:
Update Voicemail Extensions.
requires authentication
Update a single voicemail extension by the ID.
Example request:
curl -X PUT \
"https://dashboard.url.net.au/api/v1/pbx/voicemail-extensions/220" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"user_id":1001,"name":"ipsam","timezone":"Australia\/Melbourne","voicemail_emails":["mollitia","inventore"],"vm_password":17}'
const url = new URL(
"https://dashboard.url.net.au/api/v1/pbx/voicemail-extensions/220"
);
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"user_id": 1001,
"name": "ipsam",
"timezone": "Australia\/Melbourne",
"voicemail_emails": [
"mollitia",
"inventore"
],
"vm_password": 17
}
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
{
"voicemail_extension_id": 220
}
Received response:
Request failed with error:
Delete Voicemail Extension.
requires authentication
Deletes the selected voicemail extension.
Example request:
curl -X DELETE \
"https://dashboard.url.net.au/api/v1/pbx/voicemail-extensions/219" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://dashboard.url.net.au/api/v1/pbx/voicemail-extensions/219"
);
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());
Example response (200):
{
"status": "success"
}
Received response:
Request failed with error:
PBX Voicemails
List Voicemails.
requires authentication
Lists the voicemails present in your service.
Example request:
curl -X GET \
-G "https://dashboard.url.net.au/api/v1/pbx/voicemail" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://dashboard.url.net.au/api/v1/pbx/voicemail"
);
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
[
{
"uuid": "77ad4a68-12dc-43b3-921c-cfc12cf6068c",
"created_epoch": "1619656367",
"username": "1000",
"cid_name": "Example Name",
"cid_number": "61390085900",
"message_len": "3",
"stream_url": "https:\/\/dashboard.url.net.au\/streams\/voicemail\/34ad3075-352b-51f5-9029-608eeee6d3e4\/msg_73b25ef3-2f55-4874-ad15-a9ec52c74c09"
}
]
Received response:
Request failed with error:
Show Voicemail.
requires authentication
Show details of an individual voicemail.
Example request:
curl -X GET \
-G "https://dashboard.url.net.au/api/v1/pbx/voicemail/77ad4a68-12dc-43b3-921c-cfc12cf6068c" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://dashboard.url.net.au/api/v1/pbx/voicemail/77ad4a68-12dc-43b3-921c-cfc12cf6068c"
);
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"uuid": "77ad4a68-12dc-43b3-921c-cfc12cf6068c",
"created_epoch": "1619656367",
"username": "1000",
"cid_name": "Example Name",
"cid_number": "61390085900",
"message_len": "3",
"stream_url": "https:\/\/dashboard.url.net.au\/streams\/voicemail\/34ad3075-352b-51f5-9029-608eeee6d3e4\/msg_bee923cf-ea23-42a8-96be-0632c3ec644c"
}
Received response:
Request failed with error:
Delete Voicemail.
requires authentication
Delete a voicemail from your service.
Example request:
curl -X DELETE \
"https://dashboard.url.net.au/api/v1/pbx/voicemail/77ad4a68-12dc-43b3-921c-cfc12cf6068c" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://dashboard.url.net.au/api/v1/pbx/voicemail/77ad4a68-12dc-43b3-921c-cfc12cf6068c"
);
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());
Example response (200):
{
"status": "ok"
}
Received response:
Request failed with error: