To get details of a call (including Status, Price, etc.), you will need to make an HTTP GET request to


https://<your_api_key>:<your_api_token>@<subdomain>/v1/Accounts/~exotel_sid~/Calls/<CallSid>


Replace <your_api_key> and <your_api_token> with the API key and token created by you.

Replace <your_sid> with your “Account sid”

Replace <subdomain> with the region of your account

<subdomain> of Singapore cluster is @api.exotel.com

<subdomain> of Mumbai cluster is @api.in.exotel.com

<your_api_key> , <your_api_token> and <your_sid> are available in the API settings page of your Exotel Dashboard



In case of an outbound call originated via the Call APIs (here  or here), the "Sid" parameter is as returned in the XML response to your request.

In case of inbound calls, you can get the CallSid by using the Passthru applet


HTTP Response:

On success, this API will return an HTTP status code of 200 and the response body will contain an XML (like below) that contains the details of the call.

On failure, the HTTP status code will be a non-200 code which indicates the reason (as discussed here ).


IMPORTANT NOTE: Some of the parameters of the call (like Duration, Price, EndTime etc.) are updated asynchronously after the call ends. So it might take some time after the call ends (~ 5 mins on average) for these parameters to be populated correctly. 


Response Body on Success:

<?xml version="1.0" encoding="UTF-8"?>
<TwilioResponse>
 <Call>
  <Sid>xxxxxxxxxxxxxxxxxxxx</Sid>
  <ParentCallSid/>
  <DateCreated>2012-08-17 12:31:49</DateCreated>
  <DateUpdated>2012-08-17 12:31:49</DateUpdated>
  <AccountSid>xxxxxxxxx</AccountSid>
  <To>09052161119</To>
  <From>09739761117</From>
  <PhoneNumberSid>xxxxxxx</PhoneNumberSid>
  <Status>completed</Status>
  <StartTime>2012-08-17 12:31:49</StartTime>
  <EndTime>2012-08-17 12:32:57</EndTime>
  <Duration>123</Duration>
  <Price>2.3</Price>
  <Direction>outbound-api</Direction>
  <AnsweredBy/>
  <ForwardedFrom/>
  <CallerName/>
  <RecordingUrl/>
  <Uri>/v1/Accounts/xxxxxxxx/Calls/xxxxxxxxxxxxxx</Uri>
 </Call>
</TwilioResponse>

The "Status" parameter can take one of the following values: 

- queued

- in-progress

- completed

- failed

- busy

- no-answer


Response Body on failure:
<?xml version="1.0" encoding="UTF-8"?>
<TwilioResponse>
 <RestException>
  <Status>xxx</Status>
  <Message>xxxxxxxxxxxxxxxxxxxx</Message>
 </RestException>
</TwilioResponse>


Rate Limit:

This API is rate-limited to 200 queries per minute. Once this limit has been crossed, your requests will be rejected with an HTTP 429 'Too Many Requests' code.


A detailed Explanation about using the call detail API can be understood from our developer portal.