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

https://~exotel_sid~:~exotel_token~@twilix.exotel.in/v1/Accounts/~exotel_sid~/Calls/<CallSid>


Also, If status of both the call legs are required incase of an outbound call , you will need to make a HTTP GET request to

https://~exotel_sid~:~exotel_token~@twilix.exotel.in/v1/Accounts/~exotel_sid~/Calls/<CallSid> ?details=true


where <CallSid> is the Sid of the call. 

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 a 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 an 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.


    Need a techie for this integration?
    Check our Phone a Friend App