API Reference
Key Admin
People and devices

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

GET/domains/~/users

Returns 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

NameInTypeNotes
limitquerynumber (int)Most results to return in one response. Default 100 Min 1 Max 1000
startquerynumber (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)
FieldTypeNotes
domainstringThe account the item belongs to. Max length 64
userstringThe user ID (extension).
name-first-namestringFirst name.
name-last-namestringLast name.
login-usernamestring
emailstring (email)Email address. Separate more than one with commas.
user-scopestringThe 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
departmentstringThe department name.
sitestringThe site name.
time-zonestringTime 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-pinstring
privacystring One of: yes, no Default no
dial-planstringThe dial plan the item uses.
dial-policystringThe dial policy the item uses.
status-messagestring
user-presence-statusstring
directory-name-number-dtmf-mappinginteger Min 100 Max 999
voicemail-user-control-enabledstringTurns voicemail user control on or off (yes or no). One of: yes, no Default yes
phone-numbers-to-allow-enabledstringTurns phone numbers to allow on or off (yes or no). One of: yes, no Default yes
phone-numbers-to-reject-enabledstringTurns phone numbers to reject on or off (yes or no). One of: yes, no Default yes
call-screening-enabledstringTurns call screening on or off (yes or no). One of: yes, no Default yes
ring-no-answer-timeout-secondsintegerRing no answer timeout, in seconds. Min 0 Max 3600
language-tokenstringLanguage for prompts and voicemail, like en_US. Default en_US
limits-max-data-storage-kilobytesinteger Min 0
limits-max-active-calls-totalinteger Min 0 Max 3600
directory-announce-in-dial-by-name-enabledstringTurns directory announce in dial by name on or off (yes or no). One of: yes, no Default yes
directory-override-order-duplicate-dtmf-mappinginteger Min 0 Max 100
voicemail-greeting-indexinteger Min 0
voicemail-enabledstringTurns voicemail on or off (yes or no). One of: yes, no Default yes
voicemail-receive-broadcast-enabledstringTurns voicemail receive broadcast on or off (yes or no). One of: yes, no Default yes
reject-anonymous-calls-enabledstringTurns reject anonymous calls on or off (yes or no). One of: yes, no Default no
voicemail-playback-announce-datetime-receivedstring One of: yes, no Default no
voicemail-playback-announce-caller-idstringID of the voicemail playback announce caller. One of: yes, no Default no
voicemail-playback-sort-newest-to-oldeststring One of: yes, no Default yes
email-send-alert-new-voicemail-cc-list-csvstring
email-send-alert-new-voicemail-behaviorstring One of: no, yes, attnew, attsave, atttrash, brief, briefattnew, briefattsave, briefatttrash Default no
email-send-alert-new-voicemail-enabledstringTurns email send alert new voicemail on or off (yes or no). One of: yes, no Default no
email-send-alert-new-missed-call-enabledstringTurns 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-enabledstringTurns email send alert data storage limit reached on or off (yes or no). One of: yes, no Default no
caller-id-numberstring (phonenumber)Number shown to people you call.
caller-id-namestringName shown to people you call.
caller-id-number-emergencyanyNumber sent to 911 for callback.
area-codeinteger Min 100 Max 999
directory-name-visible-in-list-enabledstringTurns directory name visible in list on or off (yes or no). One of: yes, no Default yes
service-codestring
voicemail-transcription-enabledstringTurns voicemail transcription on or off (yes or no). One of: no, Deepgram, Google, Mutare, Voicebase Default no
emergency-address-idstringID of the emergency address.
call-recordings-hide-from-others-enabledstringTurns call recordings hide from others on or off (yes or no). One of: yes, no Default no
music-on-hold-randomized-enabledstringTurns music on hold randomized on or off (yes or no). One of: yes, no Default no
music-on-hold-comfort-message-repeat-interval-secondsintegerMusic on hold comfort message repeat interval, in seconds. Min 0 Max 3600
active-calls-total-currentinteger
account-statusstring One of: standard, reset, new, pwd reset
created-datetimestring (date-time)Created (date and time).
last-modified-datetimestring (date-time)Last modified (date and time).
recording-configurationstring 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

GET/domains/~/users

Returns the users assigned to one site.

Read Key Admin switch: Users and extensions, Read. Read only keys also work.

Parameters

