Users and extensions
Users are the people (and extensions) on the account. Each one has an extension number, a name, an email and a permission scope. Most other resources hang off a user, so the user ID (usually the extension, like 1001) shows up in a lot of paths.
In the Key Admin this is the Users and extensions switch. Read lets a key call the GET endpoints below. Write lets it call the ones that change data.
List users
/domains/~/usersReturns every user on the account. Page through large accounts with limit and start.
Read Key Admin switch: Users and extensions, Read. Read only keys also work.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
limit | query | number (int) | Most results to return in one response. Default 100 Min 1 Max 1000 |
start | query | number (int) | How many results to skip. Use with limit to page through results. Default 0 Min 0 |
Example request
curl -X GET "https://api.noodlevoice.com/ns-api/v2/domains/~/users" \
-H "Authorization: Bearer $NOODLEVOICE_KEY"const res = await fetch("https://api.noodlevoice.com/ns-api/v2/domains/~/users", {
method: "GET",
headers: {
Authorization: "Bearer " + process.env.NOODLEVOICE_KEY,
},
});
const data = await res.json();import os, requests
r = requests.get(
"https://api.noodlevoice.com/ns-api/v2/domains/~/users",
headers={"Authorization": "Bearer " + os.environ["NOODLEVOICE_KEY"]},
)
print(r.status_code, r.json())Response 200
[
{
"domain": "string",
"user": "1001",
"name-first-name": "Front Desk",
"name-last-name": "Front Desk",
"login-username": "string",
"email": "jane@example.com",
"user-scope": "Basic User",
"department": "string",
"...": "47 more fields"
}
]Response fields (55)
| Field | Type | Notes |
|---|---|---|
domain | string | The account the item belongs to. Max length 64 |
user | string | The user ID (extension). |
name-first-name | string | First name. |
name-last-name | string | Last name. |
login-username | string | |
email | string (email) | Email address. Separate more than one with commas. |
user-scope | string | The user's permission level, such as Basic User or Office Manager. One of: Basic User, Simple User, Advanced User, Call Center Agent, Site Manager, Call Center Supervisor, Office Manager, Reseller, Super User, NDP, No Portal Default Basic User |
department | string | The department name. |
site | string | The site name. |
time-zone | string | Time zone name, like America/New_York. One of: US/Alaska, US/Central, US/Eastern, US/Hawaii, US/Mountain, US/Pacific, Africa/Addis_Ababa, Africa/Algiers, Africa/Brazzaville, Africa/Cairo, Africa/Casablanca, Africa/Dakar, Africa/Dar_es_Salaam, Africa/Djibouti, Africa/Johannesburg, Africa/Khartoum, Africa/Kigali, Africa/Kinshasa, Africa/Lagos, Africa/Nairobi, Africa/Timbuktu, Africa/Tripoli, Africa/Tunis, America/Antigua, America/Aruba, America/Belize, America/Bogota, America/Buenos_Aires, America/Cancun, America/Caracas, America/Cayman, America/Chihuahua, America/Costa_Rica, America/Denver, America/Detroit, America/Edmonton, America/El_Salvador, America/Ensenada, America/Grenada, America/Guadeloupe ... |
voicemail-login-pin | string | |
privacy | string | One of: yes, no Default no |
dial-plan | string | The dial plan the item uses. |
dial-policy | string | The dial policy the item uses. |
status-message | string | |
user-presence-status | string | |
directory-name-number-dtmf-mapping | integer | Min 100 Max 999 |
voicemail-user-control-enabled | string | Turns voicemail user control on or off (yes or no). One of: yes, no Default yes |
phone-numbers-to-allow-enabled | string | Turns phone numbers to allow on or off (yes or no). One of: yes, no Default yes |
phone-numbers-to-reject-enabled | string | Turns phone numbers to reject on or off (yes or no). One of: yes, no Default yes |
call-screening-enabled | string | Turns call screening on or off (yes or no). One of: yes, no Default yes |
ring-no-answer-timeout-seconds | integer | Ring no answer timeout, in seconds. Min 0 Max 3600 |
language-token | string | Language for prompts and voicemail, like en_US. Default en_US |
limits-max-data-storage-kilobytes | integer | Min 0 |
limits-max-active-calls-total | integer | Min 0 Max 3600 |
directory-announce-in-dial-by-name-enabled | string | Turns directory announce in dial by name on or off (yes or no). One of: yes, no Default yes |
directory-override-order-duplicate-dtmf-mapping | integer | Min 0 Max 100 |
voicemail-greeting-index | integer | Min 0 |
voicemail-enabled | string | Turns voicemail on or off (yes or no). One of: yes, no Default yes |
voicemail-receive-broadcast-enabled | string | Turns voicemail receive broadcast on or off (yes or no). One of: yes, no Default yes |
reject-anonymous-calls-enabled | string | Turns reject anonymous calls on or off (yes or no). One of: yes, no Default no |
voicemail-playback-announce-datetime-received | string | One of: yes, no Default no |
voicemail-playback-announce-caller-id | string | ID of the voicemail playback announce caller. One of: yes, no Default no |
voicemail-playback-sort-newest-to-oldest | string | One of: yes, no Default yes |
email-send-alert-new-voicemail-cc-list-csv | string | |
email-send-alert-new-voicemail-behavior | string | One of: no, yes, attnew, attsave, atttrash, brief, briefattnew, briefattsave, briefatttrash Default no |
email-send-alert-new-voicemail-enabled | string | Turns email send alert new voicemail on or off (yes or no). One of: yes, no Default no |
email-send-alert-new-missed-call-enabled | string | Turns email send alert new missed call on or off (yes or no). One of: yes, no Default no |
email-send-alert-data-storage-limit-reached-enabled | string | Turns email send alert data storage limit reached on or off (yes or no). One of: yes, no Default no |
caller-id-number | string (phonenumber) | Number shown to people you call. |
caller-id-name | string | Name shown to people you call. |
caller-id-number-emergency | any | Number sent to 911 for callback. |
area-code | integer | Min 100 Max 999 |
directory-name-visible-in-list-enabled | string | Turns directory name visible in list on or off (yes or no). One of: yes, no Default yes |
service-code | string | |
voicemail-transcription-enabled | string | Turns voicemail transcription on or off (yes or no). One of: no, Deepgram, Google, Mutare, Voicebase Default no |
emergency-address-id | string | ID of the emergency address. |
call-recordings-hide-from-others-enabled | string | Turns call recordings hide from others on or off (yes or no). One of: yes, no Default no |
music-on-hold-randomized-enabled | string | Turns music on hold randomized on or off (yes or no). One of: yes, no Default no |
music-on-hold-comfort-message-repeat-interval-seconds | integer | Music on hold comfort message repeat interval, in seconds. Min 0 Max 3600 |
active-calls-total-current | integer | |
account-status | string | One of: standard, reset, new, pwd reset |
created-datetime | string (date-time) | Created (date and time). |
last-modified-datetime | string (date-time) | Last modified (date and time). |
recording-configuration | string | One of: yes, yes-with-transcription, yes-with-transcription-and-sentiment, no Default no |
Other responses: 400, 401, 404. See errors.
List users at a site
/domains/~/usersReturns the users assigned to one site.
Read Key Admin switch: Users and extensions, Read. Read only keys also work.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
site | query | string | The site name. |
Example request
curl -X GET "https://api.noodlevoice.com/ns-api/v2/domains/~/users" \
-H "Authorization: Bearer $NOODLEVOICE_KEY"const res = await fetch("https://api.noodlevoice.com/ns-api/v2/domains/~/users", {
method: "GET",
headers: {
Authorization: "Bearer " + process.env.NOODLEVOICE_KEY,
},
});
const data = await res.json();import os, requests
r = requests.get(
"https://api.noodlevoice.com/ns-api/v2/domains/~/users",
headers={"Authorization": "Bearer " + os.environ["NOODLEVOICE_KEY"]},
)
print(r.status_code, r.json())Response 200
[
{
"domain": "string",
"user": "1001",
"name-first-name": "Front Desk",
"name-last-name": "Front Desk",
"login-username": "string",
"email": "jane@example.com",
"user-scope": "Basic User",
"department": "string",
"...": "47 more fields"
}
]Response fields (55)
| Field | Type | Notes |
|---|---|---|
domain | string | The account the item belongs to. Max length 64 |
user | string | The user ID (extension). |
name-first-name | string | First name. |
name-last-name | string | Last name. |
login-username | string | |
email | string (email) | Email address. Separate more than one with commas. |
user-scope | string | The user's permission level, such as Basic User or Office Manager. One of: Basic User, Simple User, Advanced User, Call Center Agent, Site Manager, Call Center Supervisor, Office Manager, Reseller, Super User, NDP, No Portal Default Basic User |
department | string | The department name. |
site | string | The site name. |
time-zone | string | Time zone name, like America/New_York. One of: US/Alaska, US/Central, US/Eastern, US/Hawaii, US/Mountain, US/Pacific, Africa/Addis_Ababa, Africa/Algiers, Africa/Brazzaville, Africa/Cairo, Africa/Casablanca, Africa/Dakar, Africa/Dar_es_Salaam, Africa/Djibouti, Africa/Johannesburg, Africa/Khartoum, Africa/Kigali, Africa/Kinshasa, Africa/Lagos, Africa/Nairobi, Africa/Timbuktu, Africa/Tripoli, Africa/Tunis, America/Antigua, America/Aruba, America/Belize, America/Bogota, America/Buenos_Aires, America/Cancun, America/Caracas, America/Cayman, America/Chihuahua, America/Costa_Rica, America/Denver, America/Detroit, America/Edmonton, America/El_Salvador, America/Ensenada, America/Grenada, America/Guadeloupe ... |
voicemail-login-pin | string | |
privacy | string | One of: yes, no Default no |
dial-plan | string | The dial plan the item uses. |
dial-policy | string | The dial policy the item uses. |
status-message | string | |
user-presence-status | string | |
directory-name-number-dtmf-mapping | integer | Min 100 Max 999 |
voicemail-user-control-enabled | string | Turns voicemail user control on or off (yes or no). One of: yes, no Default yes |
phone-numbers-to-allow-enabled | string | Turns phone numbers to allow on or off (yes or no). One of: yes, no Default yes |
phone-numbers-to-reject-enabled | string | Turns phone numbers to reject on or off (yes or no). One of: yes, no Default yes |
call-screening-enabled | string | Turns call screening on or off (yes or no). One of: yes, no Default yes |
ring-no-answer-timeout-seconds | integer | Ring no answer timeout, in seconds. Min 0 Max 3600 |
language-token | string | Language for prompts and voicemail, like en_US. Default en_US |
limits-max-data-storage-kilobytes | integer | Min 0 |
limits-max-active-calls-total | integer | Min 0 Max 3600 |
directory-announce-in-dial-by-name-enabled | string | Turns directory announce in dial by name on or off (yes or no). One of: yes, no Default yes |
directory-override-order-duplicate-dtmf-mapping | integer | Min 0 Max 100 |
voicemail-greeting-index | integer | Min 0 |
voicemail-enabled | string | Turns voicemail on or off (yes or no). One of: yes, no Default yes |
voicemail-receive-broadcast-enabled | string | Turns voicemail receive broadcast on or off (yes or no). One of: yes, no Default yes |
reject-anonymous-calls-enabled | string | Turns reject anonymous calls on or off (yes or no). One of: yes, no Default no |
voicemail-playback-announce-datetime-received | string | One of: yes, no Default no |
voicemail-playback-announce-caller-id | string | ID of the voicemail playback announce caller. One of: yes, no Default no |
voicemail-playback-sort-newest-to-oldest | string | One of: yes, no Default yes |
email-send-alert-new-voicemail-cc-list-csv | string | |
email-send-alert-new-voicemail-behavior | string | One of: no, yes, attnew, attsave, atttrash, brief, briefattnew, briefattsave, briefatttrash Default no |
email-send-alert-new-voicemail-enabled | string | Turns email send alert new voicemail on or off (yes or no). One of: yes, no Default no |
email-send-alert-new-missed-call-enabled | string | Turns email send alert new missed call on or off (yes or no). One of: yes, no Default no |
email-send-alert-data-storage-limit-reached-enabled | string | Turns email send alert data storage limit reached on or off (yes or no). One of: yes, no Default no |
caller-id-number | string (phonenumber) | Number shown to people you call. |
caller-id-name | string | Name shown to people you call. |
caller-id-number-emergency | any | Number sent to 911 for callback. |
area-code | integer | Min 100 Max 999 |
directory-name-visible-in-list-enabled | string | Turns directory name visible in list on or off (yes or no). One of: yes, no Default yes |
service-code | string | |
voicemail-transcription-enabled | string | Turns voicemail transcription on or off (yes or no). One of: no, Deepgram, Google, Mutare, Voicebase Default no |
emergency-address-id | string | ID of the emergency address. |
call-recordings-hide-from-others-enabled | string | Turns call recordings hide from others on or off (yes or no). One of: yes, no Default no |
music-on-hold-randomized-enabled | string | Turns music on hold randomized on or off (yes or no). One of: yes, no Default no |
music-on-hold-comfort-message-repeat-interval-seconds | integer | Music on hold comfort message repeat interval, in seconds. Min 0 Max 3600 |
active-calls-total-current | integer | |
account-status | string | One of: standard, reset, new, pwd reset |
created-datetime | string (date-time) | Created (date and time). |
last-modified-datetime | string (date-time) | Last modified (date and time). |
recording-configuration | string | One of: yes, yes-with-transcription, yes-with-transcription-and-sentiment, no Default no |
Count users
/domains/~/users/countReturns how many users there are on the account, as {"total": n}.
Read Key Admin switch: Users and extensions, Read. Read only keys also work.
Example request
curl -X GET "https://api.noodlevoice.com/ns-api/v2/domains/~/users/count" \
-H "Authorization: Bearer $NOODLEVOICE_KEY"const res = await fetch("https://api.noodlevoice.com/ns-api/v2/domains/~/users/count", {
method: "GET",
headers: {
Authorization: "Bearer " + process.env.NOODLEVOICE_KEY,
},
});
const data = await res.json();import os, requests
r = requests.get(
"https://api.noodlevoice.com/ns-api/v2/domains/~/users/count",
headers={"Authorization": "Bearer " + os.environ["NOODLEVOICE_KEY"]},
)
print(r.status_code, r.json())Response 200
{
"total": 1
}Response fields (1)
| Field | Type | Notes |
|---|---|---|
total | integer | How many items matched. |
Other responses: 400, 401, 403, 404. See errors.
List users (short form)
/domains/~/users/listReturns a lighter list of users with just the key identifying fields. Faster than the full list on large accounts.
Read Key Admin switch: Users and extensions, Read. Read only keys also work.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
fields | query | string | Comma separated list of fields to include. Leave it out to get every field. |
Example request
curl -X GET "https://api.noodlevoice.com/ns-api/v2/domains/~/users/list" \
-H "Authorization: Bearer $NOODLEVOICE_KEY"const res = await fetch("https://api.noodlevoice.com/ns-api/v2/domains/~/users/list", {
method: "GET",
headers: {
Authorization: "Bearer " + process.env.NOODLEVOICE_KEY,
},
});
const data = await res.json();import os, requests
r = requests.get(
"https://api.noodlevoice.com/ns-api/v2/domains/~/users/list",
headers={"Authorization": "Bearer " + os.environ["NOODLEVOICE_KEY"]},
)
print(r.status_code, r.json())Response 200
[
{
"user": "1001",
"domain": "string",
"site": "string",
"name-first-name": "Front Desk",
"name-last-name": "Front Desk",
"department": "string",
"directory-name-number-dtmf-mapping": 1
}
]Response fields (7)
| Field | Type | Notes |
|---|---|---|
user | string | The user ID (extension). |
domain | string | The account the item belongs to. |
site | string | The site name. |
name-first-name | string | First name. |
name-last-name | string | Last name. |
department | string | The department name. |
directory-name-number-dtmf-mapping | integer |
Other responses: 400, 401, 403, 404. See errors.
Create a user
/domains/~/usersAdds a new user on the account.
Write Key Admin switch: Users and extensions, Write.
Request body application/json
| Field | Type | Notes |
|---|---|---|
synchronous | string | Set to yes to wait until the change is finished before the response comes back. One of: yes, no Default no |
user required | string | The user ID (extension). |
name-first-name required | string | First name. |
name-last-name required | string | Last name. |
login-username | string | |
email required | string (email) | Email address. Separate more than one with commas. |
user-scope required | string | The user's permission level, such as Basic User or Office Manager. One of: Basic User, Simple User, Advanced User, Call Center Agent, Site Manager, Call Center Supervisor, Office Manager, Reseller, Super User, NDP, No Portal Default Basic User |
department | string | The department name. |
site | string | The site name. |
time-zone | string | Time zone name, like America/New_York. One of: US/Alaska, US/Central, US/Eastern, US/Hawaii, US/Mountain, US/Pacific, Africa/Addis_Ababa, Africa/Algiers, Africa/Brazzaville, Africa/Cairo, Africa/Casablanca, Africa/Dakar, Africa/Dar_es_Salaam, Africa/Djibouti, Africa/Johannesburg, Africa/Khartoum, Africa/Kigali, Africa/Kinshasa, Africa/Lagos, Africa/Nairobi, Africa/Timbuktu, Africa/Tripoli, Africa/Tunis, America/Antigua, America/Aruba, America/Belize, America/Bogota, America/Buenos_Aires, America/Cancun, America/Caracas, America/Cayman, America/Chihuahua, America/Costa_Rica, America/Denver, America/Detroit, America/Edmonton, America/El_Salvador, America/Ensenada, America/Grenada, America/Guadeloupe ... |
voicemail-login-pin | string | |
privacy | string | One of: yes, no Default no |
dial-plan | string | The dial plan the item uses. |
dial-policy | string | The dial policy the item uses. |
status-message | string | |
user-presence-status | string | |
directory-name-number-dtmf-mapping | integer | Min 100 Max 999 |
voicemail-user-control-enabled | string | Turns voicemail user control on or off (yes or no). One of: yes, no Default yes |
phone-numbers-to-allow-enabled | string | Turns phone numbers to allow on or off (yes or no). One of: yes, no Default yes |
phone-numbers-to-reject-enabled | string | Turns phone numbers to reject on or off (yes or no). One of: yes, no Default yes |
call-screening-enabled | string | Turns call screening on or off (yes or no). One of: yes, no Default yes |
ring-no-answer-timeout-seconds | integer | Ring no answer timeout, in seconds. Min 0 Max 3600 |
language-token | string | Language for prompts and voicemail, like en_US. Default en_US |
limits-max-data-storage-kilobytes | integer | Min 0 |
limits-max-active-calls-total | integer | Min 0 Max 3600 |
directory-announce-in-dial-by-name-enabled | string | Turns directory announce in dial by name on or off (yes or no). One of: yes, no Default yes |
directory-override-order-duplicate-dtmf-mapping | integer | Min 0 Max 100 |
voicemail-greeting-index | integer | Min 0 |
voicemail-enabled | string | Turns voicemail on or off (yes or no). One of: yes, no Default yes |
voicemail-receive-broadcast-enabled | string | Turns voicemail receive broadcast on or off (yes or no). One of: yes, no Default yes |
reject-anonymous-calls-enabled | string | Turns reject anonymous calls on or off (yes or no). One of: yes, no Default no |
voicemail-playback-announce-datetime-received | string | One of: yes, no Default no |
voicemail-playback-announce-caller-id | string | ID of the voicemail playback announce caller. One of: yes, no Default no |
voicemail-playback-sort-newest-to-oldest | string | One of: yes, no Default yes |
email-send-alert-new-voicemail-cc-list-csv | string | |
email-send-alert-new-voicemail-behavior | string | One of: no, yes, attnew, attsave, atttrash, brief, briefattnew, briefattsave, briefatttrash Default no |
email-send-alert-new-voicemail-enabled | string | Turns email send alert new voicemail on or off (yes or no). One of: yes, no Default no |
email-send-alert-new-missed-call-enabled | string | Turns email send alert new missed call on or off (yes or no). One of: yes, no Default no |
email-send-alert-data-storage-limit-reached-enabled | string | Turns email send alert data storage limit reached on or off (yes or no). One of: yes, no Default no |
caller-id-number | string (phonenumber) | Number shown to people you call. |
caller-id-name | string | Name shown to people you call. |
caller-id-number-emergency | any | Number sent to 911 for callback. |
area-code | integer | Min 100 Max 999 |
directory-name-visible-in-list-enabled | string | Turns directory name visible in list on or off (yes or no). One of: yes, no Default yes |
service-code | string | |
voicemail-transcription-enabled | string | Turns voicemail transcription on or off (yes or no). One of: no, Deepgram, Google, Mutare, Voicebase Default no |
emergency-address-id | string | ID of the emergency address. |
call-recordings-hide-from-others-enabled | string | Turns call recordings hide from others on or off (yes or no). One of: yes, no Default no |
music-on-hold-randomized-enabled | string | Turns music on hold randomized on or off (yes or no). One of: yes, no Default no |
music-on-hold-comfort-message-repeat-interval-seconds | integer | Music on hold comfort message repeat interval, in seconds. Min 0 Max 3600 |
active-calls-total-current | integer | |
account-status | string | One of: standard, reset, new, pwd reset |
created-datetime | string (date-time) | Created (date and time). |
last-modified-datetime | string (date-time) | Last modified (date and time). |
recording-configuration | string | One of: yes, yes-with-transcription, yes-with-transcription-and-sentiment, no Default no |
Example request
curl -X POST "https://api.noodlevoice.com/ns-api/v2/domains/~/users" \
-H "Authorization: Bearer $NOODLEVOICE_KEY" \
-H "Content-Type: application/json" \
-d '{
"user": "1001",
"name-first-name": "Front Desk",
"name-last-name": "Front Desk",
"email": "jane@example.com",
"user-scope": "Basic User"
}'const res = await fetch("https://api.noodlevoice.com/ns-api/v2/domains/~/users", {
method: "POST",
headers: {
Authorization: "Bearer " + process.env.NOODLEVOICE_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
"user": "1001",
"name-first-name": "Front Desk",
"name-last-name": "Front Desk",
"email": "jane@example.com",
"user-scope": "Basic User"
}),
});
const data = await res.json();import os, requests
r = requests.post(
"https://api.noodlevoice.com/ns-api/v2/domains/~/users",
headers={"Authorization": "Bearer " + os.environ["NOODLEVOICE_KEY"]},
json={
"user": "1001",
"name-first-name": "Front Desk",
"name-last-name": "Front Desk",
"email": "jane@example.com",
"user-scope": "Basic User"
},
)
print(r.status_code, r.json())Response 200
{
"domain": "string",
"user": "1001",
"name-first-name": "Front Desk",
"name-last-name": "Front Desk",
"login-username": "string",
"email": "jane@example.com",
"user-scope": "Basic User",
"department": "string",
"...": "47 more fields"
}Response fields (55)
| Field | Type | Notes |
|---|---|---|
domain | string | The account the item belongs to. Max length 64 |
user | string | The user ID (extension). |
name-first-name | string | First name. |
name-last-name | string | Last name. |
login-username | string | |
email | string (email) | Email address. Separate more than one with commas. |
user-scope | string | The user's permission level, such as Basic User or Office Manager. One of: Basic User, Simple User, Advanced User, Call Center Agent, Site Manager, Call Center Supervisor, Office Manager, Reseller, Super User, NDP, No Portal Default Basic User |
department | string | The department name. |
site | string | The site name. |
time-zone | string | Time zone name, like America/New_York. One of: US/Alaska, US/Central, US/Eastern, US/Hawaii, US/Mountain, US/Pacific, Africa/Addis_Ababa, Africa/Algiers, Africa/Brazzaville, Africa/Cairo, Africa/Casablanca, Africa/Dakar, Africa/Dar_es_Salaam, Africa/Djibouti, Africa/Johannesburg, Africa/Khartoum, Africa/Kigali, Africa/Kinshasa, Africa/Lagos, Africa/Nairobi, Africa/Timbuktu, Africa/Tripoli, Africa/Tunis, America/Antigua, America/Aruba, America/Belize, America/Bogota, America/Buenos_Aires, America/Cancun, America/Caracas, America/Cayman, America/Chihuahua, America/Costa_Rica, America/Denver, America/Detroit, America/Edmonton, America/El_Salvador, America/Ensenada, America/Grenada, America/Guadeloupe ... |
voicemail-login-pin | string | |
privacy | string | One of: yes, no Default no |
dial-plan | string | The dial plan the item uses. |
dial-policy | string | The dial policy the item uses. |
status-message | string | |
user-presence-status | string | |
directory-name-number-dtmf-mapping | integer | Min 100 Max 999 |
voicemail-user-control-enabled | string | Turns voicemail user control on or off (yes or no). One of: yes, no Default yes |
phone-numbers-to-allow-enabled | string | Turns phone numbers to allow on or off (yes or no). One of: yes, no Default yes |
phone-numbers-to-reject-enabled | string | Turns phone numbers to reject on or off (yes or no). One of: yes, no Default yes |
call-screening-enabled | string | Turns call screening on or off (yes or no). One of: yes, no Default yes |
ring-no-answer-timeout-seconds | integer | Ring no answer timeout, in seconds. Min 0 Max 3600 |
language-token | string | Language for prompts and voicemail, like en_US. Default en_US |
limits-max-data-storage-kilobytes | integer | Min 0 |
limits-max-active-calls-total | integer | Min 0 Max 3600 |
directory-announce-in-dial-by-name-enabled | string | Turns directory announce in dial by name on or off (yes or no). One of: yes, no Default yes |
directory-override-order-duplicate-dtmf-mapping | integer | Min 0 Max 100 |
voicemail-greeting-index | integer | Min 0 |
voicemail-enabled | string | Turns voicemail on or off (yes or no). One of: yes, no Default yes |
voicemail-receive-broadcast-enabled | string | Turns voicemail receive broadcast on or off (yes or no). One of: yes, no Default yes |
reject-anonymous-calls-enabled | string | Turns reject anonymous calls on or off (yes or no). One of: yes, no Default no |
voicemail-playback-announce-datetime-received | string | One of: yes, no Default no |
voicemail-playback-announce-caller-id | string | ID of the voicemail playback announce caller. One of: yes, no Default no |
voicemail-playback-sort-newest-to-oldest | string | One of: yes, no Default yes |
email-send-alert-new-voicemail-cc-list-csv | string | |
email-send-alert-new-voicemail-behavior | string | One of: no, yes, attnew, attsave, atttrash, brief, briefattnew, briefattsave, briefatttrash Default no |
email-send-alert-new-voicemail-enabled | string | Turns email send alert new voicemail on or off (yes or no). One of: yes, no Default no |
email-send-alert-new-missed-call-enabled | string | Turns email send alert new missed call on or off (yes or no). One of: yes, no Default no |
email-send-alert-data-storage-limit-reached-enabled | string | Turns email send alert data storage limit reached on or off (yes or no). One of: yes, no Default no |
caller-id-number | string (phonenumber) | Number shown to people you call. |
caller-id-name | string | Name shown to people you call. |
caller-id-number-emergency | any | Number sent to 911 for callback. |
area-code | integer | Min 100 Max 999 |
directory-name-visible-in-list-enabled | string | Turns directory name visible in list on or off (yes or no). One of: yes, no Default yes |
service-code | string | |
voicemail-transcription-enabled | string | Turns voicemail transcription on or off (yes or no). One of: no, Deepgram, Google, Mutare, Voicebase Default no |
emergency-address-id | string | ID of the emergency address. |
call-recordings-hide-from-others-enabled | string | Turns call recordings hide from others on or off (yes or no). One of: yes, no Default no |
music-on-hold-randomized-enabled | string | Turns music on hold randomized on or off (yes or no). One of: yes, no Default no |
music-on-hold-comfort-message-repeat-interval-seconds | integer | Music on hold comfort message repeat interval, in seconds. Min 0 Max 3600 |
active-calls-total-current | integer | |
account-status | string | One of: standard, reset, new, pwd reset |
created-datetime | string (date-time) | Created (date and time). |
last-modified-datetime | string (date-time) | Last modified (date and time). |
recording-configuration | string | One of: yes, yes-with-transcription, yes-with-transcription-and-sentiment, no Default no |
Other responses: 409. See errors.
Get a user
/domains/~/users/{user}Returns one user by its ID.
Read Key Admin switch: Users and extensions, Read. Read only keys also work.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
user required | path | string | The user ID, usually their extension number, like 1001. Default ~ Min length 0 Max length 16 |
Example request
curl -X GET "https://api.noodlevoice.com/ns-api/v2/domains/~/users/1001" \
-H "Authorization: Bearer $NOODLEVOICE_KEY"const res = await fetch("https://api.noodlevoice.com/ns-api/v2/domains/~/users/1001", {
method: "GET",
headers: {
Authorization: "Bearer " + process.env.NOODLEVOICE_KEY,
},
});
const data = await res.json();import os, requests
r = requests.get(
"https://api.noodlevoice.com/ns-api/v2/domains/~/users/1001",
headers={"Authorization": "Bearer " + os.environ["NOODLEVOICE_KEY"]},
)
print(r.status_code, r.json())Response 200
{
"domain": "string",
"user": "1001",
"name-first-name": "Front Desk",
"name-last-name": "Front Desk",
"login-username": "string",
"email": "jane@example.com",
"user-scope": "Basic User",
"department": "string",
"...": "47 more fields"
}Response fields (55)
| Field | Type | Notes |
|---|---|---|
domain | string | The account the item belongs to. Max length 64 |
user | string | The user ID (extension). |
name-first-name | string | First name. |
name-last-name | string | Last name. |
login-username | string | |
email | string (email) | Email address. Separate more than one with commas. |
user-scope | string | The user's permission level, such as Basic User or Office Manager. One of: Basic User, Simple User, Advanced User, Call Center Agent, Site Manager, Call Center Supervisor, Office Manager, Reseller, Super User, NDP, No Portal Default Basic User |
department | string | The department name. |
site | string | The site name. |
time-zone | string | Time zone name, like America/New_York. One of: US/Alaska, US/Central, US/Eastern, US/Hawaii, US/Mountain, US/Pacific, Africa/Addis_Ababa, Africa/Algiers, Africa/Brazzaville, Africa/Cairo, Africa/Casablanca, Africa/Dakar, Africa/Dar_es_Salaam, Africa/Djibouti, Africa/Johannesburg, Africa/Khartoum, Africa/Kigali, Africa/Kinshasa, Africa/Lagos, Africa/Nairobi, Africa/Timbuktu, Africa/Tripoli, Africa/Tunis, America/Antigua, America/Aruba, America/Belize, America/Bogota, America/Buenos_Aires, America/Cancun, America/Caracas, America/Cayman, America/Chihuahua, America/Costa_Rica, America/Denver, America/Detroit, America/Edmonton, America/El_Salvador, America/Ensenada, America/Grenada, America/Guadeloupe ... |
voicemail-login-pin | string | |
privacy | string | One of: yes, no Default no |
dial-plan | string | The dial plan the item uses. |
dial-policy | string | The dial policy the item uses. |
status-message | string | |
user-presence-status | string | |
directory-name-number-dtmf-mapping | integer | Min 100 Max 999 |
voicemail-user-control-enabled | string | Turns voicemail user control on or off (yes or no). One of: yes, no Default yes |
phone-numbers-to-allow-enabled | string | Turns phone numbers to allow on or off (yes or no). One of: yes, no Default yes |
phone-numbers-to-reject-enabled | string | Turns phone numbers to reject on or off (yes or no). One of: yes, no Default yes |
call-screening-enabled | string | Turns call screening on or off (yes or no). One of: yes, no Default yes |
ring-no-answer-timeout-seconds | integer | Ring no answer timeout, in seconds. Min 0 Max 3600 |
language-token | string | Language for prompts and voicemail, like en_US. Default en_US |
limits-max-data-storage-kilobytes | integer | Min 0 |
limits-max-active-calls-total | integer | Min 0 Max 3600 |
directory-announce-in-dial-by-name-enabled | string | Turns directory announce in dial by name on or off (yes or no). One of: yes, no Default yes |
directory-override-order-duplicate-dtmf-mapping | integer | Min 0 Max 100 |
voicemail-greeting-index | integer | Min 0 |
voicemail-enabled | string | Turns voicemail on or off (yes or no). One of: yes, no Default yes |
voicemail-receive-broadcast-enabled | string | Turns voicemail receive broadcast on or off (yes or no). One of: yes, no Default yes |
reject-anonymous-calls-enabled | string | Turns reject anonymous calls on or off (yes or no). One of: yes, no Default no |
voicemail-playback-announce-datetime-received | string | One of: yes, no Default no |
voicemail-playback-announce-caller-id | string | ID of the voicemail playback announce caller. One of: yes, no Default no |
voicemail-playback-sort-newest-to-oldest | string | One of: yes, no Default yes |
email-send-alert-new-voicemail-cc-list-csv | string | |
email-send-alert-new-voicemail-behavior | string | One of: no, yes, attnew, attsave, atttrash, brief, briefattnew, briefattsave, briefatttrash Default no |
email-send-alert-new-voicemail-enabled | string | Turns email send alert new voicemail on or off (yes or no). One of: yes, no Default no |
email-send-alert-new-missed-call-enabled | string | Turns email send alert new missed call on or off (yes or no). One of: yes, no Default no |
email-send-alert-data-storage-limit-reached-enabled | string | Turns email send alert data storage limit reached on or off (yes or no). One of: yes, no Default no |
caller-id-number | string (phonenumber) | Number shown to people you call. |
caller-id-name | string | Name shown to people you call. |
caller-id-number-emergency | any | Number sent to 911 for callback. |
area-code | integer | Min 100 Max 999 |
directory-name-visible-in-list-enabled | string | Turns directory name visible in list on or off (yes or no). One of: yes, no Default yes |
service-code | string | |
voicemail-transcription-enabled | string | Turns voicemail transcription on or off (yes or no). One of: no, Deepgram, Google, Mutare, Voicebase Default no |
emergency-address-id | string | ID of the emergency address. |
call-recordings-hide-from-others-enabled | string | Turns call recordings hide from others on or off (yes or no). One of: yes, no Default no |
music-on-hold-randomized-enabled | string | Turns music on hold randomized on or off (yes or no). One of: yes, no Default no |
music-on-hold-comfort-message-repeat-interval-seconds | integer | Music on hold comfort message repeat interval, in seconds. Min 0 Max 3600 |
active-calls-total-current | integer | |
account-status | string | One of: standard, reset, new, pwd reset |
created-datetime | string (date-time) | Created (date and time). |
last-modified-datetime | string (date-time) | Last modified (date and time). |
recording-configuration | string | One of: yes, yes-with-transcription, yes-with-transcription-and-sentiment, no Default no |
Update a user
/domains/~/users/{user}Changes an existing user. Send the fields you want to set in the body.
Write Key Admin switch: Users and extensions, Write.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
user required | path | string | The user ID, usually their extension number, like 1001. Default ~ Min length 0 Max length 16 |
Request body application/json
| Field | Type | Notes |
|---|---|---|
name-first-name required | string | First name. |
name-last-name required | string | Last name. |
login-username | string | |
email required | string (email) | Email address. Separate more than one with commas. |
user-scope required | string | The user's permission level, such as Basic User or Office Manager. One of: Basic User, Simple User, Advanced User, Call Center Agent, Site Manager, Call Center Supervisor, Office Manager, Reseller, Super User, NDP, No Portal Default Basic User |
department | string | The department name. |
site | string | The site name. |
time-zone | string | Time zone name, like America/New_York. One of: US/Alaska, US/Central, US/Eastern, US/Hawaii, US/Mountain, US/Pacific, Africa/Addis_Ababa, Africa/Algiers, Africa/Brazzaville, Africa/Cairo, Africa/Casablanca, Africa/Dakar, Africa/Dar_es_Salaam, Africa/Djibouti, Africa/Johannesburg, Africa/Khartoum, Africa/Kigali, Africa/Kinshasa, Africa/Lagos, Africa/Nairobi, Africa/Timbuktu, Africa/Tripoli, Africa/Tunis, America/Antigua, America/Aruba, America/Belize, America/Bogota, America/Buenos_Aires, America/Cancun, America/Caracas, America/Cayman, America/Chihuahua, America/Costa_Rica, America/Denver, America/Detroit, America/Edmonton, America/El_Salvador, America/Ensenada, America/Grenada, America/Guadeloupe ... |
voicemail-login-pin | string | |
privacy | string | One of: yes, no Default no |
dial-plan | string | The dial plan the item uses. |
dial-policy | string | The dial policy the item uses. |
status-message | string | |
user-presence-status | string | |
directory-name-number-dtmf-mapping | integer | Min 100 Max 999 |
voicemail-user-control-enabled | string | Turns voicemail user control on or off (yes or no). One of: yes, no Default yes |
phone-numbers-to-allow-enabled | string | Turns phone numbers to allow on or off (yes or no). One of: yes, no Default yes |
phone-numbers-to-reject-enabled | string | Turns phone numbers to reject on or off (yes or no). One of: yes, no Default yes |
call-screening-enabled | string | Turns call screening on or off (yes or no). One of: yes, no Default yes |
ring-no-answer-timeout-seconds | integer | Ring no answer timeout, in seconds. Min 0 Max 3600 |
language-token | string | Language for prompts and voicemail, like en_US. Default en_US |
limits-max-data-storage-kilobytes | integer | Min 0 |
limits-max-active-calls-total | integer | Min 0 Max 3600 |
directory-announce-in-dial-by-name-enabled | string | Turns directory announce in dial by name on or off (yes or no). One of: yes, no Default yes |
directory-override-order-duplicate-dtmf-mapping | integer | Min 0 Max 100 |
voicemail-greeting-index | integer | Min 0 |
voicemail-enabled | string | Turns voicemail on or off (yes or no). One of: yes, no Default yes |
voicemail-receive-broadcast-enabled | string | Turns voicemail receive broadcast on or off (yes or no). One of: yes, no Default yes |
reject-anonymous-calls-enabled | string | Turns reject anonymous calls on or off (yes or no). One of: yes, no Default no |
voicemail-playback-announce-datetime-received | string | One of: yes, no Default no |
voicemail-playback-announce-caller-id | string | ID of the voicemail playback announce caller. One of: yes, no Default no |
voicemail-playback-sort-newest-to-oldest | string | One of: yes, no Default yes |
email-send-alert-new-voicemail-cc-list-csv | string | |
email-send-alert-new-voicemail-behavior | string | One of: no, yes, attnew, attsave, atttrash, brief, briefattnew, briefattsave, briefatttrash Default no |
email-send-alert-new-voicemail-enabled | string | Turns email send alert new voicemail on or off (yes or no). One of: yes, no Default no |
email-send-alert-new-missed-call-enabled | string | Turns email send alert new missed call on or off (yes or no). One of: yes, no Default no |
email-send-alert-data-storage-limit-reached-enabled | string | Turns email send alert data storage limit reached on or off (yes or no). One of: yes, no Default no |
caller-id-number | string (phonenumber) | Number shown to people you call. |
caller-id-name | string | Name shown to people you call. |
caller-id-number-emergency | any | Number sent to 911 for callback. |
area-code | integer | Min 100 Max 999 |
directory-name-visible-in-list-enabled | string | Turns directory name visible in list on or off (yes or no). One of: yes, no Default yes |
service-code | string | |
voicemail-transcription-enabled | string | Turns voicemail transcription on or off (yes or no). One of: no, Deepgram, Google, Mutare, Voicebase Default no |
emergency-address-id | string | ID of the emergency address. |
call-recordings-hide-from-others-enabled | string | Turns call recordings hide from others on or off (yes or no). One of: yes, no Default no |
music-on-hold-randomized-enabled | string | Turns music on hold randomized on or off (yes or no). One of: yes, no Default no |
music-on-hold-comfort-message-repeat-interval-seconds | integer | Music on hold comfort message repeat interval, in seconds. Min 0 Max 3600 |
active-calls-total-current | integer | |
account-status | string | One of: standard, reset, new, pwd reset |
created-datetime | string (date-time) | Created (date and time). |
last-modified-datetime | string (date-time) | Last modified (date and time). |
recording-configuration | string | One of: yes, yes-with-transcription, yes-with-transcription-and-sentiment, no Default no |
Example request
curl -X PUT "https://api.noodlevoice.com/ns-api/v2/domains/~/users/1001" \
-H "Authorization: Bearer $NOODLEVOICE_KEY" \
-H "Content-Type: application/json" \
-d '{
"name-first-name": "Front Desk",
"name-last-name": "Front Desk",
"email": "jane@example.com",
"user-scope": "Basic User"
}'const res = await fetch("https://api.noodlevoice.com/ns-api/v2/domains/~/users/1001", {
method: "PUT",
headers: {
Authorization: "Bearer " + process.env.NOODLEVOICE_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
"name-first-name": "Front Desk",
"name-last-name": "Front Desk",
"email": "jane@example.com",
"user-scope": "Basic User"
}),
});
const data = await res.json();import os, requests
r = requests.put(
"https://api.noodlevoice.com/ns-api/v2/domains/~/users/1001",
headers={"Authorization": "Bearer " + os.environ["NOODLEVOICE_KEY"]},
json={
"name-first-name": "Front Desk",
"name-last-name": "Front Desk",
"email": "jane@example.com",
"user-scope": "Basic User"
},
)
print(r.status_code, r.json())Response 202
Returns a status code with a short JSON message.
Delete a user
/domains/~/users/{user}Removes a user. This can't be undone.
Write Key Admin switch: Users and extensions, Write.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
user required | path | string | The user ID, usually their extension number, like 1001. Default ~ Min length 0 Max length 16 |
Example request
curl -X DELETE "https://api.noodlevoice.com/ns-api/v2/domains/~/users/1001" \
-H "Authorization: Bearer $NOODLEVOICE_KEY"const res = await fetch("https://api.noodlevoice.com/ns-api/v2/domains/~/users/1001", {
method: "DELETE",
headers: {
Authorization: "Bearer " + process.env.NOODLEVOICE_KEY,
},
});
const data = await res.json();import os, requests
r = requests.delete(
"https://api.noodlevoice.com/ns-api/v2/domains/~/users/1001",
headers={"Authorization": "Bearer " + os.environ["NOODLEVOICE_KEY"]},
)
print(r.status_code, r.json())Response 202
Returns a status code with a short JSON message.
Send an email to a user
/domains/~/users/{user}/emailSends one of the platform's email templates (for example a welcome email) to the user's address on file.
Full access No feature switch covers this endpoint. It needs a Full access key.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
user required | path | string | The user ID, usually their extension number, like 1001. Default ~ Min length 0 Max length 16 |
Request body application/json
| Field | Type | Notes |
|---|---|---|
template required | string | Which email template to send. |
subject required | string | Email subject line. |
Example request
curl -X POST "https://api.noodlevoice.com/ns-api/v2/domains/~/users/1001/email" \
-H "Authorization: Bearer $NOODLEVOICE_KEY" \
-H "Content-Type: application/json" \
-d '{
"template": "string",
"subject": "string"
}'const res = await fetch("https://api.noodlevoice.com/ns-api/v2/domains/~/users/1001/email", {
method: "POST",
headers: {
Authorization: "Bearer " + process.env.NOODLEVOICE_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
"template": "string",
"subject": "string"
}),
});
const data = await res.json();import os, requests
r = requests.post(
"https://api.noodlevoice.com/ns-api/v2/domains/~/users/1001/email",
headers={"Authorization": "Bearer " + os.environ["NOODLEVOICE_KEY"]},
json={
"template": "string",
"subject": "string"
},
)
print(r.status_code, r.json())Response 200
Returns a status code with a short JSON message.
Verify a user's email address
/domains/~/users/{user}/email/verify/{token}Confirms a user's email address with the verification token they received.
Full access No feature switch covers this endpoint. It needs a Full access key.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
user required | path | string | The user ID, usually their extension number, like 1001. Default ~ Min length 0 Max length 16 |
token required | path | string | The verification token from the email. |
Example request
curl -X POST "https://api.noodlevoice.com/ns-api/v2/domains/~/users/1001/email/verify/{token}" \
-H "Authorization: Bearer $NOODLEVOICE_KEY"const res = await fetch("https://api.noodlevoice.com/ns-api/v2/domains/~/users/1001/email/verify/{token}", {
method: "POST",
headers: {
Authorization: "Bearer " + process.env.NOODLEVOICE_KEY,
},
});
const data = await res.json();import os, requests
r = requests.post(
"https://api.noodlevoice.com/ns-api/v2/domains/~/users/1001/email/verify/{token}",
headers={"Authorization": "Bearer " + os.environ["NOODLEVOICE_KEY"]},
)
print(r.status_code, r.json())Response 200
Returns a status code with a short JSON message.