> ## Documentation Index
> Fetch the complete documentation index at: https://docs.intellixent.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# List calls

> Retrieve a paginated list of calls with filtering options.

Returns a paginated list of all calls belonging to the authenticated user. Use filters to narrow results by status, type, date range, assistant, or campaign.

## Endpoint

`GET /user/calls`

## Query parameters

<ParamField query="status" type="string">
  Filter by call status. Possible values: `initiated`, `ringing`, `busy`, `in-progress`, `ended`, `completed`, `ended_by_customer`, `ended_by_assistant`, `no-answer`, `failed`.
</ParamField>

<ParamField query="type" type="string">
  Filter by call type: `inbound`, `outbound`, or `web`.
</ParamField>

<ParamField query="phone_number" type="string">
  Filter by client phone number.
</ParamField>

<ParamField query="assistant_id" type="integer">
  Filter by assistant ID.
</ParamField>

<ParamField query="campaign_id" type="integer">
  Filter by campaign ID.
</ParamField>

<ParamField query="date_from" type="string">
  Filter calls from this date. Format: `YYYY-MM-DD`.
</ParamField>

<ParamField query="date_to" type="string">
  Filter calls up to this date. Format: `YYYY-MM-DD`.
</ParamField>

<ParamField query="per_page" type="integer">
  Number of calls per page. Range: 1–100. Default: `15`.
</ParamField>

<ParamField query="page" type="integer">
  Page number. Default: `1`.
</ParamField>

## Response

<ResponseField name="data" type="array">
  Array of call objects.

  <Expandable title="Call properties">
    <ResponseField name="id" type="integer">Unique identifier of the call.</ResponseField>
    <ResponseField name="assistant_name" type="string">Name of the assistant that handled the call.</ResponseField>
    <ResponseField name="campaign_name" type="string">Name of the campaign the call belongs to, if applicable.</ResponseField>
    <ResponseField name="type" type="string">Call type: `inbound`, `outbound`, or `web`.</ResponseField>
    <ResponseField name="duration" type="integer">Call duration in seconds.</ResponseField>
    <ResponseField name="assistant_phone_number" type="string">Phone number used by the assistant.</ResponseField>
    <ResponseField name="client_phone_number" type="string">Phone number of the client.</ResponseField>
    <ResponseField name="status" type="string">Final status of the call.</ResponseField>
    <ResponseField name="transcript" type="string">Full transcript of the conversation.</ResponseField>
    <ResponseField name="variables" type="object">Variables collected during the call.</ResponseField>
    <ResponseField name="evaluation" type="object">Post-call evaluation data.</ResponseField>
    <ResponseField name="webhook_response" type="object">Response from configured webhooks.</ResponseField>
    <ResponseField name="carrier_cost" type="number">Carrier cost for the call in USD.</ResponseField>
    <ResponseField name="total_cost" type="number">Total cost of the call in USD.</ResponseField>
    <ResponseField name="answered_by" type="string">Who answered: `human`, `machine`, or `unknown`.</ResponseField>
    <ResponseField name="recording_url" type="string">URL to the call recording, if enabled.</ResponseField>
    <ResponseField name="created_at" type="string">Timestamp when the call was created.</ResponseField>
    <ResponseField name="updated_at" type="string">Timestamp when the call was last updated.</ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="current_page" type="integer">Current page number.</ResponseField>
<ResponseField name="per_page" type="integer">Number of items per page.</ResponseField>
<ResponseField name="total" type="integer">Total number of calls matching the filters.</ResponseField>
<ResponseField name="last_page" type="integer">Last page number.</ResponseField>

## Example

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET "https://portal.intellixent.ai/api/user/calls?status=completed&per_page=15&page=1" \
    -H "Authorization: Bearer YOUR_API_KEY"
  ```

  ```javascript Node.js theme={null}
  const params = new URLSearchParams({ status: 'completed', per_page: 15, page: 1 });
  const response = await fetch(
    `https://portal.intellixent.ai/api/user/calls?${params}`,
    {
      headers: { 'Authorization': 'Bearer YOUR_API_KEY' }
    }
  );

  const data = await response.json();
  console.log(data.data); // Array of calls
  ```
</CodeGroup>

```json 200 Response theme={null}
{
  "current_page": 1,
  "data": [
    {
      "id": 123,
      "assistant_name": "Sales Assistant",
      "campaign_name": "Q4 Outreach Campaign",
      "type": "outbound",
      "duration": 245,
      "assistant_phone_number": "+1234567890",
      "client_phone_number": "+1987654321",
      "status": "completed",
      "transcript": "Hello, this is Sarah from Intellixent...",
      "variables": {
        "customer_name": "John Smith",
        "interest_level": "high"
      },
      "evaluation": {
        "sentiment": "positive",
        "outcome": "qualified_lead",
        "score": 8.5
      },
      "carrier_cost": 0.02,
      "total_cost": 0.025,
      "answered_by": "human",
      "recording_url": "https://portal.intellixent.ai/recordings/calls/123.mp3",
      "created_at": "2025-08-04 14:30:00",
      "updated_at": "2025-08-04 14:34:05"
    }
  ],
  "per_page": 15,
  "total": 150,
  "last_page": 10
}
```