NameInTypeNotes
sitequerystringThe 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)
FieldTypeNotes
domainstringThe account the item belongs to. Max length 64
userstringThe user ID (extension).
name-first-namestringFirst name.
name-last-namestringLast name.
login-usernamestring
emailstring (email)Email address. Separate more than one with commas.
user-scopestringThe 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
departmentstringThe department name.
sitestringThe site name.
time-zonestringTime 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-pinstring
privacystring One of: yes, no Default no
dial-planstringThe dial plan the item uses.
dial-policystringThe dial policy the item uses.
status-messagestring
user-presence-statusstring
directory-name-number-dtmf-mappinginteger Min 100 Max 999
voicemail-user-control-enabledstringTurns voicemail user control on or off (yes or no). One of: yes, no Default yes
phone-numbers-to-allow-enabledstringTurns phone numbers to allow on or off (yes or no). One of: yes, no Default yes
phone-numbers-to-reject-enabledstringTurns phone numbers to reject on or off (yes or no). One of: yes, no Default yes
call-screening-enabledstringTurns call screening on or off (yes or no). One of: yes, no Default yes
ring-no-answer-timeout-secondsintegerRing no answer timeout, in seconds. Min 0 Max 3600
language-tokenstringLanguage for prompts and voicemail, like en_US. Default en_US
limits-max-data-storage-kilobytesinteger Min 0
limits-max-active-calls-totalinteger Min 0 Max 3600
directory-announce-in-dial-by-name-enabledstringTurns directory announce in dial by name on or off (yes or no). One of: yes, no Default yes
directory-override-order-duplicate-dtmf-mappinginteger Min 0 Max 100
voicemail-greeting-indexinteger Min 0
voicemail-enabledstringTurns voicemail on or off (yes or no). One of: yes, no Default yes
voicemail-receive-broadcast-enabledstringTurns voicemail receive broadcast on or off (yes or no). One of: yes, no Default yes
reject-anonymous-calls-enabledstringTurns reject anonymous calls on or off (yes or no). One of: yes, no Default no
voicemail-playback-announce-datetime-receivedstring One of: yes, no Default no
voicemail-playback-announce-caller-idstringID of the voicemail playback announce caller. One of: yes, no Default no
voicemail-playback-sort-newest-to-oldeststring One of: yes, no Default yes
email-send-alert-new-voicemail-cc-list-csvstring
email-send-alert-new-voicemail-behaviorstring One of: no, yes, attnew, attsave, atttrash, brief, briefattnew, briefattsave, briefatttrash Default no
email-send-alert-new-voicemail-enabledstringTurns email send alert new voicemail on or off (yes or no). One of: yes, no Default no
email-send-alert-new-missed-call-enabledstringTurns 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-enabledstringTurns email send alert data storage limit reached on or off (yes or no). One of: yes, no Default no
caller-id-numberstring (phonenumber)Number shown to people you call.
caller-id-namestringName shown to people you call.
caller-id-number-emergencyanyNumber sent to 911 for callback.
area-codeinteger Min 100 Max 999
directory-name-visible-in-list-enabledstringTurns directory name visible in list on or off (yes or no). One of: yes, no Default yes
service-codestring
voicemail-transcription-enabledstringTurns voicemail transcription on or off (yes or no). One of: no, Deepgram, Google, Mutare, Voicebase Default no
emergency-address-idstringID of the emergency address.
call-recordings-hide-from-others-enabledstringTurns call recordings hide from others on or off (yes or no). One of: yes, no Default no
music-on-hold-randomized-enabledstringTurns music on hold randomized on or off (yes or no). One of: yes, no Default no
music-on-hold-comfort-message-repeat-interval-secondsintegerMusic on hold comfort message repeat interval, in seconds. Min 0 Max 3600
active-calls-total-currentinteger
account-statusstring One of: standard, reset, new, pwd reset
created-datetimestring (date-time)Created (date and time).
last-modified-datetimestring (date-time)Last modified (date and time).
recording-configurationstring One of: yes, yes-with-transcription, yes-with-transcription-and-sentiment, no Default no

Count users

GET/domains/~/users/count

Returns 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)
FieldTypeNotes
totalintegerHow many items matched.

Other responses: 400, 401, 403, 404. See errors.

List users (short form)

GET/domains/~/users/list

Returns 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

