API Reference
Key Admin
Numbers and call routing

Call queues and agents

Call queues hold callers until an agent is free. Agents are users who log in to a queue. These endpoints manage the queues, their agents and agent status.

In the Key Admin this is the Call queues and agents switch. Read lets a key call the GET endpoints below. Write lets it call the ones that change data.

List call queues

GET/domains/~/callqueues

Returns the call queues on the account.

Read Key Admin switch: Call queues and agents, Read. Read only keys also work.

Example request

curl -X GET "https://api.noodlevoice.com/ns-api/v2/domains/~/callqueues" \
  -H "Authorization: Bearer $NOODLEVOICE_KEY"
const res = await fetch("https://api.noodlevoice.com/ns-api/v2/domains/~/callqueues", {
  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/~/callqueues",
    headers={"Authorization": "Bearer " + os.environ["NOODLEVOICE_KEY"]},
)
print(r.status_code, r.json())

Response 200

[
  {
    "callqueue": "string",
    "domain": "string",
    "description": "string",
    "callqueue-dispatch-type": "Round-robin",
    "callqueue-calculate-statistics": "yes",
    "active-queued-calls-total-current": 1,
    "callqueue-agent-dispatch-timeout-seconds": 1,
    "callqueue-count-agents-available": 1,
    "...": "20 more fields"
  }
]
Response fields (28)
FieldTypeNotes
callqueuestringThe call queue's ID.
domainstringThe account the item belongs to. Max length 64
descriptionstringA note about the item.
callqueue-dispatch-typestring One of: Round-robin, Tiered Round-robin, Ring All, Linear Cascade, Linear Hunt, Call Park
callqueue-calculate-statisticsstring One of: yes, no
active-queued-calls-total-currentinteger
callqueue-agent-dispatch-timeout-secondsintegerCallqueue agent dispatch timeout, in seconds.
callqueue-count-agents-availableinteger
callqueue-count-agents-totalinteger
callqueue-debugstring One of: yes, no
callqueue-force-full-intro-playbackstring One of: yes, no
callqueue-max-callback-queueing-hoursinteger Default 0 Min 0 Max 6
callqueue-max-current-callers-to-accept-new-callersinteger Default 0 Min 0
callqueue-max-current-wait-to-accept-new-callers-secondsintegerCallqueue max current wait to accept new callers, in seconds. Default 0 Min 0
callqueue-max-wait-timeout-minutesintegerCallqueue max wait timeout, in minutes. Default 0 Min 0
callqueue-require-available-agents-to-accept-new-callersstring One of: yes, no Default no
callqueue-source-matchstring
callqueue-sms-enablestring One of: yes, no Default no
callqueue-sms-phrase-initiate-chatstring
callqueue-sms-phrase-initiate-successstring
callqueue-sms-phrase-initiation-fail string
callqueue-sms-phrase-no-agents-availablestring
callqueue-sms-phrase-terminate-chatstring
callqueue-sms-phrase-terminate-successstring
callqueue-agent-auto-logout-after-missedstring One of: yes, no Default no
callqueue-sim-ring-1st-roundinteger Default 0 Min 0 Max 99
callqueue-sim-ring-incrementinteger Default 1 Min 0 Max 99
recording-configurationstring One of: yes, yes-with-transcription, yes-with-transcription-and-sentiment, no Default no

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

List call queues (short form)

GET/domains/~/callqueues/list

Returns just the key fields for each call queue on the account.

Read Key Admin switch: Call queues and agents, Read. Read only keys also work.

Example request

curl -X GET "https://api.noodlevoice.com/ns-api/v2/domains/~/callqueues/list" \
  -H "Authorization: Bearer $NOODLEVOICE_KEY"
const res = await fetch("https://api.noodlevoice.com/ns-api/v2/domains/~/callqueues/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/~/callqueues/list",
    headers={"Authorization": "Bearer " + os.environ["NOODLEVOICE_KEY"]},
)
print(r.status_code, r.json())

Response 200

[
  {
    "callqueue": "string",
    "domain": "string",
    "description": "string",
    "callqueue-dispatch-type": "Round-robin",
    "callqueue-calculate-statistics": "yes",
    "active-queued-calls-total-current": 1,
    "callqueue-agent-dispatch-timeout-seconds": 1,
    "callqueue-count-agents-available": 1,
    "...": "20 more fields"
  }
]
Response fields (28)
FieldTypeNotes
callqueuestringThe call queue's ID.
domainstringThe account the item belongs to. Max length 64
descriptionstringA note about the item.
callqueue-dispatch-typestring One of: Round-robin, Tiered Round-robin, Ring All, Linear Cascade, Linear Hunt, Call Park
callqueue-calculate-statisticsstring One of: yes, no
active-queued-calls-total-currentinteger
callqueue-agent-dispatch-timeout-secondsintegerCallqueue agent dispatch timeout, in seconds.
callqueue-count-agents-availableinteger
callqueue-count-agents-totalinteger
callqueue-debugstring One of: yes, no
callqueue-force-full-intro-playbackstring One of: yes, no
callqueue-max-callback-queueing-hoursinteger Default 0 Min 0 Max 6
callqueue-max-current-callers-to-accept-new-callersinteger Default 0 Min 0
callqueue-max-current-wait-to-accept-new-callers-secondsintegerCallqueue max current wait to accept new callers, in seconds. Default 0 Min 0
callqueue-max-wait-timeout-minutesintegerCallqueue max wait timeout, in minutes. Default 0 Min 0
callqueue-require-available-agents-to-accept-new-callersstring One of: yes, no Default no
callqueue-source-matchstring
callqueue-sms-enablestring One of: yes, no Default no
callqueue-sms-phrase-initiate-chatstring
callqueue-sms-phrase-initiate-successstring
callqueue-sms-phrase-initiation-fail string
callqueue-sms-phrase-no-agents-availablestring
callqueue-sms-phrase-terminate-chatstring
callqueue-sms-phrase-terminate-successstring
callqueue-agent-auto-logout-after-missedstring One of: yes, no Default no
callqueue-sim-ring-1st-roundinteger Default 0 Min 0 Max 99
callqueue-sim-ring-incrementinteger Default 1 Min 0 Max 99
recording-configurationstring One of: yes, yes-with-transcription, yes-with-transcription-and-sentiment, no Default no

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

Get a call queue

GET/domains/~/callqueues/{callqueue}

Returns one call queue by its ID.

Read Key Admin switch: Call queues and agents, Read. Read only keys also work.

Parameters

NameInTypeNotes
callqueue requiredpathstringThe call queue's ID (its extension), like 2000.

Example request

curl -X GET "https://api.noodlevoice.com/ns-api/v2/domains/~/callqueues/2000" \
  -H "Authorization: Bearer $NOODLEVOICE_KEY"
const res = await fetch("https://api.noodlevoice.com/ns-api/v2/domains/~/callqueues/2000", {
  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/~/callqueues/2000",
    headers={"Authorization": "Bearer " + os.environ["NOODLEVOICE_KEY"]},
)
print(r.status_code, r.json())

Response 200

{
  "callqueue": "string",
  "domain": "string",
  "description": "string",
  "callqueue-dispatch-type": "Round-robin",
  "callqueue-calculate-statistics": "yes",
  "active-queued-calls-total-current": 1,
  "callqueue-agent-dispatch-timeout-seconds": 1,
  "callqueue-count-agents-available": 1,
  "...": "20 more fields"
}
Response fields (28)
FieldTypeNotes
callqueuestringThe call queue's ID.
domainstringThe account the item belongs to. Max length 64
descriptionstringA note about the item.
callqueue-dispatch-typestring One of: Round-robin, Tiered Round-robin, Ring All, Linear Cascade, Linear Hunt, Call Park
callqueue-calculate-statisticsstring One of: yes, no
active-queued-calls-total-currentinteger
callqueue-agent-dispatch-timeout-secondsintegerCallqueue agent dispatch timeout, in seconds.
callqueue-count-agents-availableinteger
callqueue-count-agents-totalinteger
callqueue-debugstring One of: yes, no
callqueue-force-full-intro-playbackstring One of: yes, no
callqueue-max-callback-queueing-hoursinteger Default 0 Min 0 Max 6
callqueue-max-current-callers-to-accept-new-callersinteger Default 0 Min 0
callqueue-max-current-wait-to-accept-new-callers-secondsintegerCallqueue max current wait to accept new callers, in seconds. Default 0 Min 0
callqueue-max-wait-timeout-minutesintegerCallqueue max wait timeout, in minutes. Default 0 Min 0
callqueue-require-available-agents-to-accept-new-callersstring One of: yes, no Default no
callqueue-source-matchstring
callqueue-sms-enablestring One of: yes, no Default no
callqueue-sms-phrase-initiate-chatstring
callqueue-sms-phrase-initiate-successstring
callqueue-sms-phrase-initiation-fail string
callqueue-sms-phrase-no-agents-availablestring
callqueue-sms-phrase-terminate-chatstring
callqueue-sms-phrase-terminate-successstring
callqueue-agent-auto-logout-after-missedstring One of: yes, no Default no
callqueue-sim-ring-1st-roundinteger Default 0 Min 0 Max 99
callqueue-sim-ring-incrementinteger Default 1 Min 0 Max 99
recording-configurationstring One of: yes, yes-with-transcription, yes-with-transcription-and-sentiment, no Default no

List agents in a call queue

GET/domains/~/callqueues/{callqueue}/agents

Returns the agents in one call queue.

Read Key Admin switch: Call queues and agents, Read. Read only keys also work.

Parameters

NameInTypeNotes
callqueue requiredpathstringThe call queue's ID (its extension), like 2000.

Example request

curl -X GET "https://api.noodlevoice.com/ns-api/v2/domains/~/callqueues/2000/agents" \
  -H "Authorization: Bearer $NOODLEVOICE_KEY"
const res = await fetch("https://api.noodlevoice.com/ns-api/v2/domains/~/callqueues/2000/agents", {
  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/~/callqueues/2000/agents",
    headers={"Authorization": "Bearer " + os.environ["NOODLEVOICE_KEY"]},
)
print(r.status_code, r.json())

Response 200

[
  {
    "callqueue-agent-id": "string",
    "callqueue": "string",
    "domain": "string",
    "callqueue-agent-availability-type": "automatic",
    "callqueue-agent-wrap-up-allowance-seconds": 0,
    "auto-answer-enabled": "yes",
    "callqueue-agent-dispatch-order-ordinal": 1,
    "callqueue-agent-dispatch-queue-priority-ordinal": 1,
    "...": "17 more fields"
  }
]
Response fields (25)
FieldTypeNotes
callqueue-agent-idstringThe agent's ID in the queue.
callqueuestringThe call queue's ID.
domainstringThe account the item belongs to. Max length 64
callqueue-agent-availability-typestring One of: automatic, manual, disabled, offnet-automatic
callqueue-agent-wrap-up-allowance-secondsintegerCallqueue agent wrap up allowance, in seconds. Default 0
auto-answer-enabledstringTurns auto answer on or off (yes or no). One of: yes, no Default no
callqueue-agent-dispatch-order-ordinalinteger
callqueue-agent-dispatch-queue-priority-ordinalinteger
limits-max-active-calls-totalinteger
callqueue-agent-answer-confirmation-enabledstringTurns callqueue agent answer confirmation on or off (yes or no). One of: yes, no Default no
callqueue-agent-has-registered-devicesstring One of: yes, no, push-enabled, offnet
callqueue-agent-availability-for-dispatchstring
active-calls-total-currentinteger
last-modified-datetimestring (date-time)Last modified (date and time).
callqueue-agent-max-concurrent-sms-conversationsinteger
last-callqueue-dispatch-datetimestring (date-time)Last callqueue dispatch (date and time).
callqueue-agent-entry-typestring One of: device, user, offnet
login-usernamestring
name-full-namestringFull name.
agent-name-first-namestringName of the agent name first.
agent-name-last-namestringName of the agent name last.
agent-departmentstring
agent-sitestring
agent-user-scopestring
agent-status-messagestring

Count agents in a call queue

GET/domains/~/callqueues/{callqueue}/agents/count

Returns how many agents there are in one call queue, as {"total": n}.

Read Key Admin switch: Call queues and agents, Read. Read only keys also work.

Parameters

NameInTypeNotes
callqueue requiredpathstringThe call queue's ID (its extension), like 2000.

Example request

curl -X GET "https://api.noodlevoice.com/ns-api/v2/domains/~/callqueues/2000/agents/count" \
  -H "Authorization: Bearer $NOODLEVOICE_KEY"
const res = await fetch("https://api.noodlevoice.com/ns-api/v2/domains/~/callqueues/2000/agents/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/~/callqueues/2000/agents/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.

Get an agent

GET/domains/~/callqueues/{callqueue}/agents/{callqueue-agent-id}

Returns one agent by its ID.

Read Key Admin switch: Call queues and agents, Read. Read only keys also work.

Parameters

NameInTypeNotes
callqueue requiredpathstringThe call queue's ID (its extension), like 2000.
callqueue-agent-id requiredpathstringThe agent's ID in the queue: their extension, an @ and your account ID, like 1001@yourfirm.noodlevoice.

Example request

curl -X GET "https://api.noodlevoice.com/ns-api/v2/domains/~/callqueues/2000/agents/1001@yourfirm.noodlevoice" \
  -H "Authorization: Bearer $NOODLEVOICE_KEY"
const res = await fetch("https://api.noodlevoice.com/ns-api/v2/domains/~/callqueues/2000/agents/1001@yourfirm.noodlevoice", {
  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/~/callqueues/2000/agents/1001@yourfirm.noodlevoice",
    headers={"Authorization": "Bearer " + os.environ["NOODLEVOICE_KEY"]},
)
print(r.status_code, r.json())

Response 200

{
  "callqueue-agent-id": "string",
  "callqueue": "string",
  "domain": "string",
  "callqueue-agent-availability-type": "automatic",
  "callqueue-agent-wrap-up-allowance-seconds": 0,
  "auto-answer-enabled": "yes",
  "callqueue-agent-dispatch-order-ordinal": 1,
  "callqueue-agent-dispatch-queue-priority-ordinal": 1,
  "...": "17 more fields"
}
Response fields (25)
FieldTypeNotes
callqueue-agent-idstringThe agent's ID in the queue.
callqueuestringThe call queue's ID.
domainstringThe account the item belongs to. Max length 64
callqueue-agent-availability-typestring One of: automatic, manual, disabled, offnet-automatic
callqueue-agent-wrap-up-allowance-secondsintegerCallqueue agent wrap up allowance, in seconds. Default 0
auto-answer-enabledstringTurns auto answer on or off (yes or no). One of: yes, no Default no
callqueue-agent-dispatch-order-ordinalinteger
callqueue-agent-dispatch-queue-priority-ordinalinteger
limits-max-active-calls-totalinteger
callqueue-agent-answer-confirmation-enabledstringTurns callqueue agent answer confirmation on or off (yes or no). One of: yes, no Default no
callqueue-agent-has-registered-devicesstring One of: yes, no, push-enabled, offnet
callqueue-agent-availability-for-dispatchstring
active-calls-total-currentinteger
last-modified-datetimestring (date-time)Last modified (date and time).
callqueue-agent-max-concurrent-sms-conversationsinteger
last-callqueue-dispatch-datetimestring (date-time)Last callqueue dispatch (date and time).
callqueue-agent-entry-typestring One of: device, user, offnet
login-usernamestring
name-full-namestringFull name.
agent-name-first-namestringName of the agent name first.
agent-name-last-namestringName of the agent name last.
agent-departmentstring
agent-sitestring
agent-user-scopestring
agent-status-messagestring

List calls waiting in a queue

GET/domains/~/queuedcall/{queue}

Returns the calls currently waiting in one call queue.

Read Key Admin switch: Call queues and agents, Read. Read only keys also work.

Parameters

NameInTypeNotes
queue requiredpathstringThe call queue's ID (its extension), like 2000.

Example request

curl -X GET "https://api.noodlevoice.com/ns-api/v2/domains/~/queuedcall/2000" \
  -H "Authorization: Bearer $NOODLEVOICE_KEY"
const res = await fetch("https://api.noodlevoice.com/ns-api/v2/domains/~/queuedcall/2000", {
  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/~/queuedcall/2000",
    headers={"Authorization": "Bearer " + os.environ["NOODLEVOICE_KEY"]},
)
print(r.status_code, r.json())

Response 200

Returns a status code with a short JSON message.

Create a call queue

POST/domains/~/callqueues

Adds a new call queue on the account.

Write Key Admin switch: Call queues and agents, Write.

Request body application/json

FieldTypeNotes
synchronous requiredstringSet to yes to wait until the change is finished before the response comes back. One of: yes, no Default no
callqueue requiredstringThe call queue's ID.
domain requiredstringThe account the item belongs to. Max length 64
descriptionstringA note about the item.
callqueue-dispatch-typestring One of: Round-robin, Tiered Round-robin, Ring All, Linear Cascade, Linear Hunt, Call Park
callqueue-calculate-statisticsstring One of: yes, no
active-queued-calls-total-currentinteger
callqueue-agent-dispatch-timeout-secondsintegerCallqueue agent dispatch timeout, in seconds.
callqueue-count-agents-availableinteger
callqueue-count-agents-totalinteger
callqueue-debugstring One of: yes, no
callqueue-force-full-intro-playbackstring One of: yes, no
callqueue-max-callback-queueing-hoursinteger Default 0 Min 0 Max 6
callqueue-max-current-callers-to-accept-new-callersinteger Default 0 Min 0
callqueue-max-current-wait-to-accept-new-callers-secondsintegerCallqueue max current wait to accept new callers, in seconds. Default 0 Min 0
callqueue-max-wait-timeout-minutesintegerCallqueue max wait timeout, in minutes. Default 0 Min 0
callqueue-require-available-agents-to-accept-new-callersstring One of: yes, no Default no
callqueue-source-matchstring
callqueue-sms-enablestring One of: yes, no Default no
callqueue-sms-phrase-initiate-chatstring
callqueue-sms-phrase-initiate-successstring
callqueue-sms-phrase-initiation-fail string
callqueue-sms-phrase-no-agents-availablestring
callqueue-sms-phrase-terminate-chatstring
callqueue-sms-phrase-terminate-successstring
callqueue-agent-auto-logout-after-missedstring One of: yes, no Default no
callqueue-sim-ring-1st-roundinteger Default 0 Min 0 Max 99
callqueue-sim-ring-incrementinteger Default 1 Min 0 Max 99
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/~/callqueues" \
  -H "Authorization: Bearer $NOODLEVOICE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "synchronous": "yes",
    "callqueue": "string",
    "domain": "string"
  }'
const res = await fetch("https://api.noodlevoice.com/ns-api/v2/domains/~/callqueues", {
  method: "POST",
  headers: {
    Authorization: "Bearer " + process.env.NOODLEVOICE_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "synchronous": "yes",
    "callqueue": "string",
    "domain": "string"
  }),
});
const data = await res.json();
import os, requests

r = requests.post(
    "https://api.noodlevoice.com/ns-api/v2/domains/~/callqueues",
    headers={"Authorization": "Bearer " + os.environ["NOODLEVOICE_KEY"]},
    json={
        "synchronous": "yes",
        "callqueue": "string",
        "domain": "string"
    },
)
print(r.status_code, r.json())

Response 200

{
  "callqueue": "string",
  "domain": "string",
  "description": "string",
  "callqueue-dispatch-type": "Round-robin",
  "callqueue-calculate-statistics": "yes",
  "active-queued-calls-total-current": 1,
  "callqueue-agent-dispatch-timeout-seconds": 1,
  "callqueue-count-agents-available": 1,
  "...": "20 more fields"
}
Response fields (28)
FieldTypeNotes
callqueuestringThe call queue's ID.
domainstringThe account the item belongs to. Max length 64
descriptionstringA note about the item.
callqueue-dispatch-typestring One of: Round-robin, Tiered Round-robin, Ring All, Linear Cascade, Linear Hunt, Call Park
callqueue-calculate-statisticsstring One of: yes, no
active-queued-calls-total-currentinteger
callqueue-agent-dispatch-timeout-secondsintegerCallqueue agent dispatch timeout, in seconds.
callqueue-count-agents-availableinteger
callqueue-count-agents-totalinteger
callqueue-debugstring One of: yes, no
callqueue-force-full-intro-playbackstring One of: yes, no
callqueue-max-callback-queueing-hoursinteger Default 0 Min 0 Max 6
callqueue-max-current-callers-to-accept-new-callersinteger Default 0 Min 0
callqueue-max-current-wait-to-accept-new-callers-secondsintegerCallqueue max current wait to accept new callers, in seconds. Default 0 Min 0
callqueue-max-wait-timeout-minutesintegerCallqueue max wait timeout, in minutes. Default 0 Min 0
callqueue-require-available-agents-to-accept-new-callersstring One of: yes, no Default no
callqueue-source-matchstring
callqueue-sms-enablestring One of: yes, no Default no
callqueue-sms-phrase-initiate-chatstring
callqueue-sms-phrase-initiate-successstring
callqueue-sms-phrase-initiation-fail string
callqueue-sms-phrase-no-agents-availablestring
callqueue-sms-phrase-terminate-chatstring
callqueue-sms-phrase-terminate-successstring
callqueue-agent-auto-logout-after-missedstring One of: yes, no Default no
callqueue-sim-ring-1st-roundinteger Default 0 Min 0 Max 99
callqueue-sim-ring-incrementinteger Default 1 Min 0 Max 99
recording-configurationstring One of: yes, yes-with-transcription, yes-with-transcription-and-sentiment, no Default no

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

Add an agent to a call queue

POST/domains/~/callqueues/{callqueue}/agents

Adds a user to a call queue as an agent.

Write Key Admin switch: Call queues and agents, Write.

Parameters

NameInTypeNotes
callqueue requiredpathstringThe call queue's ID (its extension), like 2000.

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
callqueue-agent-id requiredstringThe agent's ID in the queue.
callqueuestringThe call queue's ID.
domainstringThe account the item belongs to. Max length 64
callqueue-agent-availability-typestring One of: automatic, manual, disabled, offnet-automatic
callqueue-agent-wrap-up-allowance-secondsintegerCallqueue agent wrap up allowance, in seconds. Default 0
auto-answer-enabledstringTurns auto answer on or off (yes or no). One of: yes, no Default no
callqueue-agent-dispatch-order-ordinalinteger
callqueue-agent-dispatch-queue-priority-ordinalinteger
limits-max-active-calls-totalinteger
callqueue-agent-answer-confirmation-enabledstringTurns callqueue agent answer confirmation on or off (yes or no). One of: yes, no Default no
callqueue-agent-has-registered-devicesstring One of: yes, no, push-enabled, offnet
callqueue-agent-availability-for-dispatchstring
active-calls-total-currentinteger
last-modified-datetimestring (date-time)Last modified (date and time).
callqueue-agent-max-concurrent-sms-conversationsinteger
last-callqueue-dispatch-datetimestring (date-time)Last callqueue dispatch (date and time).
callqueue-agent-entry-typestring One of: device, user, offnet
login-usernamestring
name-full-namestringFull name.
agent-name-first-namestringName of the agent name first.
agent-name-last-namestringName of the agent name last.
agent-departmentstring
agent-sitestring
agent-user-scopestring
agent-status-messagestring

Example request

curl -X POST "https://api.noodlevoice.com/ns-api/v2/domains/~/callqueues/2000/agents" \
  -H "Authorization: Bearer $NOODLEVOICE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "callqueue-agent-id": "string"
  }'
const res = await fetch("https://api.noodlevoice.com/ns-api/v2/domains/~/callqueues/2000/agents", {
  method: "POST",
  headers: {
    Authorization: "Bearer " + process.env.NOODLEVOICE_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "callqueue-agent-id": "string"
  }),
});
const data = await res.json();
import os, requests

r = requests.post(
    "https://api.noodlevoice.com/ns-api/v2/domains/~/callqueues/2000/agents",
    headers={"Authorization": "Bearer " + os.environ["NOODLEVOICE_KEY"]},
    json={
        "callqueue-agent-id": "string"
    },
)
print(r.status_code, r.json())

Response 200

{
  "callqueue-agent-id": "string",
  "callqueue": "string",
  "domain": "string",
  "callqueue-agent-availability-type": "automatic",
  "callqueue-agent-wrap-up-allowance-seconds": 0,
  "auto-answer-enabled": "yes",
  "callqueue-agent-dispatch-order-ordinal": 1,
  "callqueue-agent-dispatch-queue-priority-ordinal": 1,
  "...": "17 more fields"
}
Response fields (25)
FieldTypeNotes
callqueue-agent-idstringThe agent's ID in the queue.
callqueuestringThe call queue's ID.
domainstringThe account the item belongs to. Max length 64
callqueue-agent-availability-typestring One of: automatic, manual, disabled, offnet-automatic
callqueue-agent-wrap-up-allowance-secondsintegerCallqueue agent wrap up allowance, in seconds. Default 0
auto-answer-enabledstringTurns auto answer on or off (yes or no). One of: yes, no Default no
callqueue-agent-dispatch-order-ordinalinteger
callqueue-agent-dispatch-queue-priority-ordinalinteger
limits-max-active-calls-totalinteger
callqueue-agent-answer-confirmation-enabledstringTurns callqueue agent answer confirmation on or off (yes or no). One of: yes, no Default no
callqueue-agent-has-registered-devicesstring One of: yes, no, push-enabled, offnet
callqueue-agent-availability-for-dispatchstring
active-calls-total-currentinteger
last-modified-datetimestring (date-time)Last modified (date and time).
callqueue-agent-max-concurrent-sms-conversationsinteger
last-callqueue-dispatch-datetimestring (date-time)Last callqueue dispatch (date and time).
callqueue-agent-entry-typestring One of: device, user, offnet
login-usernamestring
name-full-namestringFull name.
agent-name-first-namestringName of the agent name first.
agent-name-last-namestringName of the agent name last.
agent-departmentstring
agent-sitestring
agent-user-scopestring
agent-status-messagestring

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

Update a call queue

PUT/domains/~/callqueues/{callqueue}

Changes an existing call queue. Send the fields you want to set in the body.

Write Key Admin switch: Call queues and agents, Write.

Parameters

NameInTypeNotes
callqueue requiredpathstringThe call queue's ID (its extension), like 2000.

Request body application/json

FieldTypeNotes
descriptionstringA note about the item.
callqueue-dispatch-typestring One of: Round-robin, Tiered Round-robin, Ring All, Linear Cascade, Linear Hunt, Call Park
callqueue-calculate-statisticsstring One of: yes, no
active-queued-calls-total-currentinteger
callqueue-agent-dispatch-timeout-secondsintegerCallqueue agent dispatch timeout, in seconds.
callqueue-count-agents-availableinteger
callqueue-count-agents-totalinteger
callqueue-debugstring One of: yes, no
callqueue-force-full-intro-playbackstring One of: yes, no
callqueue-max-callback-queueing-hoursinteger Default 0 Min 0 Max 6
callqueue-max-current-callers-to-accept-new-callersinteger Default 0 Min 0
callqueue-max-current-wait-to-accept-new-callers-secondsintegerCallqueue max current wait to accept new callers, in seconds. Default 0 Min 0
callqueue-max-wait-timeout-minutesintegerCallqueue max wait timeout, in minutes. Default 0 Min 0
callqueue-require-available-agents-to-accept-new-callersstring One of: yes, no Default no
callqueue-source-matchstring
callqueue-sms-enablestring One of: yes, no Default no
callqueue-sms-phrase-initiate-chatstring
callqueue-sms-phrase-initiate-successstring
callqueue-sms-phrase-initiation-fail string
callqueue-sms-phrase-no-agents-availablestring
callqueue-sms-phrase-terminate-chatstring
callqueue-sms-phrase-terminate-successstring
callqueue-agent-auto-logout-after-missedstring One of: yes, no Default no
callqueue-sim-ring-1st-roundinteger Default 0 Min 0 Max 99
callqueue-sim-ring-incrementinteger Default 1 Min 0 Max 99
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/~/callqueues/2000" \
  -H "Authorization: Bearer $NOODLEVOICE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "description": "string",
    "callqueue-dispatch-type": "Round-robin",
    "callqueue-calculate-statistics": "yes",
    "active-queued-calls-total-current": 1,
    "callqueue-agent-dispatch-timeout-seconds": 1
  }'
const res = await fetch("https://api.noodlevoice.com/ns-api/v2/domains/~/callqueues/2000", {
  method: "PUT",
  headers: {
    Authorization: "Bearer " + process.env.NOODLEVOICE_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "description": "string",
    "callqueue-dispatch-type": "Round-robin",
    "callqueue-calculate-statistics": "yes",
    "active-queued-calls-total-current": 1,
    "callqueue-agent-dispatch-timeout-seconds": 1
  }),
});
const data = await res.json();
import os, requests

