API Reference
Key Admin
Numbers and call routing

Conference bridges

Conference bridges are dial-in meeting rooms. You can manage bridges, see who is in a call and pull a bridge's call history.

In the Key Admin this is the Conference bridges switch. Read lets a key call the GET endpoints below. Write lets it call the ones that change data.

List conference bridges

GET/domains/~/conferences

Returns the conference bridges on the account.

Read Key Admin switch: Conference bridges, Read. Read only keys also work.

Example request

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

Response 200

[
  {
    "aor": "string",
    "owner_domain": "string",
    "owner": "string",
    "owner_uid": "string",
    "leader_pin": "string",
    "speaker_pin": "string",
    "participants_pin": "string",
    "num_participants": "string",
    "...": "24 more fields"
  }
]
Response fields (32)
FieldTypeNotes
aorstring
owner_domainstring
ownerstring
owner_uidstring
leader_pinstring
speaker_pinstring
participants_pinstring
num_participantsstring
max_participantsstring
time_beginstring
time_endstring
gmt_offsetstring
activatestring
audio_dirstring
annc_joinstring
annc_departstring
dial_planstring
namestring
save_participantsstring
request_namestring
lock_partstring
annc_partstring
mutestring
trigger_bystring
leader_requiredstring
quorumstring
SipSipProxystring
SipSipAuthUserstring
SipSipAuthKeystring
RegRequiredstring
promptAudioIdstring
confOptionsstring

Count conference bridges

GET/domains/~/conferences/count

Returns how many conference bridges there are on the account, as {"total": n}.

Read Key Admin switch: Conference bridges, Read. Read only keys also work.

Example request

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

GET/domains/~/conferences/{conference}

Returns one conference bridge by its ID.

Read Key Admin switch: Conference bridges, Read. Read only keys also work.

Parameters

NameInTypeNotes
conference requiredpathstringThe conference bridge ID.

Example request

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

Response 200

[
  {
    "aor": "string",
    "owner_domain": "string",
    "owner": "string",
    "owner_uid": "string",
    "leader_pin": "string",
    "speaker_pin": "string",
    "participants_pin": "string",
    "num_participants": "string",
    "...": "24 more fields"
  }
]
Response fields (32)
FieldTypeNotes
aorstring
owner_domainstring
ownerstring
owner_uidstring
leader_pinstring
speaker_pinstring
participants_pinstring
num_participantsstring
max_participantsstring
time_beginstring
time_endstring
gmt_offsetstring
activatestring
audio_dirstring
annc_joinstring
annc_departstring
dial_planstring
namestring
save_participantsstring
request_namestring
lock_partstring
annc_partstring
mutestring
trigger_bystring
leader_requiredstring
quorumstring
SipSipProxystring
SipSipAuthUserstring
SipSipAuthKeystring
RegRequiredstring
promptAudioIdstring
confOptionsstring

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

Get a conference's call history

GET/domains/~/conferences/{conference}/cdr

Returns the call records for one conference bridge.

Read Key Admin switch: Conference bridges, Read. Read only keys also work.

Parameters

NameInTypeNotes
conference requiredpathstringThe conference bridge ID.
fromquerystringStart of the range.
toquerystringEnd of the range.
include_participantsquerystringSet to yes to include the people in each meeting.

Example request

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

Response 200

{
  "cdr_conference": [
    {}
  ]
}
Response fields (26)
FieldTypeNotes
cdr_conferencearray of object
cdr_conference[].domainstringThe account the item belongs to.
cdr_conference[].conferencestring
cdr_conference[].conf_namestring
cdr_conference[].conf_idstring
cdr_conference[].time_beginstring
cdr_conference[].time_endstring
cdr_conference[].durationstring
cdr_conference[].participant_countinteger
cdr_conference[].participantsarray of objectThe people in it, as a list of numbers or user IDs.
cdr_conference[].participants[].domainstringThe account the item belongs to.
cdr_conference[].participants[].conferencestring
cdr_conference[].participants[].conf_idstring
cdr_conference[].participants[].participantstring
cdr_conference[].participants[].namestring
cdr_conference[].participants[].userstringThe user ID (extension).
cdr_conference[].participants[].hoststring
cdr_conference[].participants[].contactstring
cdr_conference[].participants[].call_idstring
cdr_conference[].participants[].received_fromstring
cdr_conference[].participants[].rolestring
cdr_conference[].participants[].directionstring
cdr_conference[].participants[].time_beginstring
cdr_conference[].participants[].time_endstring
cdr_conference[].participants[].durationstring
cdr_conference[].url_session_reportstring

List participants in a conference bridge

GET/domains/~/conferences/{conference}/participants

Returns the participants in one conference bridge.

Read Key Admin switch: Conference bridges, Read. Read only keys also work.

Parameters

NameInTypeNotes
conference requiredpathstringThe conference bridge ID.

Example request

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

Response 200

