> For the complete documentation index, see [llms.txt](https://docs.plumvoice.com/fuse/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.plumvoice.com/fuse/apis/logs/fetching-a-call-log.md).

# Get A Detailed Call Log

{% hint style="success" %}
**-** **NEW! -  Interactive API docs, now live!**

Visit [api-docs.plumvoice.com](https://api-docs.plumvoice.com) to **read** Plum API documentation, **build and test requests** in our interactive API sandbox, **review** the responses, and **share** it all with your team.
{% endhint %}

{% hint style="warning" %}
**Only for the last 5 days:**

Detailed call logs are only available for calls made within the last 5 days.
{% endhint %}

## Getting a Call Log

<mark style="color:blue;">`GET`</mark> `https://fuse.plumvoice.com/api/call/{session_id}`

Retrieve a call log for the defined call.

#### Path Parameters

| Name        | Type   | Description       |
| ----------- | ------ | ----------------- |
| session\_id | string | Session ID number |

{% tabs %}
{% tab title="200 Example: Call was queued and then canceled." %}
{% tabs %}
{% tab title="JSON" %}

```javascript
[
  {
    "event":{
      "line":"Executing application \"email test\" version \"0.2\"",
      "data":{
        "module_type":"start",
        "result_variable":"start"
      }
    },
    "class":"info",
    "timestamp":1529552692
  },
  {
    "event":{
      "line":"Sending email",
      "data":{
        "type":"static",
        "has_audio":false,
        "revision_id":"52691",
        "prompt_id_type":"module",
        "prompt_id":"845617",
        "language":"en-US",
        "module_type":"prompt",
        "result_variable":"var_0"
      }
    },
    "class":"prompt",
    "timestamp":1529552692
  },
  {
    "event":{
      "line":"Sending",
      "data":{
        "module_type":"email",
        "result_variable":"var_1"
      }
    },
    "class":"info",
    "timestamp":1529552694
  },
  {
    "event":{
      "line":"Sent",
      "data":{
        "to":"tests@plumgroup.com",
        "subject":"This is the subject",
        "body":"This is the body.",
        "module_type":"email",
        "result_variable":"var_1"
      }
    },
    "class":"debug",
    "timestamp":1529552694
  },
  {
    "event":{
      "line":"message sent! goodbye!",
      "data":{
        "type":"static",
        "has_audio":false,
        "revision_id":"52691",
        "prompt_id_type":"module",
        "prompt_id":"845618",
        "language":"en-US",
        "module_type":"prompt",
        "result_variable":"var_2"
      }
    },
    "class":"prompt",
    "timestamp":1529552694
  },
  {
    "event":{
      "line":"Exiting application",
      "data":{
        "module_type":"exit",
        "result_variable":"hangup"
      }
    },
    "class":"info",
    "timestamp":1529552696
  },
  {
    "event":{
      "line":"Disconnecting call",
      "data":{
        "module_type":"exit",
        "result_variable":"hangup"
      }
    },
    "class":"event",
    "timestamp":1529552697
  }
]
```

{% endtab %}

{% tab title="XML" %}

```markup
<?xml version="1.0"?>
<result>
  <item>
    <event>
      <line>Executing application "email test" version "0.2"</line>
      <data>
        <module_type>start</module_type>
        <result_variable>start</result_variable>
      </data>
    </event>
    <class>info</class>
    <timestamp>1529552692</timestamp>
  </item>
  <item>
    <event>
      <line>Sending email</line>
      <data>
        <type>static</type>
        <has_audio>false</has_audio>
        <revision_id>52691</revision_id>
        <prompt_id_type>module</prompt_id_type>
        <prompt_id>845617</prompt_id>
        <language>en-US</language>
        <module_type>prompt</module_type>
        <result_variable>var_0</result_variable>
      </data>
    </event>
    <class>prompt</class>
    <timestamp>1529552692</timestamp>
  </item>
  <item>
    <event>
      <line>Sending</line>
      <data>
        <module_type>email</module_type>
        <result_variable>var_1</result_variable>
      </data>
    </event>
    <class>info</class>
    <timestamp>1529552694</timestamp>
  </item>
  <item>
    <event>
      <line>Sent</line>
      <data>
        <to>test@plumgroup.com</to>
        <subject>This is the subject</subject>
        <body>This is the body.</body>
        <module_type>email</module_type>
        <result_variable>var_1</result_variable>
      </data>
    </event>
    <class>debug</class>
    <timestamp>1529552694</timestamp>
  </item>
  <item>
    <event>
      <line>message sent! goodbye!</line>
      <data>
        <type>static</type>
        <has_audio>false</has_audio>
        <revision_id>52691</revision_id>
        <prompt_id_type>module</prompt_id_type>
        <prompt_id>845618</prompt_id>
        <language>en-US</language>
        <module_type>prompt</module_type>
        <result_variable>var_2</result_variable>
      </data>
    </event>
    <class>prompt</class>
    <timestamp>1529552694</timestamp>
  </item>
  <item>
    <event>
      <line>Exiting application</line>
      <data>
        <module_type>exit</module_type>
        <result_variable>hangup</result_variable>
      </data>
    </event>
    <class>info</class>
    <timestamp>1529552696</timestamp>
  </item>
  <item>
    <event>
      <line>Disconnecting call</line>
      <data>
        <module_type>exit</module_type>
        <result_variable>hangup</result_variable>
      </data>
    </event>
    <class>event</class>
    <timestamp>1529552697</timestamp>
  </item>
</result>
```

{% endtab %}
{% endtabs %}
{% endtab %}

{% tab title="404 Example: Session ID not found" %}
{% tabs %}
{% tab title="JSON" %}

```javascript
{"error": "No call log was found."}
```

{% endtab %}

{% tab title="XML" %}

```markup
<?xml version="1.0"?>
<result>
  <error>No call log was found.</error>
</result>
```

{% endtab %}
{% endtabs %}
{% endtab %}
{% endtabs %}

### **Possible Response Codes**

* **200**: success
* **401**: authentication headers invalid or the account is inactive
* **404**: call log not found
* **405**: invalid HTTP method supplied (only GET allowed)
* **500**: database error

### Response Data Definitions

The return structure contains an array of log entries

#### Single Call Log Entry

| Name      | Data Type | Value                                                           |
| --------- | --------- | --------------------------------------------------------------- |
| event     | object    | The details for this entry.                                     |
| class     | string    | The class for this entry (info, event, debug, prompt or error). |
| timestamp | int       | UNIX timestamp for this entry.                                  |

#### Single Call Event

| Name | Data Type | Value                               |
| ---- | --------- | ----------------------------------- |
| line | string    | The log event string                |
| data | object    | Additional details about this event |

Call log data structure consistency is not guaranteed and can change at any time. Currently, there are two values that will always appear in the event data: module\_type and result\_variable. All other values are subject to developer discovery and could change at any time:

| Name             | Data Type | Value                                                                                            |
| ---------------- | --------- | ------------------------------------------------------------------------------------------------ |
| module\_type     | string    | The type name for the module that was executed, this will determine the other values in the data |
| result\_variable | string    | The variable name provided for this module in the callflow editor                                |

\
\
The following will be returned if the call was made more than 5 days ago

```javascript
{
    "error": "There are no call log details available for this call."
}
```

**Sample Code**

This sample PHP code makes a request to this method:

```php
<?php
// account and application settings
$email = '<your_email_address>';
$developer_key = '<your_developer_key>';
$session_id = '300060;001;1529552581'; // returned by a previous call to https://fuse.plumvoice.com/api/calls

// build the URL
$url = 'https://fuse.plumvoice.com/api/call/'.urlencode($session_id);

$ch = curl_init();
curl_setopt($ch, CURLOPT_USERPWD, $email.':'.$developer_key);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Accept: application/json"));
$result = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
var_dump($result);
var_dump($http_code);
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.plumvoice.com/fuse/apis/logs/fetching-a-call-log.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