r = requests.put(
    "https://api.noodlevoice.com/ns-api/v2/domains/~/callqueues/2000",
    headers={"Authorization": "Bearer " + os.environ["NOODLEVOICE_KEY"]},
    json={
        "description": "string",
        "callqueue-dispatch-type": "Round-robin",
        "callqueue-calculate-statistics": "yes",
        "active-queued-calls-total-current": 1,
        "callqueue-agent-dispatch-timeout-seconds": 1
    },
)
print(r.status_code, r.json())

Response 202

{
  "code": 1,
  "message": "Hello from NoodleVoice"
}
Response fields (2)
FieldTypeNotes
codeintegerHTTP status code.
messagestringWhat happened, in words.

Update an agent

PUT/domains/~/callqueues/{callqueue}/agents/{callqueue-agent-id}

Changes an existing agent. Send the fields you want to set in the body.

Write Key Admin switch: Call queues and agents, Write.

Parameters

NameInTypeNotes
callqueue requiredpathstringThe call queue's ID (its extension), like 2000.
callqueue-agent-id requiredpathstringThe agent's ID in the queue: their extension, an @ and your account ID, like 1001@yourfirm.noodlevoice.

Request body application/json

FieldTypeNotes
callqueue-agent-availability-typestring One of: automatic, manual, disabled, offnet-automatic
callqueue-agent-wrap-up-allowance-secondsintegerCallqueue agent wrap up allowance, in seconds. Default 0
auto-answer-enabledstringTurns auto answer on or off (yes or no). One of: yes, no Default no
callqueue-agent-dispatch-order-ordinalinteger
callqueue-agent-dispatch-queue-priority-ordinalinteger
limits-max-active-calls-totalinteger
callqueue-agent-answer-confirmation-enabledstringTurns callqueue agent answer confirmation on or off (yes or no). One of: yes, no Default no
callqueue-agent-has-registered-devicesstring One of: yes, no, push-enabled, offnet
callqueue-agent-availability-for-dispatchstring
active-calls-total-currentinteger
last-modified-datetimestring (date-time)Last modified (date and time).
callqueue-agent-max-concurrent-sms-conversationsinteger
last-callqueue-dispatch-datetimestring (date-time)Last callqueue dispatch (date and time).
callqueue-agent-entry-typestring One of: device, user, offnet
login-usernamestring
name-full-namestringFull name.
agent-name-first-namestringName of the agent name first.
agent-name-last-namestringName of the agent name last.
agent-departmentstring
agent-sitestring
agent-user-scopestring
agent-status-messagestring

