List Calls
Gets a list of active and historic calls you made or received. Since this operation uses HTTP GET, all the properties are specified as HTTP request parameters.
Request URL
GET
https://api.catapult.inetwork.com/v1/users/{userId}/calls/
Supported Parameters
Parameter | Description | Mandatory |
---|---|---|
bridgeId | The id of the bridge for querying a list of calls history (pagination do not apply). | No |
conferenceId | The id of the conference for querying a list of calls history (pagination do not apply). | No |
from | The number to filter calls that came from (must be either an E.164 formatted number, like +19195551212, or a valid SIP URI, like sip:someone@somewhere.com). | No |
to | The number to filter calls that was called to (must be either an E.164 formatted number, like +19195551212, or a valid SIP URI, like sip:someone@somewhere.com). | No |
page | Used for pagination to indicate the page requested for querying a list of calls. If no value is specified the default is 0. | No |
size | Used for pagination to indicate the size of each page requested for querying a list of calls. If no value is specified the default value is 25 (maximum value 1000). | No |
sortOrder | How to sort the calls by startTime. Values are asc or desc If no value is specified the default value is desc |
No |
Properties
Property | Description |
---|---|
id | The unique ID of the call. |
direction | Call direction: values are in for an incoming call, out for an outgoing call |
from | The phone number or SIP address that made the call. Phone numbers are in E.164 format (e.g. +15555555555) -or- SIP addresses (e.g. identify@domain.com). |
to | The phone number or SIP address that received the call. Phone numbers are in E.164 format (e.g. +15555555555) -or- SIP addresses (e.g. identify@domain.com). |
state | The call state. Described below, values are: - started - rejected - active - completed - transferring Take note that an outgoing call from Bandwidth will not be set to `rejected' if the call is sent to voicemail. |
startTime | Date when the call was created. Timestamp follows the ISO8601 format. |
activeTime | Date when the call was answered. Timestamp follows the ISO8601 format. |
endTime | Date when the call ended. Timestamp follows the ISO8601 format. |
callbackUrl | The server URL where the call events related to the call will be sent. |
callbackHttpMethod | Determine if the HTTP callback event should be sent via GET or POST. Default is POST . |
callbackTimeout | Determine how long should the platform wait for callbackUrl's response before timing out (milliseconds). |
fallbackUrl | The server URL used to send the call events if the request to callbackUrl fails. |
bridgeId | The id of the bridge for the call |
conferenceId | The id of the conference for the call |
chargeableDuration | The number of seconds the call will be billed for. |
recordingEnabled | Indicates if the call was recorded. true if enabled. false (Default) if disabled |
recordingFileFormat | The file format of the recorded call. Supported values are wav (default) and mp3 . |
transcriptionEnabled | Whether all the recordings for this call was automatically transcribed. |
sipHeaders | Map of Sip headers prefixed by "X-". Up to 5 headers can be sent per call. Max length for header and value is 256 characters. Only Returned if Exist |
Example 1 of 2: List your calls
curl -v -X GET https://api.catapult.inetwork.com/v1/users/{user-id}/calls/ -u {token}:{secret} -H "Content-type: application/json"
client.Call.list()
.then(function (response) {
console.log(response);
});
var calls = client.Call.List();
var firstCall = calls.First();
Console.WriteLine($"{firstCall.From} - {firstCall.To}");
// +1234567890 - +1234567891
calls = Call.list(client)
first_call = calls.next
first_call_to = first_call[:to]
The above command returns JSON structured like this:
[
{
"id": "{callId1}",
"direction": "out",
"from": "{fromNumber}",
"to": "{number}",
"recordingEnabled": false,
"callbackUrl": "",
"state": "completed",
"startTime": "2013-02-08T13:15:47.587Z",
"activeTime": "2013-02-08T13:15:52.347Z",
"endTime": "2013-02-08T13:15:55.887Z",
"chargeableDuration": 60,
"events": "https://.../calls/{callId1}/events",
"sipHeaders" : {
"X-Header-1" : "value-1",
"X-Header-2" : "value2"
}
},
{
"id": "{callId2}",
"direction": "out",
"from": "{number}",
"to": "{toNumber}",
"recordingEnabled": false,
"callbackUrl": "",
"state": "active",
"startTime": "2013-02-08T13:15:47.587Z",
"activeTime": "2013-02-08T13:15:52.347Z",
"events": "https://.../calls/{callId2}/events"
}
]
Example 2 of 2: List your calls by from number {fromNumber}
curl -v -X GET https://api.catapult.inetwork.com/v1/users/{user-id}/calls?from=%2b19195551212 -u {token}:{secret} -H "Content-type: application/json"
client.Call.list({
from: "+19195551212"
})
.then(function (response) {
console.log(response);
});
var calls = client.Call.List(new CallQuery{From = "+19195551212"});
var firstCall = calls.First();
Console.WriteLine($"{firstCall.From} - {firstCall.To}");
// +19195551212 - +1234567891
calls = Call.list(client, {:from => "+19195551212"})
The above command returns JSON structured like this:
[
{
"id": "{callId1}",
"direction": "out",
"from": "{fromNumber}",
"to": "{toNumber1}",
"recordingEnabled": false,
"callbackUrl": "",
"state": "completed",
"startTime": "2013-02-08T13:15:47.587Z",
"activeTime": "2013-02-08T13:15:52.347Z",
"endTime": "2013-02-08T13:15:55.887Z",
"chargeableDuration": 60,
"events": "https://.../calls/{callId1}/events"
},
{
"id": "{callId2}",
"direction": "out",
"from": "{fromNumber}",
"to": "{toNumber2}",
"recordingEnabled": false,
"callbackUrl": "",
"state": "active",
"startTime": "2013-02-08T13:15:47.587Z",
"activeTime": "2013-02-08T13:15:52.347Z",
"events": "https://.../calls/{callId2}/events"
}
]