This API allows you to get a single user details along with their associated devices.
https://<your_api_key>:<your_api_token><subdomain>/v2/accounts/<your_sid>/users/<user_id>
This API supports JSON response only.
<your_api_key>
and <your_api_token>
with the API key and token created by you.<your_sid>
with your “Account sid”<subdomain>
with the region of your account
<user_id>
with the user's unique identifier as generated during Create User or present in GET Bulk user details API.<your_api_key>
, <your_api_token>
and <your_sid>
are available in the API settings page of your Exotel Dashboard
curl --location --request GET 'https://<your_api_key>:<your_api_token><subdomain>/v2/accounts/<your_sid>/users/<user_id>' \
var request = require('request'); var options = { 'method': 'GET', 'url': 'https://<your_api_key>:<your_api_token><subdomain>/v2/accounts/<your_sid>/users/<user_id>', 'headers': { } }; request(options, function (error, response) { if (error) throw new Error(error); console.log(response.body); });
<?php $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => 'https://<your_api_key>:<your_api_token><subdomain>/v2/accounts/<your_sid>/users/<user_id>', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => array( ), )); $response = curl_exec($curl); curl_close($curl); echo $response;
import requests url = "https://<your_api_key>:<your_api_token><subdomain>/v2/accounts/<your_sid>/users/<user_id>" payload={} headers = { } response = requests.request("GET", url, headers=headers, data=payload) print(response.text)
package main import ( "fmt" "net/http" "io/ioutil" ) func main() { url := "https://<your_api_key>:<your_api_token><subdomain>/v2/accounts/<your_sid>/users/<user_id>" method := "GET" client := &http.Client { } req, err := http.NewRequest(method, url, nil) if err != nil { fmt.Println(err) return } res, err := client.Do(req) if err != nil { fmt.Println(err) return } defer res.Body.Close() body, err := ioutil.ReadAll(res.Body) if err != nil { fmt.Println(err) return } fmt.Println(string(body)) }
HTTP Response:
{ "request_id": "87146ab118a548b09d9c9504aad4dd69", "method": "GET", "http_code": 200, "response": { "code": 200, "error_data": null, "status": "success", "data": { "date_created": "2021-07-26T18:27:24+05:30", "date_updated": "2021-07-26T18:27:24+05:30", "email": "abc@xyz.com", "email_verified": false, "first_name": "Jxxxx", "id": "9f7100ea9a484b75aadefa94303f62eb", "last_name": "Ayyyy", "role": "user" } } }
Description of response parameter:
Parameter Name | Value |
request_id | This indicates the unique id of the request. Useful for debugging and tracing purpose. |
method | This indicates the HTTP method for the request such as GET/POST/PUT/DELETE etc |
http_code | This indicates the HTTP code for the request such as 200, 400, 500 etc. |
status | failed/success |
response |
Response block contains the user device record matching the request URI. The block contains
|
Description of parameters under each 'data' block of 'response' array:
Parameter Name | Description |
id | User’s unique identifier. To be used as <user-id> while performing a PUT operation on the user. |
first_name | First name of the user |
last_name | Last name of the user |
Email ID of the user | |
email_verified | Indicate if email of the user is verified or not |
role | Role of the user |
devices |
Array of devices associated with the user containing the fields as explained below. This field is only populated if |
Description of parameters under each 'devices' array:
Parameter Name | Description |
id | Unique ID of the device of the user. To be used as <device-id> while performing a PUT operation on the user. |
name | Friendly name of the device |
contact_uri |
Phone number of the device in E.164 format like +919999XXXXXX or the SIP URI of the device if it is a soft-phone like sip:arjuns2d853099. |
type |
Type of device. Possible values
|
available |
Boolean (true/false); |
verified | Boolean (true/false); Indicates if the device is verified or not on Exotel. If a user needs to verify their device, these steps can be followed. |
status |
Indicates the current device status. Possible values-
|
Possible error scenarios in case of this GET API -
HttpCode | Code | Description |
400 | 1007 |
Request format is invalid
|
401 | 1010 |
Authentication failed
|
404 | 10801 | User not found |
429 | NA |
Too many requests
|
500 | 1004 |
Internal Server Error
|
403 | 1003 |
API credentials used are unauthorized
|
403 | 10814 |
This account's KYC is incomplete. Operation not permitted
|
403 | 10815 |
This is a trial account. Operation not permitted
|
*These will be populated under the `error_data` block of response