Example request

curl -X PUT "https://api.noodlevoice.com/ns-api/v2/domains/~/callqueues/2000/agents/1001@yourfirm.noodlevoice" \
  -H "Authorization: Bearer $NOODLEVOICE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "callqueue-agent-availability-type": "automatic",
    "callqueue-agent-wrap-up-allowance-seconds": 0,
    "auto-answer-enabled": "yes",
    "callqueue-agent-dispatch-order-ordinal": 1,
    "callqueue-agent-dispatch-queue-priority-ordinal": 1
  }'
const res = await fetch("https://api.noodlevoice.com/ns-api/v2/domains/~/callqueues/2000/agents/1001@yourfirm.noodlevoice", {
  method: "PUT",
  headers: {
    Authorization: "Bearer " + process.env.NOODLEVOICE_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "callqueue-agent-availability-type": "automatic",
    "callqueue-agent-wrap-up-allowance-seconds": 0,
    "auto-answer-enabled": "yes",
    "callqueue-agent-dispatch-order-ordinal": 1,
    "callqueue-agent-dispatch-queue-priority-ordinal": 1
  }),
});
const data = await res.json();
import os, requests

r = requests.put(
    "https://api.noodlevoice.com/ns-api/v2/domains/~/callqueues/2000/agents/1001@yourfirm.noodlevoice",
    headers={"Authorization": "Bearer " + os.environ["NOODLEVOICE_KEY"]},
    json={
        "callqueue-agent-availability-type": "automatic",
        "callqueue-agent-wrap-up-allowance-seconds": 0,
        "auto-answer-enabled": "yes",
        "callqueue-agent-dispatch-order-ordinal": 1,
        "callqueue-agent-dispatch-queue-priority-ordinal": 1
    },
)
print(r.status_code, r.json())