[
  {
    "participant_match": "string",
    "conference_match": "string",
    "name": "Front Desk",
    "aor_user": "string",
    "aor_host": "string",
    "contact": "string",
    "received_from": "string",
    "user_agent": "string",
    "...": "16 more fields"
  }
]
Response fields (24)
FieldTypeNotes
participant_matchstring
conference_matchstring
namestring
aor_userstring
aor_hoststring
contactstring
received_fromstring
user_agentstring
hostnamestring
pinstring
time_beginstring
leaderstring
auto_ansstring
auto_constring
auto_dscstring
rcv_onlystring
keepstring
modestring
ratestring
gain_txstring
gain_rxstring
audioIdstring
mediastring
tsstring

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

Create a conference bridge

POST/domains/~/conferences

Adds a new conference bridge on the account.

Write Key Admin switch: Conference bridges, Write.

Example request

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

r = requests.post(
    "https://api.noodlevoice.com/ns-api/v2/domains/~/conferences",
    headers={"Authorization": "Bearer " + os.environ["NOODLEVOICE_KEY"]},
    json=[
        {
            "aor": "string",
            "owner_domain": "string",
            "owner": "string"
        }
    ],
)
print(r.status_code, r.json())

Response 202

Returns a status code with a short JSON message.

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

Add a participant to a conference

POST/domains/~/conferences/{conference}/participants

Invites or dials a participant into a conference bridge.

Write Key Admin switch: Conference bridges, Write.

Parameters

NameInTypeNotes
conference requiredpathstringThe conference bridge ID.

Example request

curl -X POST "https://api.noodlevoice.com/ns-api/v2/domains/~/conferences/3000/participants" \
  -H "Authorization: Bearer $NOODLEVOICE_KEY"
const res = await fetch("https://api.noodlevoice.com/ns-api/v2/domains/~/conferences/3000/participants", {
  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/~/conferences/3000/participants",
    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.

Update a conference bridge

PUT/domains/~/conferences/{conference}

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

Write Key Admin switch: Conference bridges, Write.

Parameters

NameInTypeNotes
conference requiredpathstringThe conference bridge ID.

Example request

curl -X PUT "https://api.noodlevoice.com/ns-api/v2/domains/~/conferences/3000" \
  -H "Authorization: Bearer $NOODLEVOICE_KEY" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "aor": "string",
      "owner_domain": "string",
      "owner": "string"
    }
  ]'
const res = await fetch("https://api.noodlevoice.com/ns-api/v2/domains/~/conferences/3000", {
  method: "PUT",
  headers: {
    Authorization: "Bearer " + process.env.NOODLEVOICE_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify([
    {
      "aor": "string",
      "owner_domain": "string",
      "owner": "string"
    }
  ]),
});
const data = await res.json();
import os, requests

r = requests.put(
    "https://api.noodlevoice.com/ns-api/v2/domains/~/conferences/3000",
    headers={"Authorization": "Bearer " + os.environ["NOODLEVOICE_KEY"]},
    json=[
        {
            "aor": "string",
            "owner_domain": "string",
            "owner": "string"
        }
    ],
)
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 a participant

PUT/domains/~/conferences/{conference}/participants/{participant}

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

Write Key Admin switch: Conference bridges, Write.

Parameters

NameInTypeNotes
conference requiredpathstringThe conference bridge ID.
participant requiredpathstringThe conference participant ID.

Example request

curl -X PUT "https://api.noodlevoice.com/ns-api/v2/domains/~/conferences/3000/participants/{participant_id}" \
  -H "Authorization: Bearer $NOODLEVOICE_KEY"
const res = await fetch("https://api.noodlevoice.com/ns-api/v2/domains/~/conferences/3000/participants/{participant_id}", {
  method: "PUT",
  headers: {
    Authorization: "Bearer " + process.env.NOODLEVOICE_KEY,
  },
});
const data = await res.json();
import os, requests

r = requests.put(
    "https://api.noodlevoice.com/ns-api/v2/domains/~/conferences/3000/participants/{participant_id}",
    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 conference bridge

DELETE/domains/~/conferences/{conference}

Removes a conference bridge. This can't be undone.

Write Key Admin switch: Conference bridges, Write.

Parameters

NameInTypeNotes
conference requiredpathstringThe conference bridge ID.

Example request

curl -X DELETE "https://api.noodlevoice.com/ns-api/v2/domains/~/conferences/3000" \
  -H "Authorization: Bearer $NOODLEVOICE_KEY"
const res = await fetch("https://api.noodlevoice.com/ns-api/v2/domains/~/conferences/3000", {
  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/~/conferences/3000",
    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 a participant from a conference

DELETE/domains/~/conferences/{conference}/participants/{participant}

Removes a participant. This can't be undone.

Write Key Admin switch: Conference bridges, Write.

Parameters

NameInTypeNotes
conference requiredpathnumberThe conference bridge ID.
participant requiredpathnumberThe conference participant ID.

Example request

curl -X DELETE "https://api.noodlevoice.com/ns-api/v2/domains/~/conferences/3000/participants/{participant_id}" \
  -H "Authorization: Bearer $NOODLEVOICE_KEY"
const res = await fetch("https://api.noodlevoice.com/ns-api/v2/domains/~/conferences/3000/participants/{participant_id}", {
  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/~/conferences/3000/participants/{participant_id}",
    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.