NameInTypeNotes
fieldsquerystringComma 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)
FieldTypeNotes
userstringThe user ID (extension).
domainstringThe account the item belongs to.
sitestringThe site name.
name-first-namestringFirst name.
name-last-namestringLast name.
departmentstringThe department name.
directory-name-number-dtmf-mappinginteger

Other responses: 400, 401, 403, 404. See errors.

Create a user

POST/domains/~/users

Adds a new user on the account.

Write Key Admin switch: Users and extensions, Write.

Request body application/json

FieldTypeNotes
synchronousstringSet to yes to wait until the change is finished before the response comes back. One of: yes, no Default no
user requiredstringThe user ID (extension).
name-first-name requiredstringFirst name.
name-last-name requiredstringLast name.
login-usernamestring
email requiredstring (email)Email address. Separate more than one with commas.
user-scope requiredstringThe 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
departmentstringThe department name.
sitestringThe site name.
time-zonestringTime 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-pinstring
privacystring One of: yes, no Default no
dial-planstringThe dial plan the item uses.
dial-policystringThe dial policy the item uses.
status-messagestring
user-presence-statusstring
directory-name-number-dtmf-mappinginteger Min 100 Max 999
voicemail-user-control-enabledstringTurns voicemail user control on or off (yes or no). One of: yes, no Default yes
phone-numbers-to-allow-enabledstringTurns phone numbers to allow on or off (yes or no). One of: yes, no Default yes
phone-numbers-to-reject-enabledstringTurns phone numbers to reject on or off (yes or no). One of: yes, no Default yes
call-screening-enabledstringTurns call screening on or off (yes or no). One of: yes, no Default yes
ring-no-answer-timeout-secondsintegerRing no answer timeout, in seconds. Min 0 Max 3600
language-tokenstringLanguage for prompts and voicemail, like en_US. Default en_US
limits-max-data-storage-kilobytesinteger Min 0
limits-max-active-calls-totalinteger Min 0 Max 3600
directory-announce-in-dial-by-name-enabledstringTurns directory announce in dial by name on or off (yes or no). One of: yes, no Default yes
directory-override-order-duplicate-dtmf-mappinginteger Min 0 Max 100
voicemail-greeting-indexinteger Min 0
voicemail-enabledstringTurns voicemail on or off (yes or no). One of: yes, no Default yes
voicemail-receive-broadcast-enabledstringTurns voicemail receive broadcast on or off (yes or no). One of: yes, no Default yes
reject-anonymous-calls-enabledstringTurns reject anonymous calls on or off (yes or no). One of: yes, no Default no
voicemail-playback-announce-datetime-receivedstring One of: yes, no Default no
voicemail-playback-announce-caller-idstringID of the voicemail playback announce caller. One of: yes, no Default no
voicemail-playback-sort-newest-to-oldeststring One of: yes, no Default yes
email-send-alert-new-voicemail-cc-list-csvstring
email-send-alert-new-voicemail-behaviorstring One of: no, yes, attnew, attsave, atttrash, brief, briefattnew, briefattsave, briefatttrash Default no
email-send-alert-new-voicemail-enabledstringTurns email send alert new voicemail on or off (yes or no). One of: yes, no Default no
email-send-alert-new-missed-call-enabledstringTurns 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-enabledstringTurns email send alert data storage limit reached on or off (yes or no). One of: yes, no Default no
caller-id-numberstring (phonenumber)Number shown to people you call.
caller-id-namestringName shown to people you call.
caller-id-number-emergencyanyNumber sent to 911 for callback.
area-codeinteger Min 100 Max 999
directory-name-visible-in-list-enabledstringTurns directory name visible in list on or off (yes or no). One of: yes, no Default yes
service-codestring
voicemail-transcription-enabledstringTurns voicemail transcription on or off (yes or no). One of: no, Deepgram, Google, Mutare, Voicebase Default no
emergency-address-idstringID of the emergency address.
call-recordings-hide-from-others-enabledstringTurns call recordings hide from others on or off (yes or no). One of: yes, no Default no
music-on-hold-randomized-enabledstringTurns music on hold randomized on or off (yes or no). One of: yes, no Default no
music-on-hold-comfort-message-repeat-interval-secondsintegerMusic on hold comfort message repeat interval, in seconds. Min 0 Max 3600
active-calls-total-currentinteger
account-statusstring One of: standard, reset, new, pwd reset
created-datetimestring (date-time)Created (date and time).
last-modified-datetimestring (date-time)Last modified (date and time).
recording-configurationstring 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)
FieldTypeNotes
domainstringThe account the item belongs to. Max length 64
userstringThe user ID (extension).
name-first-namestringFirst name.
name-last-namestringLast name.
login-usernamestring
emailstring (email)Email address. Separate more than one with commas.
user-scopestringThe 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
departmentstringThe department name.
sitestringThe site name.
time-zonestringTime 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-pinstring
privacystring One of: yes, no Default no
dial-planstringThe dial plan the item uses.
dial-policystringThe dial policy the item uses.
status-messagestring
user-presence-statusstring
directory-name-number-dtmf-mappinginteger Min 100 Max 999
voicemail-user-control-enabledstringTurns voicemail user control on or off (yes or no). One of: yes, no Default yes
phone-numbers-to-allow-enabledstringTurns phone numbers to allow on or off (yes or no). One of: yes, no Default yes
phone-numbers-to-reject-enabledstringTurns phone numbers to reject on or off (yes or no). One of: yes, no Default yes
call-screening-enabledstringTurns call screening on or off (yes or no). One of: yes, no Default yes
ring-no-answer-timeout-secondsintegerRing no answer timeout, in seconds. Min 0 Max 3600
language-tokenstringLanguage for prompts and voicemail, like en_US. Default en_US
limits-max-data-storage-kilobytesinteger Min 0
limits-max-active-calls-totalinteger Min 0 Max 3600
directory-announce-in-dial-by-name-enabledstringTurns directory announce in dial by name on or off (yes or no). One of: yes, no Default yes
directory-override-order-duplicate-dtmf-mappinginteger Min 0 Max 100
voicemail-greeting-indexinteger Min 0
voicemail-enabledstringTurns voicemail on or off (yes or no). One of: yes, no Default yes
voicemail-receive-broadcast-enabledstringTurns voicemail receive broadcast on or off (yes or no). One of: yes, no Default yes
reject-anonymous-calls-enabledstringTurns reject anonymous calls on or off (yes or no). One of: yes, no Default no
voicemail-playback-announce-datetime-receivedstring One of: yes, no Default no
voicemail-playback-announce-caller-idstringID of the voicemail playback announce caller. One of: yes, no Default no
voicemail-playback-sort-newest-to-oldeststring One of: yes, no Default yes
email-send-alert-new-voicemail-cc-list-csvstring
email-send-alert-new-voicemail-behaviorstring One of: no, yes, attnew, attsave, atttrash, brief, briefattnew, briefattsave, briefatttrash Default no
email-send-alert-new-voicemail-enabledstringTurns email send alert new voicemail on or off (yes or no). One of: yes, no Default no
email-send-alert-new-missed-call-enabledstringTurns 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-enabledstringTurns email send alert data storage limit reached on or off (yes or no). One of: yes, no Default no
caller-id-numberstring (phonenumber)Number shown to people you call.
caller-id-namestringName shown to people you call.
caller-id-number-emergencyanyNumber sent to 911 for callback.
area-codeinteger Min 100 Max 999
directory-name-visible-in-list-enabledstringTurns directory name visible in list on or off (yes or no). One of: yes, no Default yes
service-codestring
voicemail-transcription-enabledstringTurns voicemail transcription on or off (yes or no). One of: no, Deepgram, Google, Mutare, Voicebase Default no
emergency-address-idstringID of the emergency address.
call-recordings-hide-from-others-enabledstringTurns call recordings hide from others on or off (yes or no). One of: yes, no Default no
music-on-hold-randomized-enabledstringTurns music on hold randomized on or off (yes or no). One of: yes, no Default no
music-on-hold-comfort-message-repeat-interval-secondsintegerMusic on hold comfort message repeat interval, in seconds. Min 0 Max 3600
active-calls-total-currentinteger
account-statusstring One of: standard, reset, new, pwd reset
created-datetimestring (date-time)Created (date and time).
last-modified-datetimestring (date-time)Last modified (date and time).
recording-configurationstring One of: yes, yes-with-transcription, yes-with-transcription-and-sentiment, no Default no