Response 202

{
  "code": 1,
  "message": "Hello from NoodleVoice"
}
Response fields (2)
FieldTypeNotes
codeintegerHTTP status code.
messagestringWhat happened, in words.

Set an agent's status in every queue

PATCH/domains/~/callqueues/all/agents/{callqueue-agent-id}/{status}

Logs an agent in or out of all of their call queues at once.

Write Key Admin switch: Call queues and agents, Write.

Parameters

NameInTypeNotes
callqueue-agent-id requiredpathstringThe agent's ID in the queue: their extension, an @ and your account ID, like 1001@yourfirm.noodlevoice.
status requiredpathstringThe status to set, for example login or logout.

Example request

curl -X PATCH "https://api.noodlevoice.com/ns-api/v2/domains/~/callqueues/all/agents/1001@yourfirm.noodlevoice/login" \
  -H "Authorization: Bearer $NOODLEVOICE_KEY"
const res = await fetch("https://api.noodlevoice.com/ns-api/v2/domains/~/callqueues/all/agents/1001@yourfirm.noodlevoice/login", {
  method: "PATCH",
  headers: {
    Authorization: "Bearer " + process.env.NOODLEVOICE_KEY,
  },
});
const data = await res.json();
import os, requests

r = requests.patch(
    "https://api.noodlevoice.com/ns-api/v2/domains/~/callqueues/all/agents/1001@yourfirm.noodlevoice/login",
    headers={"Authorization": "Bearer " + os.environ["NOODLEVOICE_KEY"]},
)
print(r.status_code, r.json())

