> For the complete documentation index, see [llms.txt](https://docs.plumvoice.com/voicetrends/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/voicetrends/voicetrends-api/diagnostic-flow.md).

# Diagnostic Flow

{% 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 %}

## Diagnostic Flow Data

<mark style="color:blue;">`GET`</mark> `https://voicetrends.plumvoice.com/api/path/{start}/{end}/{phone}`

This service fetches any of the available data in the Diagnostic Flow section in VoiceTrends. To use this service, provide your temporary authentication credentials and several GET parameters, which function as filters for this data. This API is rate-limited in a group with all other raw data resources to 150 requests per 15-minute window.

#### Path Parameters

| Name  | Type    | Description                                                                        |
| ----- | ------- | ---------------------------------------------------------------------------------- |
| start | integer | The start date (inclusive) for this request in YYYYMMDD format.                    |
| end   | integer | The end date (inclusive) for this request in YYYYMMDD format.                      |
| phone | string  | The single phone number for this report or “ALL” to merge data across all numbers. |

{% tabs %}
{% tab title="200 " %}
{% tabs %}
{% tab title="JSON" %}

```javascript
HTTP/1.1 200 OK
X-RateLimit-Limit: 150
X-RateLimit-Remaining: 148
X-RateLimit-Reset: 1519664400
Content-Length: 1908
Content-Type: application/json

{
  "applications":{
    "https:\/\/demos.plumgroup.com\/vxml\/start.php":[
      {
        "page":"main.php",
        "form":"main_menu",
        "item":"selection",
        "visits":985,
        "filled":941,
        "nomatch":32,
        "noinput":12,
        "transfer":0,
        "disconnect":0
      },
      {
        "page":"sales.php",
        "form":"product_menu",
        "item":"selection",
        "visits":462,
        "filled":425,
        "nomatch":20,
        "noinput":4,
        "transfer":0,
        "disconnect":13
      },
      {
        "page":"customer.php",
        "form":"enter_customer_number",
        "item":"customer_number",
        "visits":523,
        "filled":488,
        "nomatch":12,
        "noinput":8,
        "transfer":0,
        "disconnect":15
      },
      {
        "page":"customer.php",
        "form":"confirm_customer_number",
        "item":"confirmation",
        "visits":508,
        "filled":481,
        "nomatch":9,
        "noinput":4,
        "transfer":0,
        "disconnect":14
      },
      {
        "page":"support.php",
        "form":"select_division",
        "item":"selection",
        "visits":316,
        "filled":292,
        "nomatch":6,
        "noinput":3,
        "transfer":0,
        "disconnect":15
      },
      {
        "page":"helpdesk.php",
        "form":"helpdesk_transfer",
        "item":"transfer",
        "visits":134,
        "filled":56,
        "nomatch":0,
        "noinput":0,
        "transfer":56,
        "disconnect":134
      },
      {
        "page":"tier_one.php",
        "form":"tier_one_transfer",
        "item":"transfer",
        "visits":89,
        "filled":44,
        "nomatch":0,
        "noinput":0,
        "transfer":44,
        "disconnect":89
      },
      {
        "page":"tier_three.php",
        "form":"tier_three_transfer",
        "item":"transfer",
        "visits":78,
        "filled":32,
        "nomatch":0,
        "noinput":0,
        "transfer":32,
        "disconnect":78
      },
      {
        "page":"sales.php",
        "form":"insight",
        "item":"insight_transfer",
        "visits":87,
        "filled":23,
        "nomatch":0,
        "noinput":0,
        "transfer":23,
        "disconnect":87
      },
      {
        "page":"sales.php",
        "form":"fuse",
        "item":"fuse_transfer",
        "visits":50,
        "filled":13,
        "nomatch":0,
        "noinput":0,
        "transfer":13,
        "disconnect":50
      },
      {
        "page":"sales.php",
        "form":"dev",
        "item":"dev_transfer",
        "visits":312,
        "filled":8,
        "nomatch":0,
        "noinput":0,
        "transfer":8,
        "disconnect":312
      },
      {
        "page":"billing.php",
        "form":"billing_menu",
        "item":"selection",
        "visits":178,
        "filled":151,
        "nomatch":0,
        "noinput":20,
        "transfer":0,
        "disconnect":7
      },
      {
        "page":"billing.php",
        "form":"make_payment",
        "item":"enter_bank_number",
        "visits":87,
        "filled":64,
        "nomatch":9,
        "noinput":5,
        "transfer":0,
        "disconnect":9
      },
      {
        "page":"billing.php",
        "form":"billing_inquiry",
        "item":"selection",
        "visits":84,
        "filled":57,
        "nomatch":14,
        "noinput":9,
        "transfer":0,
        "disconnect":4
      },
      {
        "page":"billing.php",
        "form":"payment",
        "item":"payment_transfer",
        "visits":12,
        "filled":12,
        "nomatch":0,
        "noinput":0,
        "transfer":12,
        "disconnect":12
      },
      {
        "page":"billing.php",
        "form":"make_payment",
        "item":"enter_billing_address",
        "visits":78,
        "filled":63,
        "nomatch":8,
        "noinput":4,
        "transfer":0,
        "disconnect":3
      },
      {
        "page":"billing.php",
        "form":"make_payment",
        "item":"enter_payment_amount",
        "visits":75,
        "filled":58,
        "nomatch":6,
        "noinput":3,
        "transfer":0,
        "disconnect":8
      },
      {
        "page":"billing.php",
        "form":"payment_success",
        "item":"thank_you",
        "visits":55,
        "filled":55,
        "nomatch":0,
        "noinput":0,
        "transfer":0,
        "disconnect":55
      },
      {
        "page":"billing.php",
        "form":"billing_inquiry",
        "item":"billing_transfer",
        "visits":80,
        "filled":12,
        "nomatch":0,
        "noinput":0,
        "transfer":12,
        "disconnect":80
      }
    ]
  }
}
```

{% endtab %}

{% tab title="XML" %}

```markup
HTTP/1.1 200 OK
X-RateLimit-Limit: 150
X-RateLimit-Remaining: 149
X-RateLimit-Reset: 1519664400
Content-Length: 2719
Content-Type: application/xml

<?xml version="1.0"?>
<result>
  <applications>
    <application>
      <url>http://survey.plumvoice.com/vxml/start.php?s=3469&amp;i=43218048</url>
      <rows>
        <row>
          <page>main.php</page>
          <form>main_menu</form>
          <item>selection</item>
          <visits>985</visits>
          <filled>941</filled>
          <nomatch>32</nomatch>
          <noinput>12</noinput>
          <transfer>0</transfer>
          <disconnect>0</disconnect>
        </row>
        <row>
          <page>sales.php</page>
          <form>product_menu</form>
          <item>selection</item>
          <visits>462</visits>
          <filled>425</filled>
          <nomatch>20</nomatch>
          <noinput>4</noinput>
          <transfer>0</transfer>
          <disconnect>13</disconnect>
        </row>
        <row>
          <page>customer.php</page>
          <form>enter_customer_number</form>
          <item>customer_number</item>
          <visits>523</visits>
          <filled>488</filled>
          <nomatch>12</nomatch>
          <noinput>8</noinput>
          <transfer>0</transfer>
          <disconnect>15</disconnect>
        </row>
        <row>
          <page>customer.php</page>
          <form>confirm_customer_number</form>
          <item>confirmation</item>
          <visits>508</visits>
          <filled>481</filled>
          <nomatch>9</nomatch>
          <noinput>4</noinput>
          <transfer>0</transfer>
          <disconnect>14</disconnect>
        </row>
        <row>
          <page>support.php</page>
          <form>select_division</form>
          <item>selection</item>
          <visits>316</visits>
          <filled>292</filled>
          <nomatch>6</nomatch>
          <noinput>3</noinput>
          <transfer>0</transfer>
          <disconnect>15</disconnect>
        </row>
        <row>
          <page>helpdesk.php</page>
          <form>helpdesk_transfer</form>
          <item>transfer</item>
          <visits>134</visits>
          <filled>56</filled>
          <nomatch>0</nomatch>
          <noinput>0</noinput>
          <transfer>56</transfer>
          <disconnect>134</disconnect>
        </row>
        <row>
          <page>tier_one.php</page>
          <form>tier_one_transfer</form>
          <item>transfer</item>
          <visits>89</visits>
          <filled>44</filled>
          <nomatch>0</nomatch>
          <noinput>0</noinput>
          <transfer>44</transfer>
          <disconnect>89</disconnect>
        </row>
        <row>
          <page>tier_three.php</page>
          <form>tier_three_transfer</form>
          <item>transfer</item>
          <visits>78</visits>
          <filled>32</filled>
          <nomatch>0</nomatch>
          <noinput>0</noinput>
          <transfer>32</transfer>
          <disconnect>78</disconnect>
        </row>
        <row>
          <page>sales.php</page>
          <form>insight</form>
          <item>insight_transfer</item>
          <visits>87</visits>
          <filled>23</filled>
          <nomatch>0</nomatch>
          <noinput>0</noinput>
          <transfer>23</transfer>
          <disconnect>87</disconnect>
        </row>
        <row>
          <page>sales.php</page>
          <form>fuse</form>
          <item>fuse_transfer</item>
          <visits>50</visits>
          <filled>13</filled>
          <nomatch>0</nomatch>
          <noinput>0</noinput>
          <transfer>13</transfer>
          <disconnect>50</disconnect>
        </row>
        <row>
          <page>sales.php</page>
          <form>dev</form>
          <item>dev_transfer</item>
          <visits>312</visits>
          <filled>8</filled>
          <nomatch>0</nomatch>
          <noinput>0</noinput>
          <transfer>8</transfer>
          <disconnect>312</disconnect>
        </row>
        <row>
          <page>billing.php</page>
          <form>billing_menu</form>
          <item>selection</item>
          <visits>178</visits>
          <filled>151</filled>
          <nomatch>0</nomatch>
          <noinput>20</noinput>
          <transfer>0</transfer>
          <disconnect>7</disconnect>
        </row>
        <row>
          <page>billing.php</page>
          <form>make_payment</form>
          <item>enter_bank_number</item>
          <visits>87</visits>
          <filled>64</filled>
          <nomatch>9</nomatch>
          <noinput>5</noinput>
          <transfer>0</transfer>
          <disconnect>9</disconnect>
        </row>
        <row>
          <page>billing.php</page>
          <form>billing_inquiry</form>
          <item>selection</item>
          <visits>84</visits>
          <filled>57</filled>
          <nomatch>14</nomatch>
          <noinput>9</noinput>
          <transfer>0</transfer>
          <disconnect>4</disconnect>
        </row>
        <row>
          <page>billing.php</page>
          <form>payment</form>
          <item>payment_transfer</item>
          <visits>12</visits>
          <filled>12</filled>
          <nomatch>0</nomatch>
          <noinput>0</noinput>
          <transfer>12</transfer>
          <disconnect>12</disconnect>
        </row>
        <row>
          <page>billing.php</page>
          <form>make_payment</form>
          <item>enter_billing_address</item>
          <visits>78</visits>
          <filled>63</filled>
          <nomatch>8</nomatch>
          <noinput>4</noinput>
          <transfer>0</transfer>
          <disconnect>3</disconnect>
        </row>
        <row>
          <page>billing.php</page>
          <form>make_payment</form>
          <item>enter_payment_amount</item>
          <visits>75</visits>
          <filled>58</filled>
          <nomatch>6</nomatch>
          <noinput>3</noinput>
          <transfer>0</transfer>
          <disconnect>8</disconnect>
        </row>
        <row>
          <page>billing.php</page>
          <form>payment_success</form>
          <item>thank_you</item>
          <visits>55</visits>
          <filled>55</filled>
          <nomatch>0</nomatch>
          <noinput>0</noinput>
          <transfer>0</transfer>
          <disconnect>55</disconnect>
        </row>
        <row>
          <page>billing.php</page>
          <form>billing_inquiry</form>
          <item>billing_transfer</item>
          <visits>80</visits>
          <filled>12</filled>
          <nomatch>0</nomatch>
          <noinput>0</noinput>
          <transfer>12</transfer>
          <disconnect>80</disconnect>
        </row>
      </rows>
    </application>
  </applications>
</result>
```

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

{% tab title="400 " %}
{% tabs %}
{% tab title="JSON" %}

```javascript
HTTP/1.1 400 Bad Request
X-RateLimit-Limit: 150
X-RateLimit-Remaining: 149
X-RateLimit-Reset: 1519659000
Content-Length: 90
Content-Type: application/json

{"error":"Invalid start parameter."}
```

{% endtab %}

{% tab title="XML" %}

```markup
HTTP/1.1 400 Bad Request
X-RateLimit-Limit: 150
X-RateLimit-Remaining: 149
X-RateLimit-Reset: 1519659000
Content-Length: 120
Content-Type: application/json

<?xml version="1.0"?>
<result>
  <error>Invalid start parameter.</error>
</result>
```

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

### **Possible Response Codes**

* **200**: success, data successfully returned.
* **400**: supplied data improperly formatted or invalid
* **401**: authentication parameters invalid or the account is inactive
* **405**: invalid HTTP method supplied (only POST allowed)
* **429**: rate limit exceeded
* **500**: unknown error

The return structure will contain the following item(s):

| Name         | Data Type | Always Present | Description                                                                                          |
| ------------ | --------- | -------------- | ---------------------------------------------------------------------------------------------------- |
| error        | string    | no             | Indicates what went wrong when an HTTP code other than 200 is returned.                              |
| applications | array     | no             | A 200 HTTP code returns this value, the list of applications and their child pages, forms and items. |

### **Sample Code**

This sample code makes a request to authenticate an account using PHP, but any language capable of integrating with a REST API works for this type of request:

```php
<?php
// authentication and filter settings
$login = '<your_temporary_login>';
$password = '<your_temporary_password>';
$start = '<start_date>';
$end = '<end_date>';
$phone = '<selected_phone_number>';

// build the URL
$url = 'https://voicetrends.plumvoice.com/api/performance/'.$start.'/'.$end.'/'.$phone;

$ch = curl_init();
curl_setopt($ch, CURLOPT_USERPWD, $login.':'.$password);
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:

```
GET https://docs.plumvoice.com/voicetrends/voicetrends-api/diagnostic-flow.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