Other responses: 409. See errors.

Get a user

GET/domains/~/users/{user}

Returns one user by its ID.

Read Key Admin switch: Users and extensions, Read. Read only keys also work.

Parameters

NameInTypeNotes
user requiredpathstringThe 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)
FieldTypeNotes
domainstringThe account the item belongs to. Max length 64
userstringThe user ID (extension).
name-first-namestringFirst name.
name-last-namestringLast name.
login-usernamestring
emailstring (email)Email address. Separate more than one with commas.
user-scopestringThe 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
departmentstringThe department name.
sitestringThe site name.
time-zonestringTime 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-pinstring
privacystring One of: yes, no Default no
dial-planstringThe dial plan the item uses.
dial-policystringThe dial policy the item uses.
status-messagestring
user-presence-statusstring
directory-name-number-dtmf-mappinginteger Min 100 Max 999
voicemail-user-control-enabledstringTurns voicemail user control on or off (yes or no). One of: yes, no Default yes
phone-numbers-to-allow-enabledstringTurns phone numbers to allow on or off (yes or no). One of: yes, no Default yes
phone-numbers-to-reject-enabledstringTurns phone numbers to reject on or off (yes or no). One of: yes, no Default yes
call-screening-enabledstringTurns call screening on or off (yes or no). One of: yes, no Default yes
ring-no-answer-timeout-secondsintegerRing no answer timeout, in seconds. Min 0 Max 3600
language-tokenstringLanguage for prompts and voicemail, like en_US. Default en_US
limits-max-data-storage-kilobytesinteger Min 0
limits-max-active-calls-totalinteger Min 0 Max 3600
directory-announce-in-dial-by-name-enabledstringTurns directory announce in dial by name on or off (yes or no). One of: yes, no Default yes
directory-override-order-duplicate-dtmf-mappinginteger Min 0 Max 100
voicemail-greeting-indexinteger Min 0
voicemail-enabledstringTurns voicemail on or off (yes or no). One of: yes, no Default yes
voicemail-receive-broadcast-enabledstringTurns voicemail receive broadcast on or off (yes or no). One of: yes, no Default yes
reject-anonymous-calls-enabledstringTurns reject anonymous calls on or off (yes or no). One of: yes, no Default no
voicemail-playback-announce-datetime-receivedstring One of: yes, no Default no
voicemail-playback-announce-caller-idstringID of the voicemail playback announce caller. One of: yes, no Default no
voicemail-playback-sort-newest-to-oldeststring One of: yes, no Default yes
email-send-alert-new-voicemail-cc-list-csvstring
email-send-alert-new-voicemail-behaviorstring One of: no, yes, attnew, attsave, atttrash, brief, briefattnew, briefattsave, briefatttrash Default no
email-send-alert-new-voicemail-enabledstringTurns email send alert new voicemail on or off (yes or no). One of: yes, no Default no
email-send-alert-new-missed-call-enabledstringTurns 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-enabledstringTurns email send alert data storage limit reached on or off (yes or no). One of: yes, no Default no
caller-id-numberstring (phonenumber)Number shown to people you call.
caller-id-namestringName shown to people you call.
caller-id-number-emergencyanyNumber sent to 911 for callback.
area-codeinteger Min 100 Max 999
directory-name-visible-in-list-enabledstringTurns directory name visible in list on or off (yes or no). One of: yes, no Default yes
service-codestring
voicemail-transcription-enabledstringTurns voicemail transcription on or off (yes or no). One of: no, Deepgram, Google, Mutare, Voicebase Default no
emergency-address-idstringID of the emergency address.
call-recordings-hide-from-others-enabledstringTurns call recordings hide from others on or off (yes or no). One of: yes, no Default no
music-on-hold-randomized-enabledstringTurns music on hold randomized on or off (yes or no). One of: yes, no Default no
music-on-hold-comfort-message-repeat-interval-secondsintegerMusic on hold comfort message repeat interval, in seconds. Min 0 Max 3600
active-calls-total-currentinteger
account-statusstring One of: standard, reset, new, pwd reset
created-datetimestring (date-time)Created (date and time).
last-modified-datetimestring (date-time)Last modified (date and time).
recording-configurationstring One of: yes, yes-with-transcription, yes-with-transcription-and-sentiment, no Default no