Response 202

{
  "code": 1,
  "message": "Hello from NoodleVoice"
}
Response fields (2)
FieldTypeNotes
codeintegerHTTP status code.
messagestringWhat happened, in words.

Log an agent in to a queue

PATCH/domains/~/callqueues/{callqueue}/agents/{callqueue-agent-id}/login

Makes the agent available to take calls from this call queue.

Write Key Admin switch: Call queues and agents, Write.

Parameters

NameInTypeNotes
callqueue requiredpathstringThe call queue's ID (its extension), like 2000.
callqueue-agent-id requiredpathstringThe agent's ID in the queue: their extension, an @ and your account ID, like 1001@yourfirm.noodlevoice.

Example request

curl -X PATCH "https://api.noodlevoice.com/ns-api/v2/domains/~/callqueues/2000/agents/1001@yourfirm.noodlevoice/login" \
  -H "Authorization: Bearer $NOODLEVOICE_KEY"
const res = await fetch("https://api.noodlevoice.com/ns-api/v2/domains/~/callqueues/2000/agents/1001@yourfirm.noodlevoice/login", {
  method: "PATCH",
  headers: {
    Authorization: "Bearer " + process.env.NOODLEVOICE_KEY,
  },
});
const data = await res.json();
import os, requests

r = requests.patch(
    "https://api.noodlevoice.com/ns-api/v2/domains/~/callqueues/2000/agents/1001@yourfirm.noodlevoice/login",
    headers={"Authorization": "Bearer " + os.environ["NOODLEVOICE_KEY"]},
)
print(r.status_code, r.json())

