Directories API
Directories enable callers to use a directory to search for a user or device by name, instead of by extension or direct dial number. They can enter digits (DTMF) that represent the first or last name of the person they are trying to reach and then route their call accordingly. Use the Directories API to manage directories on the account.
API calls
Click on each call to view the endpoint, method, and request example.
Parameters
The table shows the possible parameters available for directories requests.
Key | Description | Type | Options/Min/Max/Default |
---|---|---|---|
name |
Required. The name of the directory | string | (1..) |
confirm_match |
When one match is found, require caller to confirm the match before connecting. | boolean | The default is true . |
flags.[] |
Specific flags. | string | |
flags |
Flags set by external applications. | array | |
max_dtmf |
Caps the number of DTMF characters collected from a caller. | integer | The default is 0 for unlimited characters. |
min_dtmf |
Specficies many DTMF characters to collect from a caller as least before processing the directory. | integer | |
sort_by |
Specifies which field to sort on in matching documents when a caller enters characters. | string | first_name , last_name The default is last_name . |
users.[] |
Specific users. | string | |
users |
The list of users associated with this directory. | array |
Get directories
Returns a list of directories in the account.
Method and endpoint
GET /v2/accounts/{ACCOUNT_ID}/directories
Request
curl -v -X GET \
-H "X-Auth-Token: {AUTH_TOKEN}" \
http://{SERVER}:8000/v2/accounts/{ACCOUNT_ID}/directories
Response
{
"auth_token": "{AUTH_TOKEN}",
"data": [
{
"id": "77dfb38ff2353624e35bf4df91acda94",
"name": "SmartPBX Directory"
}
],
"page_size": 1,
"request_id": "{REQUEST_ID}",
"revision": "{REVISION}",
"status": "success"
}
Remove a directory
Removes a directory from the account.
Method and endpoint
DELETE /v2/accounts/{ACCOUNT_ID}/directories/{DIRECTORY_ID}
Request
curl -v -X DELETE \
-H "X-Auth-Token: {AUTH_TOKEN}" \
http://{SERVER}:8000/v2/accounts/{ACCOUNT_ID}/directories/{DIRECTORY_ID}
Get a directory
Returns a specific directory.
Method and endpoint
GET /v2/accounts/{ACCOUNT_ID}/directories/{DIRECTORY_ID}
Request
curl -v -X GET \
-H "X-Auth-Token: {AUTH_TOKEN}" \
http://{SERVER}:8000/v2/accounts/{ACCOUNT_ID}/directories/77dfb38ff2353624e35bf4df91acda94
Response
{
"auth_token": "{AUTH_TOKEN}",
"data": {
"confirm_match": false,
"id": "77dfb38ff2353624e35bf4df91acda94",
"max_dtmf": 0,
"min_dtmf": 3,
"name": "SmartPBX Directory",
"sort_by": "last_name",
"ui_metadata": {
"origin": "voip",
"ui": "monster-ui",
"version": "3.23"
},
"users": []
},
"request_id": "{REQUEST_ID}",
"revision": "{REVISION}",
"status": "success"
}
Get directory as PDF
Streams back the directory as a PDF document for download (such as a company directory, a sales department directory, and so on).
Request
curl -v -X GET \
-H "X-Auth-Token: {AUTH_TOKEN}" \
-H "Accept: application/pdf"
http://{SERVER}:8000/v2/accounts/{ACCOUNT_ID}/directories/{DIRECTORY_ID}
Note
If your client does not support setting the Accept header, you can append ?accept=pdf
to the URI and the API pretends that you sent the proper Accept header.