Update a user

PUT/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

NameInTypeNotes
user requiredpathstringThe user ID, usually their extension number, like 1001. Default ~ Min length 0 Max length 16

Request body application/json

FieldTypeNotes
name-first-name requiredstringFirst name.
name-last-name requiredstringLast name.
login-usernamestring
email requiredstring (email)Email address. Separate more than one with commas.
user-scope requiredstringThe 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
departmentstringThe department name.
sitestringThe site name.
time-zonestringTime 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-pinstring
privacystring One of: yes, no Default no
dial-planstringThe dial plan the item uses.
dial-policystringThe dial policy the item uses.
status-messagestring
user-presence-statusstring
directory-name-number-dtmf-mappinginteger Min 100 Max 999
voicemail-user-control-enabledstringTurns voicemail user control on or off (yes or no). One of: yes, no Default yes
phone-numbers-to-allow-enabledstringTurns phone numbers to allow on or off (yes or no). One of: yes, no Default yes
phone-numbers-to-reject-enabledstringTurns phone numbers to reject on or off (yes or no). One of: yes, no Default yes
call-screening-enabledstringTurns call screening on or off (yes or no). One of: yes, no Default yes
ring-no-answer-timeout-secondsintegerRing no answer timeout, in seconds. Min 0 Max 3600
language-tokenstringLanguage for prompts and voicemail, like en_US. Default en_US
limits-max-data-storage-kilobytesinteger Min 0
limits-max-active-calls-totalinteger Min 0 Max 3600
directory-announce-in-dial-by-name-enabledstringTurns directory announce in dial by name on or off (yes or no). One of: yes, no Default yes
directory-override-order-duplicate-dtmf-mappinginteger Min 0 Max 100
voicemail-greeting-indexinteger Min 0
voicemail-enabledstringTurns voicemail on or off (yes or no). One of: yes, no Default yes
voicemail-receive-broadcast-enabledstringTurns voicemail receive broadcast on or off (yes or no). One of: yes, no Default yes
reject-anonymous-calls-enabledstringTurns reject anonymous calls on or off (yes or no). One of: yes, no Default no
voicemail-playback-announce-datetime-receivedstring One of: yes, no Default no
voicemail-playback-announce-caller-idstringID of the voicemail playback announce caller. One of: yes, no Default no
voicemail-playback-sort-newest-to-oldeststring One of: yes, no Default yes
email-send-alert-new-voicemail-cc-list-csvstring
email-send-alert-new-voicemail-behaviorstring One of: no, yes, attnew, attsave, atttrash, brief, briefattnew, briefattsave, briefatttrash Default no
email-send-alert-new-voicemail-enabledstringTurns email send alert new voicemail on or off (yes or no). One of: yes, no Default no
email-send-alert-new-missed-call-enabledstringTurns 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-enabledstringTurns email send alert data storage limit reached on or off (yes or no). One of: yes, no Default no
caller-id-numberstring (phonenumber)Number shown to people you call.
caller-id-namestringName shown to people you call.
caller-id-number-emergencyanyNumber sent to 911 for callback.
area-codeinteger Min 100 Max 999
directory-name-visible-in-list-enabledstringTurns directory name visible in list on or off (yes or no). One of: yes, no Default yes
service-codestring
voicemail-transcription-enabledstringTurns voicemail transcription on or off (yes or no). One of: no, Deepgram, Google, Mutare, Voicebase Default no
emergency-address-idstringID of the emergency address.
call-recordings-hide-from-others-enabledstringTurns call recordings hide from others on or off (yes or no). One of: yes, no Default no
music-on-hold-randomized-enabledstringTurns music on hold randomized on or off (yes or no). One of: yes, no Default no
music-on-hold-comfort-message-repeat-interval-secondsintegerMusic on hold comfort message repeat interval, in seconds. Min 0 Max 3600
active-calls-total-currentinteger
account-statusstring One of: standard, reset, new, pwd reset
created-datetimestring (date-time)Created (date and time).
last-modified-datetimestring (date-time)Last modified (date and time).
recording-configurationstring 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

DELETE/domains/~/users/{user}

Removes a user. This can't be undone.

Write Key Admin switch: Users and extensions, Write.

Parameters

NameInTypeNotes
user requiredpathstringThe 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

POST/domains/~/users/{user}/email

Sends 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

NameInTypeNotes
user requiredpathstringThe user ID, usually their extension number, like 1001. Default ~ Min length 0 Max length 16

Request body application/json

FieldTypeNotes
template requiredstringWhich email template to send.
subject requiredstringEmail 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

POST/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

NameInTypeNotes
user requiredpathstringThe user ID, usually their extension number, like 1001. Default ~ Min length 0 Max length 16
token requiredpathstringThe 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.