Response 202

{
  "code": 1,
  "message": "Hello from NoodleVoice"
}
Response fields (2)
FieldTypeNotes
codeintegerHTTP status code.
messagestringWhat happened, in words.

Log an agent out of a queue

PATCH/domains/~/callqueues/{callqueue}/agents/{callqueue-agent-id}/logout

Stops this call queue from sending calls to the agent.

Write Key Admin switch: Call queues and agents, Write.

Parameters

NameInTypeNotes
callqueue requiredpathstringThe call queue's ID (its extension), like 2000.
callqueue-agent-id requiredpathstringThe agent's ID in the queue: their extension, an @ and your account ID, like 1001@yourfirm.noodlevoice.

Example request

curl -X PATCH "https://api.noodlevoice.com/ns-api/v2/domains/~/callqueues/2000/agents/1001@yourfirm.noodlevoice/logout" \
  -H "Authorization: Bearer $NOODLEVOICE_KEY"
const res = await fetch("https://api.noodlevoice.com/ns-api/v2/domains/~/callqueues/2000/agents/1001@yourfirm.noodlevoice/logout", {
  method: "PATCH",
  headers: {
    Authorization: "Bearer " + process.env.NOODLEVOICE_KEY,
  },
});
const data = await res.json();
import os, requests

r = requests.patch(
    "https://api.noodlevoice.com/ns-api/v2/domains/~/callqueues/2000/agents/1001@yourfirm.noodlevoice/logout",
    headers={"Authorization": "Bearer " + os.environ["NOODLEVOICE_KEY"]},
)
print(r.status_code, r.json())

Response 202

{
  "code": 1,
  "message": "Hello from NoodleVoice"
}
Response fields (2)
FieldTypeNotes
codeintegerHTTP status code.
messagestringWhat happened, in words.

Give an agent one more call

PATCH/domains/~/callqueues/{callqueue}/agents/{callqueue-agent-id}/onecall

Lets a logged out agent take a single call from this queue, then logs them out again.

Write Key Admin switch: Call queues and agents, Write.

Parameters

NameInTypeNotes
callqueue requiredpathstringThe call queue's ID (its extension), like 2000.
callqueue-agent-id requiredpathstringThe agent's ID in the queue: their extension, an @ and your account ID, like 1001@yourfirm.noodlevoice.

Example request

curl -X PATCH "https://api.noodlevoice.com/ns-api/v2/domains/~/callqueues/2000/agents/1001@yourfirm.noodlevoice/onecall" \
  -H "Authorization: Bearer $NOODLEVOICE_KEY"
const res = await fetch("https://api.noodlevoice.com/ns-api/v2/domains/~/callqueues/2000/agents/1001@yourfirm.noodlevoice/onecall", {
  method: "PATCH",
  headers: {
    Authorization: "Bearer " + process.env.NOODLEVOICE_KEY,
  },
});
const data = await res.json();
import os, requests

r = requests.patch(
    "https://api.noodlevoice.com/ns-api/v2/domains/~/callqueues/2000/agents/1001@yourfirm.noodlevoice/onecall",
    headers={"Authorization": "Bearer " + os.environ["NOODLEVOICE_KEY"]},
)
print(r.status_code, r.json())

Response 202

{
  "code": 1,
  "message": "Hello from NoodleVoice"
}
Response fields (2)
FieldTypeNotes
codeintegerHTTP status code.
messagestringWhat happened, in words.

Delete a call queue

DELETE/domains/~/callqueues/{callqueue}

Removes a call queue. This can't be undone.

Write Key Admin switch: Call queues and agents, Write.

Parameters

NameInTypeNotes
callqueue requiredpathstringThe call queue's ID (its extension), like 2000.

Example request

curl -X DELETE "https://api.noodlevoice.com/ns-api/v2/domains/~/callqueues/2000" \
  -H "Authorization: Bearer $NOODLEVOICE_KEY"
const res = await fetch("https://api.noodlevoice.com/ns-api/v2/domains/~/callqueues/2000", {
  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/~/callqueues/2000",
    headers={"Authorization": "Bearer " + os.environ["NOODLEVOICE_KEY"]},
)
print(r.status_code, r.json())

Response 202

{
  "code": 1,
  "message": "Hello from NoodleVoice"
}
Response fields (2)
FieldTypeNotes
codeintegerHTTP status code.
messagestringWhat happened, in words.

Remove an agent from a call queue

DELETE/domains/~/callqueues/{callqueue}/agents/{callqueue-agent-id}

Removes an agent. This can't be undone.

Write Key Admin switch: Call queues and agents, Write.

Parameters

NameInTypeNotes
callqueue requiredpathstringThe call queue's ID (its extension), like 2000.
callqueue-agent-id requiredpathstringThe agent's ID in the queue: their extension, an @ and your account ID, like 1001@yourfirm.noodlevoice.

Example request

curl -X DELETE "https://api.noodlevoice.com/ns-api/v2/domains/~/callqueues/2000/agents/1001@yourfirm.noodlevoice" \
  -H "Authorization: Bearer $NOODLEVOICE_KEY"
const res = await fetch("https://api.noodlevoice.com/ns-api/v2/domains/~/callqueues/2000/agents/1001@yourfirm.noodlevoice", {
  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/~/callqueues/2000/agents/1001@yourfirm.noodlevoice",
    headers={"Authorization": "Bearer " + os.environ["NOODLEVOICE_KEY"]},
)
print(r.status_code, r.json())

Response 202

{
  "code": 1,
  "message": "Hello from NoodleVoice"
}
Response fields (2)
FieldTypeNotes
codeintegerHTTP status code.
messagestringWhat happened, in words.

List all queue agents

GET/domains/~/agents

Returns every agent across every call queue on the account, with their status.

Full access No feature switch covers this endpoint. It needs a Full access key.

Example request

curl -X GET "https://api.noodlevoice.com/ns-api/v2/domains/~/agents" \
  -H "Authorization: Bearer $NOODLEVOICE_KEY"
const res = await fetch("https://api.noodlevoice.com/ns-api/v2/domains/~/agents", {
  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/~/agents",
    headers={"Authorization": "Bearer " + os.environ["NOODLEVOICE_KEY"]},
)
print(r.status_code, r.json())

Response 200

[
  {
    "callqueue-agent-id": "string",
    "callqueue": "string",
    "domain": "string",
    "callqueue-agent-availability-type": "automatic",
    "callqueue-agent-wrap-up-allowance-seconds": 0,
    "auto-answer-enabled": "yes",
    "callqueue-agent-dispatch-order-ordinal": 1,
    "callqueue-agent-dispatch-queue-priority-ordinal": 1,
    "...": "17 more fields"
  }
]
Response fields (25)
FieldTypeNotes
callqueue-agent-idstringThe agent's ID in the queue.
callqueuestringThe call queue's ID.
domainstringThe account the item belongs to. Max length 64
callqueue-agent-availability-typestring One of: automatic, manual, disabled, offnet-automatic
callqueue-agent-wrap-up-allowance-secondsintegerCallqueue agent wrap up allowance, in seconds. Default 0
auto-answer-enabledstringTurns auto answer on or off (yes or no). One of: yes, no Default no
callqueue-agent-dispatch-order-ordinalinteger
callqueue-agent-dispatch-queue-priority-ordinalinteger
limits-max-active-calls-totalinteger
callqueue-agent-answer-confirmation-enabledstringTurns callqueue agent answer confirmation on or off (yes or no). One of: yes, no Default no
callqueue-agent-has-registered-devicesstring One of: yes, no, push-enabled, offnet
callqueue-agent-availability-for-dispatchstring
active-calls-total-currentinteger
last-modified-datetimestring (date-time)Last modified (date and time).
callqueue-agent-max-concurrent-sms-conversationsinteger
last-callqueue-dispatch-datetimestring (date-time)Last callqueue dispatch (date and time).
callqueue-agent-entry-typestring One of: device, user, offnet
login-usernamestring
name-full-namestringFull name.
agent-name-first-namestringName of the agent name first.
agent-name-last-namestringName of the agent name last.
agent-departmentstring
agent-sitestring
agent-user-scopestring
agent-status-messagestring

Send a waiting call to a destination

POST/domains/~/queuedcall/{callqueue}

Takes a call that is waiting in a queue and sends it to the destination you give.

Full access No feature switch covers this endpoint. It needs a Full access key.

Parameters

NameInTypeNotes
callqueue requiredpathstringThe call queue's ID (its extension), like 2000.

Request body application/json

FieldTypeNotes
destination requiredstringWhere to send it: a number, extension or address.

Example request

curl -X POST "https://api.noodlevoice.com/ns-api/v2/domains/~/queuedcall/2000" \
  -H "Authorization: Bearer $NOODLEVOICE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "destination": "15555550123"
  }'
const res = await fetch("https://api.noodlevoice.com/ns-api/v2/domains/~/queuedcall/2000", {
  method: "POST",
  headers: {
    Authorization: "Bearer " + process.env.NOODLEVOICE_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "destination": "15555550123"
  }),
});
const data = await res.json();
import os, requests

r = requests.post(
    "https://api.noodlevoice.com/ns-api/v2/domains/~/queuedcall/2000",
    headers={"Authorization": "Bearer " + os.environ["NOODLEVOICE_KEY"]},
    json={
        "destination": "15555550123"
    },
)
print(r.status_code, r.json())

Response 200

Returns a status code with a short JSON message.