MENU navbar-image
javascript php

Introduction

This API is designed to let you do (almost) everything you can do from the timetoreply portal programatically via API requests

Authentication

We currently only support personal access tokens for authentication. These can be obtained by logging into a company administrator account on timetoreply, visiting the API section, and clicking "Generate Access Token". Tokens have an expiration time of 1 year.

All requests made to our api with these generated access tokens will be assigned to the user that generated the access token.

You can create as many access tokens as you like, and you can revoke their access at any time from the same page when you created them.

Rate Limiting

Our API is rate limited to 30 requests per minute and the lower limit of 900 requests per hour.

If you exceed these limits, responses will get a Retry-After header which indicates how long you should wait until trying again.

Dates and Times

Most Dates and Times are converted into the timezone of your user profile on the fly before being sent to you.

Reply times are usually returned in seconds, but many reply times also have a "Friendly Reply Time" which is a formatted string.

Nomenclature

General

Responses have been generally optimized for use in our own front-end, and as such, the structure of responses might not be exactly as you expect. It may also contain information that is not relevant to you. Unfortunately we currently do not offer a method to get exactly the information you want, but we may create this functionality in future.

Base URL

https://portal.timetoreply.com

Authenticating requests

This API is authenticated by sending an Authorization header with the value "Bearer {YOUR_AUTH_KEY}".

All authenticated endpoints are marked with a requires authentication badge in the documentation below.

You can generate your token by logging in and visiting TOOLS > API

Entities

Authentication Invites - Delete

requires authentication

Delete an Authentication Invitation

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/agents/invite/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://portal.timetoreply.com/api/entities/agents/invite/1',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "status": "Authentication invite deleted."
}
 

Request   

DELETE api/entities/agents/invite/{authentication_invite}

URL Parameters

authentication_invite  integer  

The ID of the Authentication invite.

Authentication Invites - Remind

requires authentication

Remind A Mailbox about an Authentication Invitation

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/agents/remind/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PATCH",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->patch(
    'https://portal.timetoreply.com/api/entities/agents/remind/1',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "status": "Please check the inbox (and spam folder) of the mailbox you just added. Click on the link in the email to grant access to timetoreply so that we can start measuring your email reply times."
}
 

Request   

PATCH api/entities/agents/remind/{authentication_invite}

URL Parameters

authentication_invite  integer  

The ID of the Authentication invite.

Contact Groups - Add Domain

requires authentication

Add A Domain To A Contact Group

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/contact-groups/1/pushDomain"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "domain": "example.com"
}

fetch(url, {
    method: "PATCH",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->patch(
    'https://portal.timetoreply.com/api/entities/contact-groups/1/pushDomain',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'domain' => 'example.com',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "id": 1,
    "name": "Top Revenue Customers",
    "members": {
        "emails": [
            "jklein@fay.com",
            "grunolfsdottir@mraz.com"
        ],
        "domains": [
            "champlin.biz",
            "towne.com",
            "example.com"
        ]
    }
}
 

Request   

PATCH api/entities/contact-groups/{contact_group}/pushDomain

URL Parameters

contact_group  integer  

The ID of the contact group.

Body Parameters

domain  string  

The domain you would like to add.

Contact Groups - Add Email

requires authentication

Add An Email To A Contact Group

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/contact-groups/1/pushEmail"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "email": "example@example.com"
}

fetch(url, {
    method: "PATCH",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->patch(
    'https://portal.timetoreply.com/api/entities/contact-groups/1/pushEmail',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'email' => 'example@example.com',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "id": 1,
    "name": "Top Revenue Customers",
    "members": {
        "emails": [
            "jklein@fay.com",
            "grunolfsdottir@mraz.com",
            "example@example.com"
        ],
        "domains": [
            "champlin.biz",
            "towne.com"
        ]
    }
}
 

Request   

PATCH api/entities/contact-groups/{contact_group}/pushEmail

URL Parameters

contact_group  integer  

The ID of the contact group.

Body Parameters

email  string  

The email you would like to add.

Contact Groups - Delete

requires authentication

Delete a Contact Group

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/contact-groups/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://portal.timetoreply.com/api/entities/contact-groups/1',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "status": "Contact group deleted."
}
 

Request   

DELETE api/entities/contact-groups/{contact_group}

URL Parameters

contact_group  integer  

The ID of the contact group.

Contact Groups - Delete Domain

requires authentication

Remove A Domain From A Contact Group

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/contact-groups/1/removeDomain"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "domain": "example.com"
}

fetch(url, {
    method: "PATCH",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->patch(
    'https://portal.timetoreply.com/api/entities/contact-groups/1/removeDomain',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'domain' => 'example.com',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "id": 1,
    "name": "Top Revenue Customers",
    "members": {
        "emails": [
            "jklein@fay.com",
            "grunolfsdottir@mraz.com"
        ],
        "domains": [
            "champlin.biz",
            "towne.com"
        ]
    }
}
 

Request   

PATCH api/entities/contact-groups/{contact_group}/removeDomain

URL Parameters

contact_group  integer  

The ID of the contact group.

Body Parameters

domain  string  

The domain you would like to remove.

Contact Groups - Delete Email

requires authentication

Remove An Email From A Contact Group

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/contact-groups/1/removeEmail"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "email": "example@example.com"
}

fetch(url, {
    method: "PATCH",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->patch(
    'https://portal.timetoreply.com/api/entities/contact-groups/1/removeEmail',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'email' => 'example@example.com',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "id": 1,
    "name": "Top Revenue Customers",
    "members": {
        "emails": [
            "jklein@fay.com",
            "grunolfsdottir@mraz.com"
        ],
        "domains": [
            "champlin.biz",
            "towne.com"
        ]
    }
}
 

Request   

PATCH api/entities/contact-groups/{contact_group}/removeEmail

URL Parameters

contact_group  integer  

The ID of the contact group.

Body Parameters

email  string  

The email you would like to remove.

Contact Groups - List

requires authentication

List all Contact Groups

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/contact-groups"
);

const params = {
    "sort_by": "name",
    "direction": "asc",
    "per_page": "15",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://portal.timetoreply.com/api/entities/contact-groups',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sort_by'=> 'name',
            'direction'=> 'asc',
            'per_page'=> '15',
            'page'=> '1',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "current_page": 1,
    "data": [
        {
            "id": 3,
            "company_id": 1,
            "name": "Active Campaign Customer Group",
            "crm_type": "activeCampaign",
            "customer_emails": [
                "mossie.boehm@grant.com",
                "dullrich@pouros.biz"
            ],
            "customer_domains": [
                "cummerata.com",
                "heathcote.com"
            ],
            "user_permissions": [],
            "search_string": "Active Campaign Customer Group mossie.boehm@grant.com dullrich@pouros.biz cummerata.com heathcote.com"
        },
        {
            "id": 4,
            "company_id": 1,
            "name": "Maropost Customer Group",
            "crm_type": "maropost",
            "customer_emails": [
                "davis.hershel@orn.com",
                "keeling.georgiana@dubuque.org"
            ],
            "customer_domains": [
                "dickens.com",
                "oconner.net"
            ],
            "user_permissions": [],
            "search_string": "Maropost Customer Group davis.hershel@orn.com keeling.georgiana@dubuque.org dickens.com oconner.net"
        }
    ],
    "first_page_url": "https:\/\/portal.timetoreply.com\/api\/entities\/contact-groups?page=1",
    "from": 1,
    "last_page": 3,
    "last_page_url": "https:\/\/portal.timetoreply.com\/api\/entities\/contact-groups?page=3",
    "links": [
        {
            "url": null,
            "label": "« Previous",
            "active": false
        },
        {
            "url": "https:\/\/portal.timetoreply.com\/api\/entities\/contact-groups?page=1",
            "label": "1",
            "active": true
        },
        {
            "url": "https:\/\/portal.timetoreply.com\/api\/entities\/contact-groups?page=2",
            "label": "2",
            "active": false
        },
        {
            "url": "https:\/\/portal.timetoreply.com\/api\/entities\/contact-groups?page=3",
            "label": "3",
            "active": false
        },
        {
            "url": "https:\/\/portal.timetoreply.com\/api\/entities\/contact-groups?page=2",
            "label": "Next »",
            "active": false
        }
    ],
    "next_page_url": "https:\/\/portal.timetoreply.com\/api\/entities\/contact-groups?page=2",
    "path": "https:\/\/portal.timetoreply.com\/api\/entities\/contact-groups",
    "per_page": 2,
    "prev_page_url": null,
    "to": 2,
    "total": 6
}
 

Request   

GET api/entities/contact-groups

Query Parameters

sort_by  string optional  

The field to sort the mailboxes by.

direction  string optional  

Sort asc or desc.

per_page  number optional  

The number of contact groups to show per page.

page  number optional  

The page number.

search  string optional  

Optional search string.

Contact Groups - Remove Members

requires authentication

Remove An Email From A Contact Group

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/contact-groups/1/removeMembers"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "membersToRemove": [
        "ea",
        "quae"
    ]
}

fetch(url, {
    method: "PATCH",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->patch(
    'https://portal.timetoreply.com/api/entities/contact-groups/1/removeMembers',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'membersToRemove' => [
                'ea',
                'quae',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "id": 1,
    "name": "Top Revenue Customers",
    "members": {
        "emails": [
            "jklein@fay.com",
            "grunolfsdottir@mraz.com"
        ],
        "domains": [
            "champlin.biz",
            "towne.com"
        ]
    }
}
 

Request   

PATCH api/entities/contact-groups/{contact_group}/removeMembers

URL Parameters

contact_group  integer  

The ID of the contact group.

Body Parameters

membersToRemove  string[]  

The emails/domains you would like to remove.

Contact Groups - Show

requires authentication

Show a single Contact Group

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/contact-groups/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://portal.timetoreply.com/api/entities/contact-groups/1',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "id": 1,
    "name": "Top Revenue Customers",
    "email_usernames": [
        "jklein@fay.com",
        "grunolfsdottir@mraz.com"
    ],
    "customer_domains": [
        "champlin.biz",
        "towne.com"
    ],
    "model_type": "Contact Group",
    "icon": "user-friends"
}
 

Request   

GET api/entities/contact-groups/{contact_group}

URL Parameters

contact_group  integer  

The ID of the contact group.

Contact Groups - Store

requires authentication

Store a Contact Group

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/contact-groups"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "Top Contacts",
    "emails": [
        "contact_one@example.net"
    ],
    "domains": [
        "example.com"
    ]
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://portal.timetoreply.com/api/entities/contact-groups',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'name' => 'Top Contacts',
            'emails' => [
                'contact_one@example.net',
            ],
            'domains' => [
                'example.com',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "id": 10,
    "name": "Top Contacts",
    "members": {
        "emails": [
            "contact_one@example.net"
        ],
        "domains": [
            "example.com"
        ]
    }
}
 

Request   

POST api/entities/contact-groups

Body Parameters

name  string  

The name of the Contact Group.

emails  string[] optional  

An array of contact email addresses.

domains  string[] optional  

An array of contact domains.

upload  file optional  

A CSV of contact domains and/or emails.

Contact Groups - Update

requires authentication

Update a Contact Group

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/contact-groups/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "Top Contacts",
    "emails": [
        "contact_one@example.net"
    ],
    "domains": [
        "example.com"
    ]
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://portal.timetoreply.com/api/entities/contact-groups/1',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'name' => 'Top Contacts',
            'emails' => [
                'contact_one@example.net',
            ],
            'domains' => [
                'example.com',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "id": 1,
    "name": "Top Contacts",
    "members": {
        "emails": [
            "contact_one@example.net"
        ],
        "domains": [
            "example.com"
        ]
    }
}
 

Request   

PUT api/entities/contact-groups/{contact_group}

PATCH api/entities/contact-groups/{contact_group}

URL Parameters

contact_group  integer  

The ID of the Contact Group to update.

Body Parameters

name  string  

The name of the Contact Group.

emails  string[] optional  

An array of contact email addresses.

domains  string[] optional  

An array of contact domains.

upload  file optional  

A CSV of contact domains and/or emails.

Contacts - Delete

requires authentication

Delete a contact

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/contacts/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://portal.timetoreply.com/api/entities/contacts/1',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "status": "Contact deleted."
}
 

Request   

DELETE api/entities/contacts/{id}

URL Parameters

contact  integer  

The ID of the contact to Delete.

Contacts - List

requires authentication

Get all existing contacts.

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/contacts"
);

const params = {
    "per_page": "25",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://portal.timetoreply.com/api/entities/contacts',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'per_page'=> '25',
            'page'=> '1',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "current_page": 1,
    "data": [
        {
            "id": 1,
            "name": "top@customer.com",
            "email_usernames": [
                "top@customer.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 2,
            "name": "customer.com",
            "email_usernames": [
                "customer.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        }
    ],
    "first_page_url": "https:\/\/portal.timetoreply.com\/api\/entities\/contacts?page=1",
    "from": 1,
    "last_page": 196,
    "last_page_url": "https:\/\/portal.timetoreply.com\/api\/entities\/contacts?page=196",
    "links": [
        {
            "url": null,
            "label": "« Previous",
            "active": false
        },
        {
            "url": "https:\/\/portal.timetoreply.com\/api\/entities\/contacts?page=1",
            "label": "1",
            "active": true
        },
        {
            "url": "https:\/\/portal.timetoreply.com\/api\/entities\/contacts?page=2",
            "label": "2",
            "active": false
        },
        {
            "url": "https:\/\/portal.timetoreply.com\/api\/entities\/contacts?page=3",
            "label": "3",
            "active": false
        },
        {
            "url": "https:\/\/portal.timetoreply.com\/api\/entities\/contacts?page=4",
            "label": "4",
            "active": false
        },
        {
            "url": "https:\/\/portal.timetoreply.com\/api\/entities\/contacts?page=5",
            "label": "5",
            "active": false
        },
        {
            "url": "https:\/\/portal.timetoreply.com\/api\/entities\/contacts?page=6",
            "label": "6",
            "active": false
        },
        {
            "url": "https:\/\/portal.timetoreply.com\/api\/entities\/contacts?page=7",
            "label": "7",
            "active": false
        },
        {
            "url": "https:\/\/portal.timetoreply.com\/api\/entities\/contacts?page=8",
            "label": "8",
            "active": false
        },
        {
            "url": "https:\/\/portal.timetoreply.com\/api\/entities\/contacts?page=9",
            "label": "9",
            "active": false
        },
        {
            "url": "https:\/\/portal.timetoreply.com\/api\/entities\/contacts?page=10",
            "label": "10",
            "active": false
        },
        {
            "url": null,
            "label": "...",
            "active": false
        },
        {
            "url": "https:\/\/portal.timetoreply.com\/api\/entities\/contacts?page=195",
            "label": "195",
            "active": false
        },
        {
            "url": "https:\/\/portal.timetoreply.com\/api\/entities\/contacts?page=196",
            "label": "196",
            "active": false
        },
        {
            "url": "https:\/\/portal.timetoreply.com\/api\/entities\/contacts?page=2",
            "label": "Next »",
            "active": false
        }
    ],
    "next_page_url": "https:\/\/portal.timetoreply.com\/api\/entities\/contacts?page=2",
    "path": "https:\/\/portal.timetoreply.com\/api\/entities\/contacts",
    "per_page": 2,
    "prev_page_url": null,
    "to": 2,
    "total": 391
}
 

Request   

GET api/entities/contacts

Query Parameters

per_page  integer optional  

For paginated results, how many results per page. Max 200.

page  integer optional  

For paginated results, which page to get.

Contacts - Store

requires authentication

Store a new contact

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/contacts"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "contact@example.com"
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://portal.timetoreply.com/api/entities/contacts',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'name' => 'contact@example.com',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "id": 613,
    "name": "contact@example.com",
    "email_usernames": [
        "contact@example.com"
    ],
    "model_type": "Contact",
    "icon": "user"
}
 

Request   

POST api/entities/contacts

Body Parameters

name  string optional  

The email address or domain of the Contact.

Entities - IT Help

requires authentication

Request Help from your IT team to set up timetoreply

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/agents/it-help"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "Peter Rabbit",
    "email": "peter.rabbit@gmail.com",
    "message": "nihil"
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://portal.timetoreply.com/api/entities/agents/it-help',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'name' => 'Peter Rabbit',
            'email' => 'peter.rabbit@gmail.com',
            'message' => 'nihil',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (202):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "status": "Email Sent successfully"
}
 

Request   

POST api/entities/agents/it-help

Body Parameters

name  string  

The name of your friendly IT person.

email  string  

The email of your friendly IT person.

message  string optional  

An optional message to give to your IT person

requires authentication

Searches your company entities

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/search"
);

const params = {
    "per_page": "2",
    "page": "1",
    "search": "Top Revenue",
    "type": "all",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://portal.timetoreply.com/api/entities/search',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'per_page'=> '2',
            'page'=> '1',
            'search'=> 'Top Revenue',
            'type'=> 'all',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "current_page": 1,
    "data": [
        {
            "id": 1,
            "name": "top@customer.com",
            "email_usernames": [
                "top@customer.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 1,
            "name": "Top Revenue Customers",
            "email_usernames": [
                "jklein@fay.com",
                "grunolfsdottir@mraz.com"
            ],
            "customer_domains": [
                "champlin.biz",
                "towne.com"
            ],
            "model_type": "Contact Group",
            "icon": "user-friends"
        }
    ],
    "first_page_url": "https:\/\/portal.timetoreply.com\/api\/entities\/search?page=1",
    "from": 1,
    "last_page": 1,
    "last_page_url": "https:\/\/portal.timetoreply.com\/api\/entities\/search?page=1",
    "links": [
        {
            "url": null,
            "label": "« Previous",
            "active": false
        },
        {
            "url": "https:\/\/portal.timetoreply.com\/api\/entities\/search?page=1",
            "label": "1",
            "active": true
        },
        {
            "url": null,
            "label": "Next »",
            "active": false
        }
    ],
    "next_page_url": null,
    "path": "https:\/\/portal.timetoreply.com\/api\/entities\/search",
    "per_page": 2,
    "prev_page_url": null,
    "to": 2,
    "total": 2
}
 

Filters - List

requires authentication

List all current filters and entities

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/tools/settings/message-filters/all-thread-filter-data"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://portal.timetoreply.com/api/tools/settings/message-filters/all-thread-filter-data',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "advanced_filters_count": {
        "active": 0,
        "total": 1
    },
    "domain_and_email_filters": {
        "domains": 1,
        "emails": 1
    },
    "agents": [
        {
            "id": 1,
            "name": "Jocelyn Considine",
            "email_usernames": [
                "j.considine@timetoreply.com"
            ],
            "model_type": "Mailbox",
            "icon": "user-plus"
        },
        {
            "id": 2,
            "name": "Letha Ziemann",
            "email_usernames": [
                "l.ziemann@timetoreply.com"
            ],
            "model_type": "Mailbox",
            "icon": "user-plus"
        },
        {
            "id": 3,
            "name": "Josh Heathcote",
            "email_usernames": [
                "j.heathcote@timetoreply.com"
            ],
            "model_type": "Mailbox",
            "icon": "user-plus"
        }
    ],
    "teams": [
        {
            "id": 1,
            "name": "US Sales Team",
            "email_usernames": [
                "j.considine@timetoreply.com",
                "l.ziemann@timetoreply.com",
                "j.heathcote@timetoreply.com"
            ],
            "model_type": "Team",
            "icon": "handshake"
        }
    ],
    "group_mailboxes": [
        {
            "id": 1,
            "name": "Support",
            "email_usernames": [
                "support@timetoreply.com",
                "j.considine@timetoreply.com",
                "l.ziemann@timetoreply.com",
                "j.heathcote@timetoreply.com"
            ],
            "model_type": "Group Mailbox",
            "icon": "users"
        }
    ],
    "customer_groups": [
        {
            "id": 1,
            "name": "Top Revenue Customers",
            "email_usernames": [
                "jklein@fay.com",
                "grunolfsdottir@mraz.com"
            ],
            "customer_domains": [
                "champlin.biz",
                "towne.com"
            ],
            "model_type": "Contact Group",
            "icon": "user-friends"
        },
        {
            "id": 2,
            "name": "Hubspot Customer Group",
            "email_usernames": [],
            "customer_domains": [],
            "model_type": "Contact Group",
            "icon": "user-friends"
        },
        {
            "id": 3,
            "name": "Active Campaign Customer Group",
            "email_usernames": [
                "mossie.boehm@grant.com",
                "dullrich@pouros.biz"
            ],
            "customer_domains": [
                "cummerata.com",
                "heathcote.com"
            ],
            "model_type": "Contact Group",
            "icon": "user-friends"
        },
        {
            "id": 4,
            "name": "Maropost Customer Group",
            "email_usernames": [
                "davis.hershel@orn.com",
                "keeling.georgiana@dubuque.org"
            ],
            "customer_domains": [
                "dickens.com",
                "oconner.net"
            ],
            "model_type": "Contact Group",
            "icon": "user-friends"
        },
        {
            "id": 5,
            "name": "Constant Contact Customer Group",
            "email_usernames": [
                "tyshawn.howell@torp.org",
                "schimmel.twila@grant.org"
            ],
            "customer_domains": [
                "rodriguez.com",
                "koepp.com"
            ],
            "model_type": "Contact Group",
            "icon": "user-friends"
        },
        {
            "id": 6,
            "name": "Salesforce Customer Group",
            "email_usernames": [
                "candelario88@effertz.net",
                "kshlerin.berry@reinger.org"
            ],
            "customer_domains": [
                "ward.net",
                "lang.com"
            ],
            "model_type": "Contact Group",
            "icon": "user-friends"
        }
    ],
    "customers": [
        {
            "id": 1,
            "name": "top@customer.com",
            "email_usernames": [
                "top@customer.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 2,
            "name": "customer.com",
            "email_usernames": [
                "customer.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 3,
            "name": "aauer@dickinson.com",
            "email_usernames": [
                "aauer@dickinson.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 4,
            "name": "pdare@marquardt.com",
            "email_usernames": [
                "pdare@marquardt.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 5,
            "name": "loren24@hodkiewicz.info",
            "email_usernames": [
                "loren24@hodkiewicz.info"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 6,
            "name": "jamey.schultz@larson.com",
            "email_usernames": [
                "jamey.schultz@larson.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 7,
            "name": "vgulgowski@towne.biz",
            "email_usernames": [
                "vgulgowski@towne.biz"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 8,
            "name": "janet32@jacobi.com",
            "email_usernames": [
                "janet32@jacobi.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 9,
            "name": "katherine.kassulke@dickens.net",
            "email_usernames": [
                "katherine.kassulke@dickens.net"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 10,
            "name": "osinski.elisha@quitzon.com",
            "email_usernames": [
                "osinski.elisha@quitzon.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 11,
            "name": "grunolfsdottir@mraz.com",
            "email_usernames": [
                "grunolfsdottir@mraz.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 12,
            "name": "torey03@feil.com",
            "email_usernames": [
                "torey03@feil.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 13,
            "name": "dstreich@treutel.info",
            "email_usernames": [
                "dstreich@treutel.info"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 14,
            "name": "streich.lazaro@dicki.com",
            "email_usernames": [
                "streich.lazaro@dicki.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 15,
            "name": "shanahan.makenzie@lockman.com",
            "email_usernames": [
                "shanahan.makenzie@lockman.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 16,
            "name": "vtorp@hettinger.info",
            "email_usernames": [
                "vtorp@hettinger.info"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 17,
            "name": "brendon.oreilly@rutherford.com",
            "email_usernames": [
                "brendon.oreilly@rutherford.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 18,
            "name": "terrell.homenick@hyatt.info",
            "email_usernames": [
                "terrell.homenick@hyatt.info"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 19,
            "name": "yundt.pansy@swift.info",
            "email_usernames": [
                "yundt.pansy@swift.info"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 20,
            "name": "huel.cydney@schiller.com",
            "email_usernames": [
                "huel.cydney@schiller.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 21,
            "name": "misty.cummings@ankunding.com",
            "email_usernames": [
                "misty.cummings@ankunding.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 22,
            "name": "omclaughlin@trantow.com",
            "email_usernames": [
                "omclaughlin@trantow.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 23,
            "name": "qsipes@mann.net",
            "email_usernames": [
                "qsipes@mann.net"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 24,
            "name": "nedra85@gutmann.net",
            "email_usernames": [
                "nedra85@gutmann.net"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 25,
            "name": "retha01@dicki.info",
            "email_usernames": [
                "retha01@dicki.info"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 26,
            "name": "haley.kelvin@zieme.org",
            "email_usernames": [
                "haley.kelvin@zieme.org"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 27,
            "name": "zroob@becker.org",
            "email_usernames": [
                "zroob@becker.org"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 28,
            "name": "iwyman@watsica.com",
            "email_usernames": [
                "iwyman@watsica.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 29,
            "name": "qstiedemann@howe.com",
            "email_usernames": [
                "qstiedemann@howe.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 30,
            "name": "jamaal.zemlak@streich.biz",
            "email_usernames": [
                "jamaal.zemlak@streich.biz"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 31,
            "name": "kurt41@hudson.com",
            "email_usernames": [
                "kurt41@hudson.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 32,
            "name": "rconroy@jakubowski.com",
            "email_usernames": [
                "rconroy@jakubowski.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 33,
            "name": "keegan51@mohr.biz",
            "email_usernames": [
                "keegan51@mohr.biz"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 34,
            "name": "powlowski.winnifred@durgan.com",
            "email_usernames": [
                "powlowski.winnifred@durgan.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 35,
            "name": "prohaska.jolie@rutherford.info",
            "email_usernames": [
                "prohaska.jolie@rutherford.info"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 36,
            "name": "turner.alba@price.com",
            "email_usernames": [
                "turner.alba@price.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 37,
            "name": "schuster.jodie@cronin.org",
            "email_usernames": [
                "schuster.jodie@cronin.org"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 38,
            "name": "clegros@reichert.com",
            "email_usernames": [
                "clegros@reichert.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 39,
            "name": "isai.herman@ratke.biz",
            "email_usernames": [
                "isai.herman@ratke.biz"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 40,
            "name": "breitenberg.ila@schimmel.com",
            "email_usernames": [
                "breitenberg.ila@schimmel.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 41,
            "name": "kris.samara@buckridge.com",
            "email_usernames": [
                "kris.samara@buckridge.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 42,
            "name": "mitchell92@gulgowski.com",
            "email_usernames": [
                "mitchell92@gulgowski.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 43,
            "name": "strosin.lance@jast.org",
            "email_usernames": [
                "strosin.lance@jast.org"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 44,
            "name": "amely30@crona.com",
            "email_usernames": [
                "amely30@crona.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 45,
            "name": "jamar.leuschke@crooks.com",
            "email_usernames": [
                "jamar.leuschke@crooks.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 46,
            "name": "shields.mya@leffler.org",
            "email_usernames": [
                "shields.mya@leffler.org"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 47,
            "name": "gibson.caterina@kshlerin.com",
            "email_usernames": [
                "gibson.caterina@kshlerin.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 48,
            "name": "nikolaus.flavio@ritchie.com",
            "email_usernames": [
                "nikolaus.flavio@ritchie.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 49,
            "name": "paolo67@hintz.com",
            "email_usernames": [
                "paolo67@hintz.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 50,
            "name": "beatty.minerva@lehner.com",
            "email_usernames": [
                "beatty.minerva@lehner.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 51,
            "name": "ernestina33@bernier.com",
            "email_usernames": [
                "ernestina33@bernier.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 52,
            "name": "chadd.langosh@wuckert.com",
            "email_usernames": [
                "chadd.langosh@wuckert.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 53,
            "name": "lebsack.emmanuelle@hickle.net",
            "email_usernames": [
                "lebsack.emmanuelle@hickle.net"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 54,
            "name": "windler.kyler@towne.com",
            "email_usernames": [
                "windler.kyler@towne.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 55,
            "name": "clifford.breitenberg@doyle.biz",
            "email_usernames": [
                "clifford.breitenberg@doyle.biz"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 56,
            "name": "kshlerin.berry@reinger.org",
            "email_usernames": [
                "kshlerin.berry@reinger.org"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 57,
            "name": "keira32@walsh.com",
            "email_usernames": [
                "keira32@walsh.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 58,
            "name": "dave78@howe.com",
            "email_usernames": [
                "dave78@howe.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 59,
            "name": "abel59@wiegand.biz",
            "email_usernames": [
                "abel59@wiegand.biz"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 60,
            "name": "dicki.abby@kovacek.biz",
            "email_usernames": [
                "dicki.abby@kovacek.biz"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 61,
            "name": "qboyer@tremblay.info",
            "email_usernames": [
                "qboyer@tremblay.info"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 62,
            "name": "hodkiewicz.antonio@leuschke.org",
            "email_usernames": [
                "hodkiewicz.antonio@leuschke.org"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 63,
            "name": "randall59@doyle.org",
            "email_usernames": [
                "randall59@doyle.org"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 64,
            "name": "rosenbaum.grayce@kohler.com",
            "email_usernames": [
                "rosenbaum.grayce@kohler.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 65,
            "name": "hirthe.frederic@hane.net",
            "email_usernames": [
                "hirthe.frederic@hane.net"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 66,
            "name": "aurelie.daniel@schultz.com",
            "email_usernames": [
                "aurelie.daniel@schultz.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 67,
            "name": "crunolfsdottir@bernier.info",
            "email_usernames": [
                "crunolfsdottir@bernier.info"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 68,
            "name": "goldner.mona@roberts.com",
            "email_usernames": [
                "goldner.mona@roberts.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 69,
            "name": "botsford.rafael@schuster.com",
            "email_usernames": [
                "botsford.rafael@schuster.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 70,
            "name": "audra75@mills.com",
            "email_usernames": [
                "audra75@mills.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 71,
            "name": "briana.okeefe@lehner.com",
            "email_usernames": [
                "briana.okeefe@lehner.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 72,
            "name": "grimes.august@gusikowski.org",
            "email_usernames": [
                "grimes.august@gusikowski.org"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 73,
            "name": "candelario88@effertz.net",
            "email_usernames": [
                "candelario88@effertz.net"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 74,
            "name": "amaya22@deckow.com",
            "email_usernames": [
                "amaya22@deckow.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 75,
            "name": "darius47@johnston.com",
            "email_usernames": [
                "darius47@johnston.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 76,
            "name": "justina.gorczany@howell.com",
            "email_usernames": [
                "justina.gorczany@howell.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 77,
            "name": "kimberly.will@bruen.com",
            "email_usernames": [
                "kimberly.will@bruen.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 78,
            "name": "cecile97@daniel.com",
            "email_usernames": [
                "cecile97@daniel.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 79,
            "name": "ivah37@nader.biz",
            "email_usernames": [
                "ivah37@nader.biz"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 80,
            "name": "reilly23@ward.net",
            "email_usernames": [
                "reilly23@ward.net"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 81,
            "name": "monahan.hal@funk.com",
            "email_usernames": [
                "monahan.hal@funk.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 82,
            "name": "ursula00@douglas.org",
            "email_usernames": [
                "ursula00@douglas.org"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 83,
            "name": "audrey.mohr@reinger.com",
            "email_usernames": [
                "audrey.mohr@reinger.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 84,
            "name": "harrison.lubowitz@effertz.com",
            "email_usernames": [
                "harrison.lubowitz@effertz.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 85,
            "name": "closed@timetoreply.com",
            "email_usernames": [
                "closed@timetoreply.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 86,
            "name": "rosamond79@watsica.org",
            "email_usernames": [
                "rosamond79@watsica.org"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 87,
            "name": "braun.bernadette@oconner.net",
            "email_usernames": [
                "braun.bernadette@oconner.net"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 88,
            "name": "william65@glover.com",
            "email_usernames": [
                "william65@glover.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 89,
            "name": "pfeffer.loyal@wunsch.com",
            "email_usernames": [
                "pfeffer.loyal@wunsch.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 90,
            "name": "damaris.schultz@renner.biz",
            "email_usernames": [
                "damaris.schultz@renner.biz"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 91,
            "name": "sgorczany@okon.info",
            "email_usernames": [
                "sgorczany@okon.info"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 92,
            "name": "hessel.herminia@reichert.biz",
            "email_usernames": [
                "hessel.herminia@reichert.biz"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 93,
            "name": "humberto16@rohan.com",
            "email_usernames": [
                "humberto16@rohan.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 94,
            "name": "jaqueline11@schumm.org",
            "email_usernames": [
                "jaqueline11@schumm.org"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 95,
            "name": "sleannon@nolan.info",
            "email_usernames": [
                "sleannon@nolan.info"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 96,
            "name": "brekke.brad@romaguera.com",
            "email_usernames": [
                "brekke.brad@romaguera.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 97,
            "name": "jena92@schroeder.com",
            "email_usernames": [
                "jena92@schroeder.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 98,
            "name": "rickey98@tromp.com",
            "email_usernames": [
                "rickey98@tromp.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 99,
            "name": "littel.karen@homenick.com",
            "email_usernames": [
                "littel.karen@homenick.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 100,
            "name": "royce61@beatty.info",
            "email_usernames": [
                "royce61@beatty.info"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 101,
            "name": "alice.kunze@harris.com",
            "email_usernames": [
                "alice.kunze@harris.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 102,
            "name": "johnson.alvera@jacobs.com",
            "email_usernames": [
                "johnson.alvera@jacobs.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 103,
            "name": "murray.sebastian@larson.com",
            "email_usernames": [
                "murray.sebastian@larson.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 104,
            "name": "aruecker@runte.com",
            "email_usernames": [
                "aruecker@runte.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 105,
            "name": "grant.tiffany@little.info",
            "email_usernames": [
                "grant.tiffany@little.info"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 106,
            "name": "schamberger.alec@gislason.com",
            "email_usernames": [
                "schamberger.alec@gislason.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 107,
            "name": "cwaters@abshire.biz",
            "email_usernames": [
                "cwaters@abshire.biz"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 108,
            "name": "dullrich@pouros.biz",
            "email_usernames": [
                "dullrich@pouros.biz"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 109,
            "name": "cristal21@schowalter.com",
            "email_usernames": [
                "cristal21@schowalter.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 110,
            "name": "zena68@hahn.com",
            "email_usernames": [
                "zena68@hahn.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 111,
            "name": "chauncey.mante@schoen.net",
            "email_usernames": [
                "chauncey.mante@schoen.net"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 112,
            "name": "hollis76@mayert.net",
            "email_usernames": [
                "hollis76@mayert.net"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 113,
            "name": "anika.brakus@botsford.com",
            "email_usernames": [
                "anika.brakus@botsford.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 114,
            "name": "kling.cordell@bechtelar.biz",
            "email_usernames": [
                "kling.cordell@bechtelar.biz"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 115,
            "name": "lexi.kutch@metz.com",
            "email_usernames": [
                "lexi.kutch@metz.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 116,
            "name": "grenner@kris.com",
            "email_usernames": [
                "grenner@kris.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 117,
            "name": "vdaugherty@gleichner.com",
            "email_usernames": [
                "vdaugherty@gleichner.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 118,
            "name": "mitchell.ali@huels.info",
            "email_usernames": [
                "mitchell.ali@huels.info"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 119,
            "name": "cronin.germaine@reichel.org",
            "email_usernames": [
                "cronin.germaine@reichel.org"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 120,
            "name": "kertzmann.jessika@buckridge.com",
            "email_usernames": [
                "kertzmann.jessika@buckridge.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 121,
            "name": "nella.ullrich@bechtelar.org",
            "email_usernames": [
                "nella.ullrich@bechtelar.org"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 122,
            "name": "bwunsch@johnston.com",
            "email_usernames": [
                "bwunsch@johnston.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 123,
            "name": "daisy.okeefe@jast.com",
            "email_usernames": [
                "daisy.okeefe@jast.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 124,
            "name": "lenora.runolfsson@daniel.biz",
            "email_usernames": [
                "lenora.runolfsson@daniel.biz"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 125,
            "name": "kuhn.daija@braun.com",
            "email_usernames": [
                "kuhn.daija@braun.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 126,
            "name": "streich.mikayla@schaefer.org",
            "email_usernames": [
                "streich.mikayla@schaefer.org"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 127,
            "name": "kara.terry@schuster.com",
            "email_usernames": [
                "kara.terry@schuster.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 128,
            "name": "gprosacco@champlin.biz",
            "email_usernames": [
                "gprosacco@champlin.biz"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 129,
            "name": "wilkinson.dejon@aufderhar.com",
            "email_usernames": [
                "wilkinson.dejon@aufderhar.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 130,
            "name": "ldicki@rutherford.biz",
            "email_usernames": [
                "ldicki@rutherford.biz"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 131,
            "name": "marty69@moore.com",
            "email_usernames": [
                "marty69@moore.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 132,
            "name": "marks.enrico@koepp.com",
            "email_usernames": [
                "marks.enrico@koepp.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 133,
            "name": "jjacobi@zboncak.com",
            "email_usernames": [
                "jjacobi@zboncak.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 134,
            "name": "xkemmer@wintheiser.com",
            "email_usernames": [
                "xkemmer@wintheiser.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 135,
            "name": "jamal88@beer.org",
            "email_usernames": [
                "jamal88@beer.org"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 136,
            "name": "ohermann@morar.com",
            "email_usernames": [
                "ohermann@morar.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 137,
            "name": "connelly.rolando@kihn.com",
            "email_usernames": [
                "connelly.rolando@kihn.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 138,
            "name": "nels26@johnston.com",
            "email_usernames": [
                "nels26@johnston.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 139,
            "name": "corkery.sheridan@schultz.com",
            "email_usernames": [
                "corkery.sheridan@schultz.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 140,
            "name": "tristian.steuber@gleichner.com",
            "email_usernames": [
                "tristian.steuber@gleichner.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 141,
            "name": "morar.ricky@thiel.com",
            "email_usernames": [
                "morar.ricky@thiel.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 142,
            "name": "bernadette.jacobi@willms.com",
            "email_usernames": [
                "bernadette.jacobi@willms.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 143,
            "name": "kohler.oscar@toy.biz",
            "email_usernames": [
                "kohler.oscar@toy.biz"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 144,
            "name": "eloisa.heaney@ortiz.net",
            "email_usernames": [
                "eloisa.heaney@ortiz.net"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 145,
            "name": "antonio36@murray.net",
            "email_usernames": [
                "antonio36@murray.net"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 146,
            "name": "hahn.dante@larkin.com",
            "email_usernames": [
                "hahn.dante@larkin.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 147,
            "name": "grady.mario@abernathy.org",
            "email_usernames": [
                "grady.mario@abernathy.org"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 148,
            "name": "west.kiel@weissnat.com",
            "email_usernames": [
                "west.kiel@weissnat.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 149,
            "name": "hegmann.vita@corwin.com",
            "email_usernames": [
                "hegmann.vita@corwin.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 150,
            "name": "wyman.rodolfo@reichel.biz",
            "email_usernames": [
                "wyman.rodolfo@reichel.biz"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 151,
            "name": "loraine.krajcik@schmidt.com",
            "email_usernames": [
                "loraine.krajcik@schmidt.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 152,
            "name": "wjakubowski@legros.biz",
            "email_usernames": [
                "wjakubowski@legros.biz"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 153,
            "name": "srunolfsson@dare.com",
            "email_usernames": [
                "srunolfsson@dare.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 154,
            "name": "dan65@breitenberg.com",
            "email_usernames": [
                "dan65@breitenberg.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 155,
            "name": "lesly.daniel@wisozk.com",
            "email_usernames": [
                "lesly.daniel@wisozk.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 156,
            "name": "tbashirian@bode.info",
            "email_usernames": [
                "tbashirian@bode.info"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 157,
            "name": "olowe@tromp.com",
            "email_usernames": [
                "olowe@tromp.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 158,
            "name": "elmer.gorczany@jacobi.com",
            "email_usernames": [
                "elmer.gorczany@jacobi.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 159,
            "name": "delpha.conroy@schmitt.com",
            "email_usernames": [
                "delpha.conroy@schmitt.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 160,
            "name": "donny.rodriguez@volkman.com",
            "email_usernames": [
                "donny.rodriguez@volkman.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 161,
            "name": "pagac.tamara@casper.com",
            "email_usernames": [
                "pagac.tamara@casper.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 162,
            "name": "emanuel14@kihn.net",
            "email_usernames": [
                "emanuel14@kihn.net"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 163,
            "name": "royal.koepp@dare.net",
            "email_usernames": [
                "royal.koepp@dare.net"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 164,
            "name": "lawrence.jakubowski@windler.com",
            "email_usernames": [
                "lawrence.jakubowski@windler.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 165,
            "name": "ukohler@nicolas.info",
            "email_usernames": [
                "ukohler@nicolas.info"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 166,
            "name": "sallie12@heathcote.com",
            "email_usernames": [
                "sallie12@heathcote.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 167,
            "name": "heaney.myriam@keebler.info",
            "email_usernames": [
                "heaney.myriam@keebler.info"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 168,
            "name": "christop.littel@schiller.com",
            "email_usernames": [
                "christop.littel@schiller.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 169,
            "name": "xboehm@kuvalis.com",
            "email_usernames": [
                "xboehm@kuvalis.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 170,
            "name": "cordell.schroeder@bode.com",
            "email_usernames": [
                "cordell.schroeder@bode.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 171,
            "name": "trantow.laurence@pfannerstill.com",
            "email_usernames": [
                "trantow.laurence@pfannerstill.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 172,
            "name": "murphy.paul@king.biz",
            "email_usernames": [
                "murphy.paul@king.biz"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 173,
            "name": "anjali51@metz.biz",
            "email_usernames": [
                "anjali51@metz.biz"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 174,
            "name": "keara71@wiza.com",
            "email_usernames": [
                "keara71@wiza.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 175,
            "name": "cary.hessel@collins.com",
            "email_usernames": [
                "cary.hessel@collins.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 176,
            "name": "sawayn.mallie@boyle.com",
            "email_usernames": [
                "sawayn.mallie@boyle.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 177,
            "name": "yboehm@oconnell.com",
            "email_usernames": [
                "yboehm@oconnell.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 178,
            "name": "tabbott@hyatt.org",
            "email_usernames": [
                "tabbott@hyatt.org"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 179,
            "name": "mack11@huel.com",
            "email_usernames": [
                "mack11@huel.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 180,
            "name": "jessy.corwin@bauch.info",
            "email_usernames": [
                "jessy.corwin@bauch.info"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 181,
            "name": "deckow.austen@schimmel.com",
            "email_usernames": [
                "deckow.austen@schimmel.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 182,
            "name": "okeefe.jess@klocko.com",
            "email_usernames": [
                "okeefe.jess@klocko.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 183,
            "name": "osatterfield@towne.com",
            "email_usernames": [
                "osatterfield@towne.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 184,
            "name": "fkreiger@paucek.com",
            "email_usernames": [
                "fkreiger@paucek.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 185,
            "name": "ybalistreri@hegmann.com",
            "email_usernames": [
                "ybalistreri@hegmann.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 186,
            "name": "milton.ziemann@davis.org",
            "email_usernames": [
                "milton.ziemann@davis.org"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 187,
            "name": "garland.emard@zemlak.com",
            "email_usernames": [
                "garland.emard@zemlak.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 188,
            "name": "reta.swaniawski@conroy.com",
            "email_usernames": [
                "reta.swaniawski@conroy.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 189,
            "name": "olson.ahmad@wilkinson.net",
            "email_usernames": [
                "olson.ahmad@wilkinson.net"
            ],
            "model_type": "Contact",
            "icon": "user"
        }
    ],
    "labels": [
        "CATEGORY_FORUMS",
        "CATEGORY_PERSONAL",
        "CATEGORY_PROMOTIONS",
        "CATEGORY_SOCIAL",
        "CATEGORY_UPDATES",
        "IMPORTANT",
        "INBOX",
        "SENT",
        "STARRED",
        "UNREAD"
    ],
    "goals": [
        3600,
        7200,
        14400,
        28800,
        86400
    ]
}
 

Request   

GET api/tools/settings/message-filters/all-thread-filter-data

Group Mailbox Members - Delete

requires authentication

Remove a member from a Group Mailbox

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/group-mailboxes/1/agents"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "ids": [
        1
    ]
}

fetch(url, {
    method: "DELETE",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://portal.timetoreply.com/api/entities/group-mailboxes/1/agents',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'ids' => [
                1,
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "current_page": 1,
    "data": [
        {
            "id": 3,
            "name": "Josh Heathcote",
            "email_usernames": [
                "j.heathcote@timetoreply.com"
            ],
            "model_type": "Mailbox",
            "icon": "user-plus"
        },
        {
            "id": 2,
            "name": "Letha Ziemann",
            "email_usernames": [
                "l.ziemann@timetoreply.com"
            ],
            "model_type": "Mailbox",
            "icon": "user-plus"
        }
    ],
    "first_page_url": "https:\/\/portal.timetoreply.com\/api\/entities\/group-mailboxes\/1\/agents?page=1",
    "from": 1,
    "last_page": 1,
    "last_page_url": "https:\/\/portal.timetoreply.com\/api\/entities\/group-mailboxes\/1\/agents?page=1",
    "links": [
        {
            "url": null,
            "label": "« Previous",
            "active": false
        },
        {
            "url": "https:\/\/portal.timetoreply.com\/api\/entities\/group-mailboxes\/1\/agents?page=1",
            "label": "1",
            "active": true
        },
        {
            "url": null,
            "label": "Next »",
            "active": false
        }
    ],
    "next_page_url": null,
    "path": "https:\/\/portal.timetoreply.com\/api\/entities\/group-mailboxes\/1\/agents",
    "per_page": 25,
    "prev_page_url": null,
    "to": 2,
    "total": 2
}
 

Request   

DELETE api/entities/group-mailboxes/{group_mailbox}/agents

URL Parameters

group_mailbox  integer  

The ID of the Group Mailbox.

Body Parameters

ids  integer[]  

An array of Mailbox IDs to remove as a Group Mailbox Member.

Group Mailbox Members - List

requires authentication

Show members of a Group Mailbox

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/group-mailboxes/1/agents"
);

const params = {
    "sort_by": "name",
    "direction": "asc",
    "per_page": "2",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://portal.timetoreply.com/api/entities/group-mailboxes/1/agents',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sort_by'=> 'name',
            'direction'=> 'asc',
            'per_page'=> '2',
            'page'=> '1',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "current_page": 1,
    "data": [
        {
            "id": 1,
            "name": "Jocelyn Considine",
            "email_usernames": [
                "j.considine@timetoreply.com"
            ],
            "model_type": "Mailbox",
            "icon": "user-plus"
        },
        {
            "id": 3,
            "name": "Josh Heathcote",
            "email_usernames": [
                "j.heathcote@timetoreply.com"
            ],
            "model_type": "Mailbox",
            "icon": "user-plus"
        }
    ],
    "first_page_url": "https:\/\/portal.timetoreply.com\/api\/entities\/group-mailboxes\/1\/agents?page=1",
    "from": 1,
    "last_page": 2,
    "last_page_url": "https:\/\/portal.timetoreply.com\/api\/entities\/group-mailboxes\/1\/agents?page=2",
    "links": [
        {
            "url": null,
            "label": "« Previous",
            "active": false
        },
        {
            "url": "https:\/\/portal.timetoreply.com\/api\/entities\/group-mailboxes\/1\/agents?page=1",
            "label": "1",
            "active": true
        },
        {
            "url": "https:\/\/portal.timetoreply.com\/api\/entities\/group-mailboxes\/1\/agents?page=2",
            "label": "2",
            "active": false
        },
        {
            "url": "https:\/\/portal.timetoreply.com\/api\/entities\/group-mailboxes\/1\/agents?page=2",
            "label": "Next »",
            "active": false
        }
    ],
    "next_page_url": "https:\/\/portal.timetoreply.com\/api\/entities\/group-mailboxes\/1\/agents?page=2",
    "path": "https:\/\/portal.timetoreply.com\/api\/entities\/group-mailboxes\/1\/agents",
    "per_page": 2,
    "prev_page_url": null,
    "to": 2,
    "total": 3
}
 

Request   

GET api/entities/group-mailboxes/{group_mailbox}/agents

URL Parameters

group_mailbox  integer  

The ID of the Group Mailbox to get Members of.

Query Parameters

sort_by  string optional  

The field to sort the mailboxes by.

direction  string optional  

Sort asc or desc.

per_page  number optional  

The number of mailboxes to show per page.

page  number optional  

The page number.

Group Mailbox Members - Store

requires authentication

Add a member to a Group Mailbox

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/group-mailboxes/1/agents"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "ids": [
        1
    ]
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://portal.timetoreply.com/api/entities/group-mailboxes/1/agents',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'ids' => [
                1,
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "current_page": 1,
    "data": [
        {
            "id": 1,
            "name": "Jocelyn Considine",
            "email_usernames": [
                "j.considine@timetoreply.com"
            ],
            "model_type": "Mailbox",
            "icon": "user-plus"
        },
        {
            "id": 3,
            "name": "Josh Heathcote",
            "email_usernames": [
                "j.heathcote@timetoreply.com"
            ],
            "model_type": "Mailbox",
            "icon": "user-plus"
        },
        {
            "id": 2,
            "name": "Letha Ziemann",
            "email_usernames": [
                "l.ziemann@timetoreply.com"
            ],
            "model_type": "Mailbox",
            "icon": "user-plus"
        }
    ],
    "first_page_url": "https:\/\/portal.timetoreply.com\/api\/entities\/group-mailboxes\/1\/agents?page=1",
    "from": 1,
    "last_page": 1,
    "last_page_url": "https:\/\/portal.timetoreply.com\/api\/entities\/group-mailboxes\/1\/agents?page=1",
    "links": [
        {
            "url": null,
            "label": "« Previous",
            "active": false
        },
        {
            "url": "https:\/\/portal.timetoreply.com\/api\/entities\/group-mailboxes\/1\/agents?page=1",
            "label": "1",
            "active": true
        },
        {
            "url": null,
            "label": "Next »",
            "active": false
        }
    ],
    "next_page_url": null,
    "path": "https:\/\/portal.timetoreply.com\/api\/entities\/group-mailboxes\/1\/agents",
    "per_page": 25,
    "prev_page_url": null,
    "to": 3,
    "total": 3
}
 

Request   

POST api/entities/group-mailboxes/{group_mailbox}/agents

URL Parameters

group_mailbox  integer  

The ID of the Group Mailbox.

Body Parameters

ids  integer[]  

An array of Mailbox IDs to add as a Group Mailbox Member.

Group Mailboxes - Delete

requires authentication

Delete a Group Mailbox

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/group-mailboxes/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://portal.timetoreply.com/api/entities/group-mailboxes/1',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "status": "Group Mailbox deleted."
}
 

Request   

DELETE api/entities/group-mailboxes/{group_mailbox}

URL Parameters

group_mailbox  integer  

The ID of the Group Mailbox.

Group Mailboxes - List

requires authentication

Show all Group Mailboxes

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/group-mailboxes"
);

const params = {
    "per_page": "25",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://portal.timetoreply.com/api/entities/group-mailboxes',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'per_page'=> '25',
            'page'=> '1',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "current_page": 1,
    "data": [
        {
            "id": 1,
            "name": "Support",
            "email_usernames": [
                "support@timetoreply.com",
                "j.considine@timetoreply.com",
                "l.ziemann@timetoreply.com",
                "j.heathcote@timetoreply.com"
            ],
            "model_type": "Group Mailbox",
            "icon": "users"
        }
    ],
    "first_page_url": "https:\/\/portal.timetoreply.com\/api\/entities\/group-mailboxes?page=1",
    "from": 1,
    "last_page": 1,
    "last_page_url": "https:\/\/portal.timetoreply.com\/api\/entities\/group-mailboxes?page=1",
    "links": [
        {
            "url": null,
            "label": "« Previous",
            "active": false
        },
        {
            "url": "https:\/\/portal.timetoreply.com\/api\/entities\/group-mailboxes?page=1",
            "label": "1",
            "active": true
        },
        {
            "url": null,
            "label": "Next »",
            "active": false
        }
    ],
    "next_page_url": null,
    "path": "https:\/\/portal.timetoreply.com\/api\/entities\/group-mailboxes",
    "per_page": 2,
    "prev_page_url": null,
    "to": 1,
    "total": 1
}
 

Request   

GET api/entities/group-mailboxes

Query Parameters

per_page  integer optional  

For paginated results, how many results per page. Max 200.

page  integer optional  

For paginated results, which page to get.

Group Mailboxes - Show

requires authentication

Show a single Group Mailbox

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/group-mailboxes/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://portal.timetoreply.com/api/entities/group-mailboxes/1',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "id": 1,
    "name": "Support",
    "email_usernames": [
        "support@timetoreply.com",
        "j.considine@timetoreply.com",
        "l.ziemann@timetoreply.com",
        "j.heathcote@timetoreply.com"
    ],
    "model_type": "Group Mailbox",
    "icon": "users"
}
 

Request   

GET api/entities/group-mailboxes/{group_mailbox}

URL Parameters

group_mailbox  integer  

The ID of the Group Mailbox.

Group Mailboxes - Store

requires authentication

Store a Group Mailbox

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/group-mailboxes"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "Sales Mailbox",
    "groupMailboxAddress": "sales@example.net",
    "aliases": [
        "info@example.net"
    ]
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://portal.timetoreply.com/api/entities/group-mailboxes',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'name' => 'Sales Mailbox',
            'groupMailboxAddress' => 'sales@example.net',
            'aliases' => [
                'info@example.net',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "group_mailbox": {
        "name": "Sales Mailbox",
        "company_id": 1,
        "updated_at": "2021-08-13 09:42:36",
        "created_at": "2021-08-13 09:42:36",
        "id": 5,
        "model_type": "Group Mailbox",
        "group_mailbox_address": null,
        "email_usernames": []
    },
    "stored_email": {
        "id": 48,
        "username": "sales",
        "domain_id": 153,
        "email_address": "sales@example.net"
    },
    "aliases": [
        {
            "id": 49,
            "username": "info",
            "domain_id": 153,
            "email_address": "info@example.net"
        }
    ]
}
 

Request   

POST api/entities/group-mailboxes

Body Parameters

name  string  

The name of the Group Mailbox.

groupMailboxAddress  string  

The email address of the Group Mailbox.

aliases  string[] optional  

An email alias for the Group Mailbox.

Group Mailboxes - Update

requires authentication

Update a Group Mailbox

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/group-mailboxes/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "Sales Mailbox",
    "groupMailboxAddress": "sales@example.net",
    "aliases": [
        "info@example.net"
    ]
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://portal.timetoreply.com/api/entities/group-mailboxes/1',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'name' => 'Sales Mailbox',
            'groupMailboxAddress' => 'sales@example.net',
            'aliases' => [
                'info@example.net',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "group_mailbox": {
        "id": 1,
        "company_id": 1,
        "name": "Sales Mailbox",
        "created_at": "2021-08-13 09:24:48",
        "updated_at": "2021-08-13 09:42:36",
        "model_type": "Group Mailbox",
        "group_mailbox_address": "support@timetoreply.com",
        "email_usernames": [
            {
                "id": 10,
                "username": "support",
                "domain_id": 8,
                "email_address": "support@timetoreply.com",
                "pivot": {
                    "email_usernameable_id": 1,
                    "email_username_id": 10,
                    "email_usernameable_type": "group_mailbox",
                    "label": "none"
                }
            }
        ]
    },
    "stored_email": {
        "id": 50,
        "username": "sales",
        "domain_id": 154,
        "email_address": "sales@example.net"
    },
    "aliases": [
        {
            "id": 51,
            "username": "info",
            "domain_id": 154,
            "email_address": "info@example.net"
        }
    ]
}
 

Request   

PUT api/entities/group-mailboxes/{group_mailbox}

PATCH api/entities/group-mailboxes/{group_mailbox}

URL Parameters

group_mailbox  integer  

The ID of the Group Mailbox to update.

Body Parameters

name  string  

The name of the Group Mailbox.

groupMailboxAddress  string  

The email address of the Group Mailbox.

aliases  string[] optional  

An array of email alias' for the Group Mailbox.

Mailboxes - Delete

requires authentication

Delete a mailbox

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/agents/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://portal.timetoreply.com/api/entities/agents/1',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "status": "Agent deletion complete."
}
 

Request   

DELETE api/entities/agents/{id}

URL Parameters

agent  integer  

The ID of the mailbox to delete.

Mailboxes - Invite

requires authentication

Create a mailbox invitation

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/agents/invite"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "Peter Rabbit",
    "type": 1,
    "email": "peter.rabbit@gmail.com",
    "message": "Hey Pete, please accept this invite."
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://portal.timetoreply.com/api/entities/agents/invite',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'name' => 'Peter Rabbit',
            'type' => 1,
            'email' => 'peter.rabbit@gmail.com',
            'message' => 'Hey Pete, please accept this invite.',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "success": true,
    "authURL": "https:\/\/portal.timetoreply.com\/authenticate\/5?expires=1629020555&signature=cad3f26a2055318b9f44cf0c4802b219747d05543d5961b6f2f1ec1d3f6dfffb"
}
 

Request   

POST api/entities/agents/invite

Body Parameters

name  string  

The name of the Mailbox user.

type  integer  

The type of Mailbox (1 = Gmail, 2 = O365, 4 = MS Exchange, 5 = Mimecast).

email  string  

The email address of the Mailbox.

message  string optional  

A personalised message to send to the mailbox during invitation.

Mailboxes - Invite As Users

requires authentication

Invite a selection of mailboxes as users

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/tools/users/invite-as-users"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "ids": [
        1
    ]
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://portal.timetoreply.com/api/tools/users/invite-as-users',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'ids' => [
                1,
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (202):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

[
    1
]
 

Request   

POST api/tools/users/invite-as-users

Body Parameters

ids  integer[]  

The IDs of the agents/mailboxes to invite as a user.

Mailboxes - List

requires authentication

List all mailboxes

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/agents"
);

const params = {
    "sort_by": "name",
    "direction": "asc",
    "per_page": "2",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://portal.timetoreply.com/api/entities/agents',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sort_by'=> 'name',
            'direction'=> 'asc',
            'per_page'=> '2',
            'page'=> '1',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "current_page": 1,
    "data": [
        {
            "id": 1,
            "company_id": 1,
            "company_name": "TimeToReply",
            "name": "Jocelyn Considine",
            "email": "j.considine@timetoreply.com",
            "main_type": "Google",
            "active": true,
            "created_at": "2021-08-06 09:24:48",
            "last_used_addon": null,
            "email_usernames": [
                "j.considine@timetoreply.com"
            ],
            "time_zone": {
                "id": 29,
                "php_timezone": "Europe\/London",
                "friendly_name": "Greenwich Mean Time =>  Dublin, Edinburgh, Lisbon, London"
            },
            "newest_message_date": "2021-08-12 16:59:32",
            "ingestion_started_date": "2020-08-18 02:47:10",
            "ingestion_completed_date": "2021-08-13 09:25:02",
            "ingestion_duration": "8646h:37m",
            "ingestion_duration_seconds": 31127872,
            "user_permissions": [
                7
            ],
            "search_string": "Jocelyn Considine j.considine@timetoreply.com",
            "leave_days": [],
            "work_days": [],
            "business_hours": []
        },
        {
            "id": 3,
            "company_id": 1,
            "company_name": "TimeToReply",
            "name": "Josh Heathcote",
            "email": "j.heathcote@timetoreply.com",
            "main_type": "Google",
            "active": true,
            "created_at": "2021-08-06 09:24:48",
            "last_used_addon": null,
            "email_usernames": [
                "j.heathcote@timetoreply.com"
            ],
            "time_zone": {
                "id": 29,
                "php_timezone": "Europe\/London",
                "friendly_name": "Greenwich Mean Time =>  Dublin, Edinburgh, Lisbon, London"
            },
            "newest_message_date": "2021-08-12 17:32:03",
            "ingestion_started_date": "2021-04-12 18:01:34",
            "ingestion_completed_date": "2021-08-13 09:25:09",
            "ingestion_duration": "2943h:23m",
            "ingestion_duration_seconds": 10596215,
            "user_permissions": [],
            "search_string": "Josh Heathcote j.heathcote@timetoreply.com",
            "leave_days": [],
            "work_days": [],
            "business_hours": []
        }
    ],
    "first_page_url": "https:\/\/portal.timetoreply.com\/api\/entities\/agents?page=1",
    "from": 1,
    "last_page": 2,
    "last_page_url": "https:\/\/portal.timetoreply.com\/api\/entities\/agents?page=2",
    "links": [
        {
            "url": null,
            "label": "« Previous",
            "active": false
        },
        {
            "url": "https:\/\/portal.timetoreply.com\/api\/entities\/agents?page=1",
            "label": "1",
            "active": true
        },
        {
            "url": "https:\/\/portal.timetoreply.com\/api\/entities\/agents?page=2",
            "label": "2",
            "active": false
        },
        {
            "url": "https:\/\/portal.timetoreply.com\/api\/entities\/agents?page=2",
            "label": "Next »",
            "active": false
        }
    ],
    "next_page_url": "https:\/\/portal.timetoreply.com\/api\/entities\/agents?page=2",
    "path": "https:\/\/portal.timetoreply.com\/api\/entities\/agents",
    "per_page": 2,
    "prev_page_url": null,
    "to": 2,
    "total": 3
}
 

Request   

GET api/entities/agents

Query Parameters

sort_by  string optional  

The field to sort the mailboxes by.

direction  string optional  

Sort asc or desc.

per_page  number optional  

The number of mailboxes to show per page.

page  number optional  

The page number.

search  string optional  

Optional search string.

Mailboxes - Re-authenticate

requires authentication

Send a re-authentication request to a mailbox.

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/agents/1/re-auth"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://portal.timetoreply.com/api/entities/agents/1/re-auth',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "status": "We've sent the Re-Authentication email to Jocelyn Considine. Please ask them to check their email and SPAM box"
}
 

Request   

GET api/entities/agents/{agent}/re-auth

URL Parameters

agent  integer  

The ID of the mailbox to send a re-authentication request to.

Mailboxes - Update

requires authentication

Update a mailbox

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/agents/1/update"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "Peter Rabbit",
    "timeZone": 1,
    "aliases": [
        "alias@example.net"
    ]
}

fetch(url, {
    method: "PATCH",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->patch(
    'https://portal.timetoreply.com/api/entities/agents/1/update',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'name' => 'Peter Rabbit',
            'timeZone' => 1,
            'aliases' => [
                'alias@example.net',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "status": "Agent updated successfully. Since the agent aliases or timezone were updated, we will now update reply times in the background"
}
 

Request   

PATCH api/entities/agents/{id}/update

URL Parameters

agent  integer  

The ID of the mailbox to update.

Body Parameters

name  string  

The name of the mailbox.

timeZone  integer  

The ID of the TimeZone for the mailbox.

aliases  string[] optional  

An array of email aliases for the mailbox.

Mailboxes -Exchange - Bulk Add

requires authentication

Store a list of Exchange Mailboxes

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/agents/store-bulk-exchange"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "service_account_email": "service_account@example.com",
    "service_account_password": "secret",
    "exchange_server": "provident",
    "emails": [
        "agent_1@example.com"
    ],
    "emails_csv_array": [
        "xemard@example.org",
        "lkshlerin@example.com"
    ]
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://portal.timetoreply.com/api/entities/agents/store-bulk-exchange',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'service_account_email' => 'service_account@example.com',
            'service_account_password' => 'secret',
            'exchange_server' => 'provident',
            'emails' => [
                'agent_1@example.com',
            ],
            'emails_csv_array' => [
                'xemard@example.org',
                'lkshlerin@example.com',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "total": 4,
    "maxAgents": 100,
    "limitAgents": true
}
 

Request   

POST api/entities/agents/store-bulk-exchange

Body Parameters

service_account_email  string  

The email address of the service account to use for authentication.

service_account_password  string  

The password of the service account to use for authentication.

exchange_server  string optional  

emails_csv  file optional  

A CSV of email addresses to add. This file upload is optional but you must supply either a CSV or a list of emails.

emails  string[] optional  

An array of email address to add. This field is optional, but you must supply either a list of emails or a CSV.

emails_csv_array  string[] optional  

Must be a valid email address.

Mailboxes -Gmail - Bulk Add

requires authentication

Add multiple mailboxes at once

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/agents/gmail-select-bulk"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "users": [
        {
            "email": "peter.rabbit@gmail.com",
            "name": "Peter Rabbit"
        },
        {
            "email": "peter.rabbit@gmail.com",
            "name": "Peter Rabbit"
        }
    ]
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://portal.timetoreply.com/api/entities/agents/gmail-select-bulk',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'users' => [
                [
                    'email' => 'peter.rabbit@gmail.com',
                    'name' => 'Peter Rabbit',
                ],
                [
                    'email' => 'peter.rabbit@gmail.com',
                    'name' => 'Peter Rabbit',
                ],
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


[
    "peter.rabbit@gmail.com"
]
 

Request   

POST api/entities/agents/gmail-select-bulk

Body Parameters

users  object[] optional  

an array of gmail "user" objects with fields email and name.

users[].email  string  

The email address of the mailbox to add.

users[].name  string  

The name of the mailbox to add.

Mailboxes -Gmail - List

requires authentication

Load potential Gmail mailboxes

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/agents/load-bulk-agents-gmail"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://portal.timetoreply.com/api/entities/agents/load-bulk-agents-gmail',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


No-example
 

Request   

GET api/entities/agents/load-bulk-agents-gmail

Mailboxes -Imap - Update

requires authentication

Update Imap Mailbox

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/agents/1/imap"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "host": "mail.example.com",
    "port": 143,
    "encryption": "tls",
    "username": "example@example.com",
    "password": "secret"
}

fetch(url, {
    method: "PATCH",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->patch(
    'https://portal.timetoreply.com/api/entities/agents/1/imap',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'host' => 'mail.example.com',
            'port' => 143,
            'encryption' => 'tls',
            'username' => 'example@example.com',
            'password' => 'secret',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "status": "Agent IMAP credentials updated successfully."
}
 

Request   

PATCH api/entities/agents/{agent}/imap

URL Parameters

agent  integer  

The ID of the agent/mailbox to update.

Body Parameters

host  string  

The IMAP Host.

port  integer  

The IMAP port.

encryption  string  

The IMAP encryption type.

username  string  

The IMAP username.

password  string  

The IMAP password.

Mailboxes -Mimecast - Bulk Add

requires authentication

Add a list of email addresses as mailboxes

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/agents/mimecast-select-bulk"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "emails": [
        "peter.rabbit@mimecast.com"
    ]
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://portal.timetoreply.com/api/entities/agents/mimecast-select-bulk',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'emails' => [
                'peter.rabbit@mimecast.com',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


[
    "peter.rabbit@mimecast.com"
]
 

Request   

POST api/entities/agents/mimecast-select-bulk

Body Parameters

emails  string[]  

An array of Mimecast emails.

Mailboxes -Mimecast - List

requires authentication

Load potential Mimecast mailboxes

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/agents/load-bulk-agents-mimecast"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://portal.timetoreply.com/api/entities/agents/load-bulk-agents-mimecast',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


No-example
 

Request   

GET api/entities/agents/load-bulk-agents-mimecast

Mailboxes -Mimecast - Search

requires authentication

Search potential Mimecast Mailboxes

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/agents/search-agents-mimecast"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://portal.timetoreply.com/api/entities/agents/search-agents-mimecast',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


No-example
 

Request   

POST api/entities/agents/search-agents-mimecast

Mailboxes -Mimecast - Token

requires authentication

Generate a Mimecast token from a username and password

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/agents/mimecast-auth"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "username": "p.rabbit@example.com",
    "password": "secret"
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://portal.timetoreply.com/api/entities/agents/mimecast-auth',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'username' => 'p.rabbit@example.com',
            'password' => 'secret',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "status": "We have successfully created a Mimecast authentication token. Please go to https:\/\/portal.timetoreply.com\/api\/entities\/agents\/load-bulk-agents-mimecast to select which mailboxes to add"
}
 

Request   

POST api/entities/agents/mimecast-auth

Body Parameters

username  string  

The Mimecast username.

password  string  

The Mimecast password.

Mailboxes -Mimecast - Update List

requires authentication

Force an update of potential Mimecast mailboxes

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/agents/force-sync-mimecast-agents"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://portal.timetoreply.com/api/entities/agents/force-sync-mimecast-agents',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


No-example
 

Request   

POST api/entities/agents/force-sync-mimecast-agents

Mailboxes -O365 - Bulk Add

requires authentication

Store a list of O365 Mailboxes

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/agents/msgraph-select-bulk"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "users": [
        {
            "id": "12345-12345-12345",
            "mail": "peter.rabbit@o365.com",
            "name": "Peter Rabbit",
            "userPrincipalName": "peter.rabbit@o365.com"
        },
        {
            "id": "12345-12345-12345",
            "mail": "peter.rabbit@o365.com",
            "name": "Peter Rabbit",
            "userPrincipalName": "peter.rabbit@o365.com"
        }
    ]
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://portal.timetoreply.com/api/entities/agents/msgraph-select-bulk',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'users' => [
                [
                    'id' => '12345-12345-12345',
                    'mail' => 'peter.rabbit@o365.com',
                    'name' => 'Peter Rabbit',
                    'userPrincipalName' => 'peter.rabbit@o365.com',
                ],
                [
                    'id' => '12345-12345-12345',
                    'mail' => 'peter.rabbit@o365.com',
                    'name' => 'Peter Rabbit',
                    'userPrincipalName' => 'peter.rabbit@o365.com',
                ],
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "total": 4,
    "maxAgents": 100,
    "limitAgents": true
}
 

Request   

POST api/entities/agents/msgraph-select-bulk

Body Parameters

users  object[]  

An array of O365 "user" objects.

users[].id  string  

The O365 user ID.

users[].mail  string  

The O365 user Email.

users[].name  string  

The O365 user's name.

users[].userPrincipalName  string  

The O365 User Principal Name.

Mailboxes -O365 - List

requires authentication

Load potential O365 Mailboxes

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/agents/load-bulk-agents"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://portal.timetoreply.com/api/entities/agents/load-bulk-agents',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "name": "Peter Rabbit",
    "id": "12345abcd",
    "mail": "peter.rabbit@example.com",
    "userPrincipalName": "peter.rabbit@example.com"
}
 

Request   

GET api/entities/agents/load-bulk-agents

Mailboxes -O365 - Search

requires authentication

Search potential O365 Mailboxes

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/agents/search-bulk-agents"
);

const params = {
    "search": "peter",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://portal.timetoreply.com/api/entities/agents/search-bulk-agents',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'search'=> 'peter',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


No-example
 

Request   

GET api/entities/agents/search-bulk-agents

Query Parameters

search  string  

The search term to use. This will search for mailboxes beginning with the search string.

Team Members - Delete

requires authentication

Remove a member from a Team

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/teams/1/agents"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "ids": [
        1
    ]
}

fetch(url, {
    method: "DELETE",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://portal.timetoreply.com/api/entities/teams/1/agents',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'ids' => [
                1,
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "current_page": 1,
    "data": [
        {
            "id": 3,
            "name": "Josh Heathcote",
            "email_usernames": [
                "j.heathcote@timetoreply.com"
            ],
            "model_type": "Mailbox",
            "icon": "user-plus"
        },
        {
            "id": 2,
            "name": "Letha Ziemann",
            "email_usernames": [
                "l.ziemann@timetoreply.com"
            ],
            "model_type": "Mailbox",
            "icon": "user-plus"
        }
    ],
    "first_page_url": "https:\/\/portal.timetoreply.com\/api\/entities\/teams\/1\/agents?page=1",
    "from": 1,
    "last_page": 1,
    "last_page_url": "https:\/\/portal.timetoreply.com\/api\/entities\/teams\/1\/agents?page=1",
    "links": [
        {
            "url": null,
            "label": "« Previous",
            "active": false
        },
        {
            "url": "https:\/\/portal.timetoreply.com\/api\/entities\/teams\/1\/agents?page=1",
            "label": "1",
            "active": true
        },
        {
            "url": null,
            "label": "Next »",
            "active": false
        }
    ],
    "next_page_url": null,
    "path": "https:\/\/portal.timetoreply.com\/api\/entities\/teams\/1\/agents",
    "per_page": 25,
    "prev_page_url": null,
    "to": 2,
    "total": 2
}
 

Request   

DELETE api/entities/teams/{team_id}/agents

URL Parameters

team  integer  

The ID of the Team.

Body Parameters

ids  integer[]  

An array of Mailbox IDs to remove as a Team Member.

Team Members - List

requires authentication

Show members of a Team

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/teams/1/agents"
);

const params = {
    "sort_by": "name",
    "direction": "asc",
    "per_page": "2",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://portal.timetoreply.com/api/entities/teams/1/agents',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sort_by'=> 'name',
            'direction'=> 'asc',
            'per_page'=> '2',
            'page'=> '1',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "current_page": 1,
    "data": [
        {
            "id": 1,
            "name": "Jocelyn Considine",
            "email_usernames": [
                "j.considine@timetoreply.com"
            ],
            "model_type": "Mailbox",
            "icon": "user-plus"
        },
        {
            "id": 3,
            "name": "Josh Heathcote",
            "email_usernames": [
                "j.heathcote@timetoreply.com"
            ],
            "model_type": "Mailbox",
            "icon": "user-plus"
        }
    ],
    "first_page_url": "https:\/\/portal.timetoreply.com\/api\/entities\/teams\/1\/agents?page=1",
    "from": 1,
    "last_page": 2,
    "last_page_url": "https:\/\/portal.timetoreply.com\/api\/entities\/teams\/1\/agents?page=2",
    "links": [
        {
            "url": null,
            "label": "« Previous",
            "active": false
        },
        {
            "url": "https:\/\/portal.timetoreply.com\/api\/entities\/teams\/1\/agents?page=1",
            "label": "1",
            "active": true
        },
        {
            "url": "https:\/\/portal.timetoreply.com\/api\/entities\/teams\/1\/agents?page=2",
            "label": "2",
            "active": false
        },
        {
            "url": "https:\/\/portal.timetoreply.com\/api\/entities\/teams\/1\/agents?page=2",
            "label": "Next »",
            "active": false
        }
    ],
    "next_page_url": "https:\/\/portal.timetoreply.com\/api\/entities\/teams\/1\/agents?page=2",
    "path": "https:\/\/portal.timetoreply.com\/api\/entities\/teams\/1\/agents",
    "per_page": 2,
    "prev_page_url": null,
    "to": 2,
    "total": 3
}
 

Request   

GET api/entities/teams/{team_id}/agents

URL Parameters

team  integer  

The ID of the Team to get Members of.

Query Parameters

sort_by  string optional  

The field to sort the mailboxes by.

direction  string optional  

Sort asc or desc.

per_page  number optional  

The number of mailboxes to show per page.

page  number optional  

The page number.

Team Members - Store

requires authentication

Add a member to a Team

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/teams/1/agents"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "ids": [
        1
    ]
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://portal.timetoreply.com/api/entities/teams/1/agents',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'ids' => [
                1,
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "current_page": 1,
    "data": [
        {
            "id": 1,
            "name": "Jocelyn Considine",
            "email_usernames": [
                "j.considine@timetoreply.com"
            ],
            "model_type": "Mailbox",
            "icon": "user-plus"
        },
        {
            "id": 3,
            "name": "Josh Heathcote",
            "email_usernames": [
                "j.heathcote@timetoreply.com"
            ],
            "model_type": "Mailbox",
            "icon": "user-plus"
        },
        {
            "id": 2,
            "name": "Letha Ziemann",
            "email_usernames": [
                "l.ziemann@timetoreply.com"
            ],
            "model_type": "Mailbox",
            "icon": "user-plus"
        }
    ],
    "first_page_url": "https:\/\/portal.timetoreply.com\/api\/entities\/teams\/1\/agents?page=1",
    "from": 1,
    "last_page": 1,
    "last_page_url": "https:\/\/portal.timetoreply.com\/api\/entities\/teams\/1\/agents?page=1",
    "links": [
        {
            "url": null,
            "label": "« Previous",
            "active": false
        },
        {
            "url": "https:\/\/portal.timetoreply.com\/api\/entities\/teams\/1\/agents?page=1",
            "label": "1",
            "active": true
        },
        {
            "url": null,
            "label": "Next »",
            "active": false
        }
    ],
    "next_page_url": null,
    "path": "https:\/\/portal.timetoreply.com\/api\/entities\/teams\/1\/agents",
    "per_page": 25,
    "prev_page_url": null,
    "to": 3,
    "total": 3
}
 

Request   

POST api/entities/teams/{team}/agents

URL Parameters

team  integer  

The ID of the Team.

Body Parameters

ids  integer[]  

An array of Mailbox IDs to add as a Team Member.

Teams - Delete

requires authentication

Delete a Team

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/teams/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://portal.timetoreply.com/api/entities/teams/1',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "status": "Team deleted."
}
 

Request   

DELETE api/entities/teams/{id}

URL Parameters

team  integer  

The ID of the Team.

Teams - List

requires authentication

Show all teams

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/teams"
);

const params = {
    "per_page": "25",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://portal.timetoreply.com/api/entities/teams',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'per_page'=> '25',
            'page'=> '1',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "current_page": 1,
    "data": [
        {
            "id": 1,
            "name": "US Sales Team",
            "email_usernames": [
                "j.considine@timetoreply.com",
                "l.ziemann@timetoreply.com",
                "j.heathcote@timetoreply.com"
            ],
            "model_type": "Team",
            "icon": "handshake"
        }
    ],
    "first_page_url": "https:\/\/portal.timetoreply.com\/api\/entities\/teams?page=1",
    "from": 1,
    "last_page": 1,
    "last_page_url": "https:\/\/portal.timetoreply.com\/api\/entities\/teams?page=1",
    "links": [
        {
            "url": null,
            "label": "« Previous",
            "active": false
        },
        {
            "url": "https:\/\/portal.timetoreply.com\/api\/entities\/teams?page=1",
            "label": "1",
            "active": true
        },
        {
            "url": null,
            "label": "Next »",
            "active": false
        }
    ],
    "next_page_url": null,
    "path": "https:\/\/portal.timetoreply.com\/api\/entities\/teams",
    "per_page": 2,
    "prev_page_url": null,
    "to": 1,
    "total": 1
}
 

Request   

GET api/entities/teams

Query Parameters

per_page  integer optional  

For paginated results, how many results per page. Max 200.

page  integer optional  

For paginated results, which page to get.

Teams - Show

requires authentication

Show a single Team

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/teams/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://portal.timetoreply.com/api/entities/teams/1',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "id": 1,
    "name": "US Sales Team",
    "email_usernames": [
        "j.considine@timetoreply.com",
        "l.ziemann@timetoreply.com",
        "j.heathcote@timetoreply.com"
    ],
    "model_type": "Team",
    "icon": "handshake"
}
 

Request   

GET api/entities/teams/{id}

URL Parameters

team  integer  

The ID of the Team.

Teams - Store

requires authentication

Store a new Team

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/teams"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "US Support Team"
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://portal.timetoreply.com/api/entities/teams',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'name' => 'US Support Team',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "id": 5,
    "name": "US Support Team",
    "model_type": "Team",
    "icon": "handshake"
}
 

Request   

POST api/entities/teams

Body Parameters

name  string  

The name of the Team.

Teams - Update

requires authentication

Update a Team

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/teams/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "US Support Team"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://portal.timetoreply.com/api/entities/teams/1',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'name' => 'US Support Team',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "id": 1,
    "name": "US Support Team",
    "email_usernames": [
        "j.considine@timetoreply.com",
        "l.ziemann@timetoreply.com",
        "j.heathcote@timetoreply.com"
    ],
    "model_type": "Team",
    "icon": "handshake"
}
 

Request   

PUT api/entities/teams/{id}

PATCH api/entities/teams/{id}

URL Parameters

team  integer  

The ID of the Team.

Body Parameters

name  string  

The name of the Team.

Logs

Conversations - Close

requires authentication

Endpoint For marking Conversations as closed.

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/logs/conversations/mark-closed"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "ids": [
        8,
        6,
        7,
        5,
        3,
        0,
        9
    ]
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://portal.timetoreply.com/api/logs/conversations/mark-closed',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'ids' => [
                8,
                6,
                7,
                5,
                3,
                0,
                9,
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "ids": [
        3,
        5,
        6,
        7,
        8,
        9
    ]
}
 

Request   

POST api/logs/conversations/mark-closed

Body Parameters

ids  integer[]  

An array of Conversation/Thread IDs to marked off as closed.

Conversations - Find

requires authentication

Entire Conversation from a single Message ID

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/logs/conversations/get-by-internet-message-id"
);

const params = {
    "internet_message_id": "1601678270iYOoAwCjDD@TnlYu0KwPhwXxhcTAeHFJMHlI.DrfT",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://portal.timetoreply.com/api/logs/conversations/get-by-internet-message-id',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'internet_message_id'=> '1601678270iYOoAwCjDD@TnlYu0KwPhwXxhcTAeHFJMHlI.DrfT',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "id": 1,
    "init_agent_reply_time": null,
    "init_agent_action_time": null,
    "total_agent_reply_time": 0,
    "last_received_at_date_time": "Aug 9th 2021 12:29:00",
    "thread_type": "internal",
    "thread_status": "internal",
    "raw_init_agent_reply_time": null,
    "init_agent_reply_message_id": null,
    "init_reply_agent_id": null,
    "time_to_close": null,
    "raw_time_to_close": null,
    "friendly_initial_reply_time": "Pending",
    "friendly_raw_initial_reply_time": "Pending",
    "friendly_total_reply_time": "N\/A",
    "microsoft_conversations": [],
    "email_usernames": [
        "l.ziemann@timetoreply.com",
        "j.considine@timetoreply.com",
        "j.heathcote@timetoreply.com"
    ],
    "email_usernames_from": [
        "l.ziemann@timetoreply.com"
    ],
    "email_usernames_to": [
        "j.considine@timetoreply.com"
    ],
    "email_usernames_received": [
        "j.considine@timetoreply.com",
        "j.heathcote@timetoreply.com"
    ],
    "email_domains": [
        "timetoreply.com"
    ],
    "date_times": [
        "2021-08-09 11:29:00"
    ],
    "message_classifications": [
        "first"
    ],
    "message_subjects": [
        "Amet laborum et eos dicta."
    ],
    "messages": [
        {
            "internet_message_id": "1469925980W1kxip7JGI@TgGsXkON5c8acU1belBeg0NMV.d8IM",
            "date_time": "Aug 9th 2021 12:29:00",
            "subject": "Amet laborum et eos dicta.",
            "references": [
                "1470632662krzCcLvZdu@qqSXGI8yZo5z6GQmyauWf9KlY.psjs",
                "146992598078Jkb2MZpf@DtYBG6uX7NhCTZFvR9egFsUON.gVqo"
            ],
            "replytime": null,
            "classification": "first",
            "raw_replytime": null,
            "friendly_reply_time": "N\/A",
            "friendly_raw_reply_time": "N\/A",
            "email_domains": [
                "timetoreply.com"
            ],
            "email_domains_from": [
                "timetoreply.com"
            ],
            "email_domains_to": [
                "timetoreply.com"
            ],
            "email_domains_received": [
                "timetoreply.com"
            ],
            "email_usernames": [
                "l.ziemann@timetoreply.com",
                "j.considine@timetoreply.com",
                "j.heathcote@timetoreply.com"
            ],
            "email_usernames_from": [
                "l.ziemann@timetoreply.com"
            ],
            "email_usernames_to": [
                "j.considine@timetoreply.com"
            ],
            "email_usernames_cc": [
                "j.heathcote@timetoreply.com"
            ],
            "email_usernames_received": [
                "j.considine@timetoreply.com",
                "j.heathcote@timetoreply.com"
            ],
            "is_initial_reply": false,
            "thread_ids": [
                1
            ],
            "message_type": "internal",
            "labels": [],
            "is_closing_email": false,
            "is_included_in_stats": true,
            "timestamp": 1628508540,
            "reply_is_relevant": true,
            "reply_is_outlier": false,
            "agents_read_status": {
                "j.considine@timetoreply.com": true,
                "j.heathcote@timetoreply.com": true
            }
        }
    ],
    "labels": [],
    "has_contact_success": false,
    "contact_success_time": null,
    "contact_reply_time": null,
    "subject": "Amet laborum et eos dicta.",
    "initial_reply_is_relevant": true,
    "initial_reply_is_outlier": false,
    "friendly_time_to_close": "N\/A",
    "friendly_raw_time_to_close": "N\/A"
}
 

Request   

GET api/logs/conversations/get-by-internet-message-id

Query Parameters

internet_message_id  string  

The internet message id of the message for which you want the entire conversation.

Conversations - Report

requires authentication

Conversation (Thread) Logs data

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/logs/conversations"
);

const params = {
    "from": "2020-01-01",
    "to": "2020-01-08",
    "model": "My Company",
    "model_type": "Internal",
    "exclude_cc": "",
    "model_com": "Top Revenue Contacts",
    "model_type_com": "Contact Group",
    "exclude_cc_com": "",
    "exclusive": "",
    "label": "INBOX",
    "thread_type": "inbound,outbound,internal",
    "thread_status": "internal,await-customer,closed,await-agent",
    "has_replies": "hasReplies,hasForwards,hasNoRepliesOrForwards",
    "classification": "calculating,first,reply,reply-all,forward",
    "messageType": "inbound,outbound,internal",
    "replies_over": "15",
    "message_replies_over": "15",
    "no_reply_for": "15",
    "per_page": "2",
    "sort_by": "last_received_at_date_time",
    "direction": "desc",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://portal.timetoreply.com/api/logs/conversations',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'from'=> '2020-01-01',
            'to'=> '2020-01-08',
            'model'=> 'My Company',
            'model_type'=> 'Internal',
            'exclude_cc'=> '',
            'model_com'=> 'Top Revenue Contacts',
            'model_type_com'=> 'Contact Group',
            'exclude_cc_com'=> '',
            'exclusive'=> '',
            'label'=> 'INBOX',
            'thread_type'=> 'inbound,outbound,internal',
            'thread_status'=> 'internal,await-customer,closed,await-agent',
            'has_replies'=> 'hasReplies,hasForwards,hasNoRepliesOrForwards',
            'classification'=> 'calculating,first,reply,reply-all,forward',
            'messageType'=> 'inbound,outbound,internal',
            'replies_over'=> '15',
            'message_replies_over'=> '15',
            'no_reply_for'=> '15',
            'per_page'=> '2',
            'sort_by'=> 'last_received_at_date_time',
            'direction'=> 'desc',
            'page'=> '1',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "threads": {
        "current_page": 1,
        "data": [
            {
                "id": 200,
                "init_agent_reply_time": 0,
                "init_agent_action_time": 0,
                "total_agent_reply_time": 51811,
                "last_received_at_date_time": "Aug 13th 2021 09:13:29",
                "thread_type": "inbound",
                "thread_status": "await-customer",
                "raw_init_agent_reply_time": 1581,
                "init_agent_reply_message_id": "1511147170U01NVopenW@JtgwbTYOO4TsZ7Yc1ET8VqGU6.EbqK",
                "init_reply_agent_id": 3,
                "time_to_close": null,
                "raw_time_to_close": null,
                "friendly_initial_reply_time": "00s",
                "friendly_raw_initial_reply_time": "26m:21s",
                "friendly_total_reply_time": "14h:23m:31s",
                "microsoft_conversations": [],
                "email_usernames": [
                    "pwolff@boehm.com",
                    "j.heathcote@timetoreply.com"
                ],
                "email_usernames_from": [
                    "pwolff@boehm.com",
                    "j.heathcote@timetoreply.com"
                ],
                "email_usernames_to": [
                    "j.heathcote@timetoreply.com",
                    "pwolff@boehm.com"
                ],
                "email_usernames_received": [
                    "j.heathcote@timetoreply.com",
                    "pwolff@boehm.com"
                ],
                "email_domains": [
                    "boehm.com",
                    "timetoreply.com"
                ],
                "date_times": [
                    "2021-08-12 17:23:37",
                    "2021-08-12 17:49:58",
                    "2021-08-13 08:01:56",
                    "2021-08-13 08:13:29"
                ],
                "message_classifications": [
                    "first",
                    "reply"
                ],
                "message_subjects": [
                    "Quos sunt rem animi doloribus.",
                    "RE: Quos sunt rem animi doloribus."
                ],
                "messages": [
                    {
                        "internet_message_id": "1568494320fkBXgISiiJ@GcDF9YMKqa8XAnlZGjvQr24z2.qscY",
                        "date_time": "Aug 13th 2021 09:13:29",
                        "subject": "RE: Quos sunt rem animi doloribus.",
                        "references": [
                            "1607462535dF8vIzbz8h@Ehjx3tuE2bOOkT6QypbopgV1j.CfaH",
                            "1511147170U01NVopenW@JtgwbTYOO4TsZ7Yc1ET8VqGU6.EbqK",
                            "1558790651xvdSj4GQ6X@74tBDTbZwRdm5DYDpPAoNidm8.pbbv"
                        ],
                        "replytime": 693,
                        "classification": "reply",
                        "raw_replytime": 693,
                        "friendly_reply_time": "11m:33s",
                        "friendly_raw_reply_time": "11m:33s",
                        "email_domains": [
                            "timetoreply.com",
                            "boehm.com"
                        ],
                        "email_domains_from": [
                            "timetoreply.com"
                        ],
                        "email_domains_to": [
                            "boehm.com"
                        ],
                        "email_domains_received": [
                            "boehm.com"
                        ],
                        "email_usernames": [
                            "j.heathcote@timetoreply.com",
                            "pwolff@boehm.com"
                        ],
                        "email_usernames_from": [
                            "j.heathcote@timetoreply.com"
                        ],
                        "email_usernames_to": [
                            "pwolff@boehm.com"
                        ],
                        "email_usernames_cc": [],
                        "email_usernames_received": [
                            "pwolff@boehm.com"
                        ],
                        "is_initial_reply": false,
                        "thread_ids": [
                            200
                        ],
                        "message_type": "outbound",
                        "labels": [],
                        "is_closing_email": false,
                        "is_included_in_stats": true,
                        "timestamp": 1628842409,
                        "reply_is_relevant": true,
                        "reply_is_outlier": false,
                        "agents_read_status": []
                    },
                    {
                        "internet_message_id": "1558790651xvdSj4GQ6X@74tBDTbZwRdm5DYDpPAoNidm8.pbbv",
                        "date_time": "Aug 13th 2021 09:01:56",
                        "subject": "RE: Quos sunt rem animi doloribus.",
                        "references": [
                            "1607462535dF8vIzbz8h@Ehjx3tuE2bOOkT6QypbopgV1j.CfaH",
                            "1511147170U01NVopenW@JtgwbTYOO4TsZ7Yc1ET8VqGU6.EbqK"
                        ],
                        "replytime": 51118,
                        "classification": "reply",
                        "raw_replytime": 51118,
                        "friendly_reply_time": "14h:11m:58s",
                        "friendly_raw_reply_time": "14h:11m:58s",
                        "email_domains": [
                            "boehm.com",
                            "timetoreply.com"
                        ],
                        "email_domains_from": [
                            "boehm.com"
                        ],
                        "email_domains_to": [
                            "timetoreply.com"
                        ],
                        "email_domains_received": [
                            "timetoreply.com"
                        ],
                        "email_usernames": [
                            "pwolff@boehm.com",
                            "j.heathcote@timetoreply.com"
                        ],
                        "email_usernames_from": [
                            "pwolff@boehm.com"
                        ],
                        "email_usernames_to": [
                            "j.heathcote@timetoreply.com"
                        ],
                        "email_usernames_cc": [],
                        "email_usernames_received": [
                            "j.heathcote@timetoreply.com"
                        ],
                        "is_initial_reply": false,
                        "thread_ids": [
                            200
                        ],
                        "message_type": "inbound",
                        "labels": [
                            "UNREAD"
                        ],
                        "is_closing_email": false,
                        "is_included_in_stats": true,
                        "timestamp": 1628841716,
                        "reply_is_relevant": false,
                        "reply_is_outlier": false,
                        "agents_read_status": {
                            "j.heathcote@timetoreply.com": false
                        }
                    },
                    {
                        "internet_message_id": "1511147170U01NVopenW@JtgwbTYOO4TsZ7Yc1ET8VqGU6.EbqK",
                        "date_time": "Aug 12th 2021 18:49:58",
                        "subject": "RE: Quos sunt rem animi doloribus.",
                        "references": [
                            "1607462535dF8vIzbz8h@Ehjx3tuE2bOOkT6QypbopgV1j.CfaH"
                        ],
                        "replytime": 0,
                        "classification": "reply",
                        "raw_replytime": 1581,
                        "friendly_reply_time": "00s",
                        "friendly_raw_reply_time": "26m:21s",
                        "email_domains": [
                            "timetoreply.com",
                            "boehm.com"
                        ],
                        "email_domains_from": [
                            "timetoreply.com"
                        ],
                        "email_domains_to": [
                            "boehm.com"
                        ],
                        "email_domains_received": [
                            "boehm.com"
                        ],
                        "email_usernames": [
                            "j.heathcote@timetoreply.com",
                            "pwolff@boehm.com"
                        ],
                        "email_usernames_from": [
                            "j.heathcote@timetoreply.com"
                        ],
                        "email_usernames_to": [
                            "pwolff@boehm.com"
                        ],
                        "email_usernames_cc": [],
                        "email_usernames_received": [
                            "pwolff@boehm.com"
                        ],
                        "is_initial_reply": true,
                        "thread_ids": [
                            200
                        ],
                        "message_type": "outbound",
                        "labels": [
                            "CATEGORY_UPDATES"
                        ],
                        "is_closing_email": false,
                        "is_included_in_stats": true,
                        "timestamp": 1628790598,
                        "reply_is_relevant": true,
                        "reply_is_outlier": false,
                        "agents_read_status": []
                    },
                    {
                        "internet_message_id": "1607462535dF8vIzbz8h@Ehjx3tuE2bOOkT6QypbopgV1j.CfaH",
                        "date_time": "Aug 12th 2021 18:23:37",
                        "subject": "Quos sunt rem animi doloribus.",
                        "references": null,
                        "replytime": null,
                        "classification": "first",
                        "raw_replytime": null,
                        "friendly_reply_time": "N\/A",
                        "friendly_raw_reply_time": "N\/A",
                        "email_domains": [
                            "boehm.com",
                            "timetoreply.com"
                        ],
                        "email_domains_from": [
                            "boehm.com"
                        ],
                        "email_domains_to": [
                            "timetoreply.com"
                        ],
                        "email_domains_received": [
                            "timetoreply.com"
                        ],
                        "email_usernames": [
                            "pwolff@boehm.com",
                            "j.heathcote@timetoreply.com"
                        ],
                        "email_usernames_from": [
                            "pwolff@boehm.com"
                        ],
                        "email_usernames_to": [
                            "j.heathcote@timetoreply.com"
                        ],
                        "email_usernames_cc": [],
                        "email_usernames_received": [
                            "j.heathcote@timetoreply.com"
                        ],
                        "is_initial_reply": false,
                        "thread_ids": [
                            200
                        ],
                        "message_type": "inbound",
                        "labels": [
                            "UNREAD"
                        ],
                        "is_closing_email": false,
                        "is_included_in_stats": true,
                        "timestamp": 1628789017,
                        "reply_is_relevant": false,
                        "reply_is_outlier": false,
                        "agents_read_status": {
                            "j.heathcote@timetoreply.com": false
                        }
                    }
                ],
                "labels": [
                    "UNREAD",
                    "CATEGORY_UPDATES"
                ],
                "has_contact_success": true,
                "contact_success_time": 51118,
                "contact_reply_time": 51118,
                "subject": "RE: Quos sunt rem animi doloribus.",
                "initial_reply_is_relevant": true,
                "initial_reply_is_outlier": false,
                "friendly_time_to_close": "N\/A",
                "friendly_raw_time_to_close": "N\/A"
            },
            {
                "id": 274,
                "init_agent_reply_time": 0,
                "init_agent_action_time": 0,
                "total_agent_reply_time": 0,
                "last_received_at_date_time": "Aug 12th 2021 18:32:03",
                "thread_type": "inbound",
                "thread_status": "await-customer",
                "raw_init_agent_reply_time": 1597,
                "init_agent_reply_message_id": "1560618369UpHfOP2538@VVagZ2OR2v9xkZ941MSC1CHAe.4hbx",
                "init_reply_agent_id": 2,
                "time_to_close": null,
                "raw_time_to_close": null,
                "friendly_initial_reply_time": "00s",
                "friendly_raw_initial_reply_time": "26m:37s",
                "friendly_total_reply_time": "00s",
                "microsoft_conversations": [],
                "email_usernames": [
                    "obogisich@kub.com",
                    "support@timetoreply.com",
                    "l.ziemann@timetoreply.com"
                ],
                "email_usernames_from": [
                    "obogisich@kub.com",
                    "l.ziemann@timetoreply.com"
                ],
                "email_usernames_to": [
                    "support@timetoreply.com",
                    "obogisich@kub.com"
                ],
                "email_usernames_received": [
                    "support@timetoreply.com",
                    "obogisich@kub.com"
                ],
                "email_domains": [
                    "kub.com",
                    "timetoreply.com"
                ],
                "date_times": [
                    "2021-08-12 17:05:26",
                    "2021-08-12 17:32:03"
                ],
                "message_classifications": [
                    "first",
                    "reply"
                ],
                "message_subjects": [
                    "Voluptatibus iure quasi sunt iste consequatur eveniet.",
                    "RE: Voluptatibus iure quasi sunt iste consequatur eveniet."
                ],
                "messages": [
                    {
                        "internet_message_id": "1560618369UpHfOP2538@VVagZ2OR2v9xkZ941MSC1CHAe.4hbx",
                        "date_time": "Aug 12th 2021 18:32:03",
                        "subject": "RE: Voluptatibus iure quasi sunt iste consequatur eveniet.",
                        "references": [
                            "1598210182W58HFLgvTL@d6q3QpNg70x6btbDJP2fXFgxM.haDX"
                        ],
                        "replytime": 0,
                        "classification": "reply",
                        "raw_replytime": 1597,
                        "friendly_reply_time": "00s",
                        "friendly_raw_reply_time": "26m:37s",
                        "email_domains": [
                            "timetoreply.com",
                            "kub.com"
                        ],
                        "email_domains_from": [
                            "timetoreply.com"
                        ],
                        "email_domains_to": [
                            "kub.com"
                        ],
                        "email_domains_received": [
                            "kub.com"
                        ],
                        "email_usernames": [
                            "l.ziemann@timetoreply.com",
                            "obogisich@kub.com"
                        ],
                        "email_usernames_from": [
                            "l.ziemann@timetoreply.com"
                        ],
                        "email_usernames_to": [
                            "obogisich@kub.com"
                        ],
                        "email_usernames_cc": [],
                        "email_usernames_received": [
                            "obogisich@kub.com"
                        ],
                        "is_initial_reply": true,
                        "thread_ids": [
                            274
                        ],
                        "message_type": "outbound",
                        "labels": [
                            "UNREAD"
                        ],
                        "is_closing_email": false,
                        "is_included_in_stats": true,
                        "timestamp": 1628789523,
                        "reply_is_relevant": true,
                        "reply_is_outlier": false,
                        "agents_read_status": []
                    },
                    {
                        "internet_message_id": "1598210182W58HFLgvTL@d6q3QpNg70x6btbDJP2fXFgxM.haDX",
                        "date_time": "Aug 12th 2021 18:05:26",
                        "subject": "Voluptatibus iure quasi sunt iste consequatur eveniet.",
                        "references": null,
                        "replytime": null,
                        "classification": "first",
                        "raw_replytime": null,
                        "friendly_reply_time": "N\/A",
                        "friendly_raw_reply_time": "N\/A",
                        "email_domains": [
                            "kub.com",
                            "timetoreply.com"
                        ],
                        "email_domains_from": [
                            "kub.com"
                        ],
                        "email_domains_to": [
                            "timetoreply.com"
                        ],
                        "email_domains_received": [
                            "timetoreply.com"
                        ],
                        "email_usernames": [
                            "obogisich@kub.com",
                            "support@timetoreply.com"
                        ],
                        "email_usernames_from": [
                            "obogisich@kub.com"
                        ],
                        "email_usernames_to": [
                            "support@timetoreply.com"
                        ],
                        "email_usernames_cc": [],
                        "email_usernames_received": [
                            "support@timetoreply.com"
                        ],
                        "is_initial_reply": false,
                        "thread_ids": [
                            274
                        ],
                        "message_type": "inbound",
                        "labels": [
                            "UNREAD"
                        ],
                        "is_closing_email": false,
                        "is_included_in_stats": true,
                        "timestamp": 1628787926,
                        "reply_is_relevant": false,
                        "reply_is_outlier": false,
                        "agents_read_status": []
                    }
                ],
                "labels": [
                    "UNREAD"
                ],
                "has_contact_success": false,
                "contact_success_time": null,
                "contact_reply_time": null,
                "subject": "RE: Voluptatibus iure quasi sunt iste consequatur eveniet.",
                "initial_reply_is_relevant": true,
                "initial_reply_is_outlier": false,
                "friendly_time_to_close": "N\/A",
                "friendly_raw_time_to_close": "N\/A"
            }
        ],
        "first_page_url": "https:\/\/portal.timetoreply.com\/api\/logs\/conversations?page=1",
        "from": 1,
        "last_page": 74,
        "last_page_url": "https:\/\/portal.timetoreply.com\/api\/logs\/conversations?page=74",
        "links": [
            {
                "url": null,
                "label": "« Previous",
                "active": false
            },
            {
                "url": "https:\/\/portal.timetoreply.com\/api\/logs\/conversations?page=1",
                "label": "1",
                "active": true
            },
            {
                "url": "https:\/\/portal.timetoreply.com\/api\/logs\/conversations?page=2",
                "label": "2",
                "active": false
            },
            {
                "url": "https:\/\/portal.timetoreply.com\/api\/logs\/conversations?page=3",
                "label": "3",
                "active": false
            },
            {
                "url": "https:\/\/portal.timetoreply.com\/api\/logs\/conversations?page=4",
                "label": "4",
                "active": false
            },
            {
                "url": "https:\/\/portal.timetoreply.com\/api\/logs\/conversations?page=5",
                "label": "5",
                "active": false
            },
            {
                "url": "https:\/\/portal.timetoreply.com\/api\/logs\/conversations?page=6",
                "label": "6",
                "active": false
            },
            {
                "url": "https:\/\/portal.timetoreply.com\/api\/logs\/conversations?page=7",
                "label": "7",
                "active": false
            },
            {
                "url": "https:\/\/portal.timetoreply.com\/api\/logs\/conversations?page=8",
                "label": "8",
                "active": false
            },
            {
                "url": "https:\/\/portal.timetoreply.com\/api\/logs\/conversations?page=9",
                "label": "9",
                "active": false
            },
            {
                "url": "https:\/\/portal.timetoreply.com\/api\/logs\/conversations?page=10",
                "label": "10",
                "active": false
            },
            {
                "url": null,
                "label": "...",
                "active": false
            },
            {
                "url": "https:\/\/portal.timetoreply.com\/api\/logs\/conversations?page=73",
                "label": "73",
                "active": false
            },
            {
                "url": "https:\/\/portal.timetoreply.com\/api\/logs\/conversations?page=74",
                "label": "74",
                "active": false
            },
            {
                "url": "https:\/\/portal.timetoreply.com\/api\/logs\/conversations?page=2",
                "label": "Next »",
                "active": false
            }
        ],
        "next_page_url": "https:\/\/portal.timetoreply.com\/api\/logs\/conversations?page=2",
        "path": "https:\/\/portal.timetoreply.com\/api\/logs\/conversations",
        "per_page": 2,
        "prev_page_url": null,
        "to": 2,
        "total": 147
    },
    "stats": {
        "threads": {
            "total": 147,
            "internal": 15,
            "inbound": 114,
            "outbound": 18,
            "sentInternally": 23,
            "awaitCustomer": 50,
            "awaitAgent": 66,
            "closed": 8,
            "haveReplies": 109,
            "haveRepliesFromAgents": 102,
            "completionRatio": {
                "ratio": "75.63%",
                "numerator": 90,
                "denominator": 119
            }
        },
        "messages": {
            "count": 370,
            "initial": 137,
            "replies": 200,
            "replyAll": 24,
            "forward": 9,
            "received": {
                "count": 239,
                "initial": 119,
                "replies": 88,
                "replyAll": 23,
                "forward": 9,
                "initialReplies": 26,
                "dayOfWeek": {
                    "Friday": 27.5,
                    "Monday": 34,
                    "Saturday": 1,
                    "Sunday": 2,
                    "Thursday": 55,
                    "Tuesday": 46,
                    "Wednesday": 46
                },
                "hourOfDay": {
                    "00:00": 0.143,
                    "01:00": 0.143,
                    "02:00": 0,
                    "03:00": 0,
                    "04:00": 0.286,
                    "05:00": 0,
                    "06:00": 0.286,
                    "07:00": 0,
                    "08:00": 0.286,
                    "09:00": 0.286,
                    "10:00": 2.286,
                    "11:00": 3.714,
                    "12:00": 4.286,
                    "13:00": 3.286,
                    "14:00": 3,
                    "15:00": 4.571,
                    "16:00": 4.286,
                    "17:00": 6,
                    "18:00": 1.143,
                    "19:00": 0.143,
                    "20:00": 0,
                    "21:00": 0,
                    "22:00": 0,
                    "23:00": 0
                }
            },
            "sent": {
                "count": 181,
                "initial": 31,
                "replies": 125,
                "replyAll": 16,
                "forward": 9,
                "initialReplies": 90,
                "dayOfWeek": {
                    "Friday": 19.5,
                    "Monday": 26,
                    "Saturday": 1,
                    "Sunday": 0,
                    "Thursday": 45,
                    "Tuesday": 37,
                    "Wednesday": 33
                },
                "hourOfDay": {
                    "00:00": 0,
                    "01:00": 0,
                    "02:00": 0,
                    "03:00": 0,
                    "04:00": 0,
                    "05:00": 0,
                    "06:00": 0,
                    "07:00": 0,
                    "08:00": 0.143,
                    "09:00": 0.286,
                    "10:00": 1.143,
                    "11:00": 4,
                    "12:00": 3.571,
                    "13:00": 3.143,
                    "14:00": 2,
                    "15:00": 3.143,
                    "16:00": 3.286,
                    "17:00": 4.286,
                    "18:00": 0.714,
                    "19:00": 0,
                    "20:00": 0,
                    "21:00": 0,
                    "22:00": 0.143,
                    "23:00": 0
                }
            }
        },
        "overallTTR": {
            "friendly": "02h:52m",
            "raw": 10341.765957446809,
            "friendlyNoBusiness": "12h:10m",
            "rawNoBusiness": 43858.34751773049,
            "percentileRanks": [
                {
                    "key": "15m:00s",
                    "value": "38.66%"
                },
                {
                    "key": "01h:00m",
                    "value": "76.14%"
                },
                {
                    "key": "02h:00m",
                    "value": "79.57%"
                },
                {
                    "key": "04h:00m",
                    "value": "85.46%"
                },
                {
                    "key": "08h:00m",
                    "value": "90.07%"
                },
                {
                    "key": "24h:00m",
                    "value": "95.32%"
                }
            ],
            "percentileRanksRaw": [
                {
                    "key": "15m:00s",
                    "value": "30.17%"
                },
                {
                    "key": "01h:00m",
                    "value": "76.14%"
                },
                {
                    "key": "02h:00m",
                    "value": "78.86%"
                },
                {
                    "key": "04h:00m",
                    "value": "82.32%"
                },
                {
                    "key": "08h:00m",
                    "value": "84.49%"
                },
                {
                    "key": "24h:00m",
                    "value": "88.76%"
                }
            ]
        },
        "initialTTR": {
            "friendly": "03h:35m",
            "raw": 12927.133333333333,
            "friendlyNoBusiness": "15h:31m",
            "rawNoBusiness": 55874.044444444444,
            "percentileRanks": [
                {
                    "key": "15m:00s",
                    "value": "37.06%"
                },
                {
                    "key": "01h:00m",
                    "value": "70.49%"
                },
                {
                    "key": "02h:00m",
                    "value": "75.19%"
                },
                {
                    "key": "04h:00m",
                    "value": "82.78%"
                },
                {
                    "key": "08h:00m",
                    "value": "87.11%"
                },
                {
                    "key": "24h:00m",
                    "value": "93.77%"
                }
            ],
            "percentileRanksRaw": [
                {
                    "key": "15m:00s",
                    "value": "26.37%"
                },
                {
                    "key": "01h:00m",
                    "value": "70.49%"
                },
                {
                    "key": "02h:00m",
                    "value": "74.16%"
                },
                {
                    "key": "04h:00m",
                    "value": "77.85%"
                },
                {
                    "key": "08h:00m",
                    "value": "81.26%"
                },
                {
                    "key": "24h:00m",
                    "value": "85.83%"
                }
            ]
        },
        "overallTTF": {
            "friendly": "43m:06s",
            "raw": 2586.777777777778,
            "friendlyNoBusiness": "04h:07m",
            "rawNoBusiness": 14820,
            "percentileRanks": [
                {
                    "key": "15m:00s",
                    "value": "27.11%"
                },
                {
                    "key": "01h:00m",
                    "value": "79.52%"
                },
                {
                    "key": "02h:00m",
                    "value": "87.35%"
                },
                {
                    "key": "04h:00m",
                    "value": "100.00%"
                },
                {
                    "key": "08h:00m",
                    "value": "100.00%"
                },
                {
                    "key": "24h:00m",
                    "value": "100.00%"
                }
            ],
            "percentileRanksRaw": [
                {
                    "key": "15m:00s",
                    "value": "27.11%"
                },
                {
                    "key": "01h:00m",
                    "value": "66.93%"
                },
                {
                    "key": "02h:00m",
                    "value": "68.35%"
                },
                {
                    "key": "04h:00m",
                    "value": "71.19%"
                },
                {
                    "key": "08h:00m",
                    "value": "76.86%"
                },
                {
                    "key": "24h:00m",
                    "value": "100.00%"
                }
            ]
        },
        "overallTTC": {
            "friendly": "03h:14m",
            "raw": 11655.5,
            "friendlyNoBusiness": "15h:05m",
            "rawNoBusiness": 54304,
            "percentileRanks": [
                {
                    "key": "15m:00s",
                    "value": "41.75%"
                },
                {
                    "key": "01h:00m",
                    "value": "52.57%"
                },
                {
                    "key": "02h:00m",
                    "value": "56.67%"
                },
                {
                    "key": "04h:00m",
                    "value": "64.86%"
                },
                {
                    "key": "08h:00m",
                    "value": "100.00%"
                },
                {
                    "key": "24h:00m",
                    "value": "100.00%"
                }
            ],
            "percentileRanksRaw": [
                {
                    "key": "15m:00s",
                    "value": "0.00%"
                },
                {
                    "key": "01h:00m",
                    "value": "25.91%"
                },
                {
                    "key": "02h:00m",
                    "value": "29.40%"
                },
                {
                    "key": "04h:00m",
                    "value": "36.37%"
                },
                {
                    "key": "08h:00m",
                    "value": "50.10%"
                },
                {
                    "key": "24h:00m",
                    "value": "68.69%"
                }
            ]
        },
        "dailyStats": [
            {
                "timestamp": 1628204400000,
                "date": "Fri, 6th Aug",
                "messages": {
                    "sent": 38,
                    "forward": 3,
                    "reply": 29,
                    "received": 54
                },
                "overallTTR": {
                    "raw": 15532.758620689656,
                    "rawNoBusiness": 59937.89655172414
                },
                "overallTTF": {
                    "raw": 2153,
                    "rawNoBusiness": 20111.666666666668
                },
                "initialTTR": {
                    "raw": 9074.6,
                    "rawNoBusiness": 29381.45
                },
                "threads": {
                    "total": 30,
                    "haveRepliesFromAgents": 11,
                    "noReplyFromAgents": 0,
                    "completionRatio": 36.67
                }
            },
            {
                "timestamp": 1628290800000,
                "date": "Sat, 7th Aug",
                "messages": {
                    "sent": 1,
                    "forward": 0,
                    "reply": 1,
                    "received": 1
                },
                "overallTTR": {
                    "raw": 30366,
                    "rawNoBusiness": 145390
                },
                "overallTTF": {
                    "raw": null,
                    "rawNoBusiness": null
                },
                "initialTTR": {
                    "raw": null,
                    "rawNoBusiness": null
                },
                "threads": {
                    "total": 0,
                    "haveRepliesFromAgents": 0,
                    "noReplyFromAgents": 0,
                    "completionRatio": 0
                }
            },
            {
                "timestamp": 1628377200000,
                "date": "Sun, 8th Aug",
                "messages": {
                    "sent": 0,
                    "forward": 0,
                    "reply": 0,
                    "received": 2
                },
                "overallTTR": {
                    "raw": null,
                    "rawNoBusiness": null
                },
                "overallTTF": {
                    "raw": null,
                    "rawNoBusiness": null
                },
                "initialTTR": {
                    "raw": null,
                    "rawNoBusiness": null
                },
                "threads": {
                    "total": 1,
                    "haveRepliesFromAgents": 0,
                    "noReplyFromAgents": 0,
                    "completionRatio": 0
                }
            },
            {
                "timestamp": 1628463600000,
                "date": "Mon, 9th Aug",
                "messages": {
                    "sent": 26,
                    "forward": 2,
                    "reply": 20,
                    "received": 34
                },
                "overallTTR": {
                    "raw": 10665,
                    "rawNoBusiness": 62185.9
                },
                "overallTTF": {
                    "raw": 1182.5,
                    "rawNoBusiness": 1182.5
                },
                "initialTTR": {
                    "raw": 25982.833333333332,
                    "rawNoBusiness": 132431.83333333334
                },
                "threads": {
                    "total": 23,
                    "haveRepliesFromAgents": 10,
                    "noReplyFromAgents": 0,
                    "completionRatio": 43.48
                }
            },
            {
                "timestamp": 1628550000000,
                "date": "Tue, 10th Aug",
                "messages": {
                    "sent": 37,
                    "forward": 2,
                    "reply": 26,
                    "received": 46
                },
                "overallTTR": {
                    "raw": 8550.153846153846,
                    "rawNoBusiness": 38270.269230769234
                },
                "overallTTF": {
                    "raw": 6683.5,
                    "rawNoBusiness": 34795
                },
                "initialTTR": {
                    "raw": 11444.333333333334,
                    "rawNoBusiness": 65009
                },
                "threads": {
                    "total": 26,
                    "haveRepliesFromAgents": 12,
                    "noReplyFromAgents": 0,
                    "completionRatio": 46.15
                }
            },
            {
                "timestamp": 1628636400000,
                "date": "Wed, 11th Aug",
                "messages": {
                    "sent": 33,
                    "forward": 1,
                    "reply": 27,
                    "received": 46
                },
                "overallTTR": {
                    "raw": 10545.074074074075,
                    "rawNoBusiness": 40593.03703703704
                },
                "overallTTF": {
                    "raw": 901,
                    "rawNoBusiness": 901
                },
                "initialTTR": {
                    "raw": 13653.105263157895,
                    "rawNoBusiness": 54344
                },
                "threads": {
                    "total": 29,
                    "haveRepliesFromAgents": 11,
                    "noReplyFromAgents": 0,
                    "completionRatio": 37.93
                }
            },
            {
                "timestamp": 1628722800000,
                "date": "Thu, 12th Aug",
                "messages": {
                    "sent": 45,
                    "forward": 1,
                    "reply": 37,
                    "received": 55
                },
                "overallTTR": {
                    "raw": 6928.621621621622,
                    "rawNoBusiness": 26080.756756756757
                },
                "overallTTF": {
                    "raw": 189,
                    "rawNoBusiness": 189
                },
                "initialTTR": {
                    "raw": 10515.961538461539,
                    "rawNoBusiness": 39908.769230769234
                },
                "threads": {
                    "total": 37,
                    "haveRepliesFromAgents": 16,
                    "noReplyFromAgents": 0,
                    "completionRatio": 43.24
                }
            },
            {
                "timestamp": 1628809200000,
                "date": "Fri, 13th Aug",
                "messages": {
                    "sent": 1,
                    "forward": 0,
                    "reply": 1,
                    "received": 1
                },
                "overallTTR": {
                    "raw": 693,
                    "rawNoBusiness": 693
                },
                "overallTTF": {
                    "raw": null,
                    "rawNoBusiness": null
                },
                "initialTTR": {
                    "raw": 0,
                    "rawNoBusiness": 1581
                },
                "threads": {
                    "total": 1,
                    "haveRepliesFromAgents": 1,
                    "noReplyFromAgents": 0,
                    "completionRatio": 100
                }
            }
        ]
    }
}
 

Request   

GET api/logs/conversations

Query Parameters

from  string optional  

The start date of your request in the format "YYYY-MM-DD". Must be less than or equal to "to".

to  string optional  

The end date of your request in the format "YYYY-MM-DD". Must be greater than or equal to "from".

model  string optional  

Name, email address or domain you want statistics for. Use the models endpoint to get a list.

model_type  string optional  

Model Type of the model being queried. Use "Contact" for email address and domain.

exclude_cc  boolean optional  

Should we exclude CC messages from the statistics.

model_com  string optional  

Model Communicating With, same as Model, except now for who/what the Model is communicating with.

model_type_com  string optional  

Model Type of the model you are communicating with. Use "Contact" for email address and domain.

exclude_cc_com  boolean optional  

Should we exclude CC messages from the statistics for the communicating with model.

exclusive  boolean optional  

Should we only focus on statistics where exclusively Model and ModelCom were involved?.

search  string optional  

Search a specific email subject line (warning this is very slow!).

label  string optional  

Label, if your mail provider supports labels/categories, you can filter your results using them.

thread_type  string optional  

A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.

thread_status  string optional  

A comma separated list (no spaces) of any combination of the following: internal,await-customer,closed,await-agent.

has_replies  string optional  

A comma separated list (no spaces) of any combination of the following: hasReplies,hasForwards,hasNoRepliesOrForwards.

classification  string optional  

A comma separated list (no spaces) of any combination of the following: calculating,first,reply,reply-all,forward.

messageType  string optional  

A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.

replies_over  integer optional  

Limit results to conversations with first reply times over X minutes. Should not be used at same time as message_replies_over.

message_replies_over  integer optional  

Limit results to messages where the reply time was over X minutes. Should not be used at same time as replies_over.

no_reply_for  integer optional  

Limit results to messages that have not had a reply for at least X minutes.

per_page  integer optional  

For paginated results, how many results per page. Max 200.

sort_by  string optional  

Field Name to sort conversations (threads) by. Defaults to last_received_at_date_time.

direction  string optional  

Direction in which to sort paginated results. Must be either asc or desc.

page  integer optional  

For paginated results, which page to get.

Messages - Report

requires authentication

Message Logs data

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/logs/messages"
);

const params = {
    "from": "2020-01-01",
    "to": "2020-01-08",
    "model": "My Company",
    "model_type": "Internal",
    "exclude_cc": "",
    "model_com": "Top Revenue Contacts",
    "model_type_com": "Contact Group",
    "exclude_cc_com": "",
    "exclusive": "",
    "label": "INBOX",
    "thread_type": "inbound,outbound,internal",
    "thread_status": "internal,await-customer,closed,await-agent",
    "has_replies": "hasReplies,hasForwards,hasNoRepliesOrForwards",
    "classification": "calculating,first,reply,reply-all,forward",
    "messageType": "inbound,outbound,internal",
    "replies_over": "15",
    "message_replies_over": "15",
    "no_reply_for": "15",
    "per_page": "2",
    "sort_by": "date_time",
    "direction": "desc",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://portal.timetoreply.com/api/logs/messages',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'from'=> '2020-01-01',
            'to'=> '2020-01-08',
            'model'=> 'My Company',
            'model_type'=> 'Internal',
            'exclude_cc'=> '',
            'model_com'=> 'Top Revenue Contacts',
            'model_type_com'=> 'Contact Group',
            'exclude_cc_com'=> '',
            'exclusive'=> '',
            'label'=> 'INBOX',
            'thread_type'=> 'inbound,outbound,internal',
            'thread_status'=> 'internal,await-customer,closed,await-agent',
            'has_replies'=> 'hasReplies,hasForwards,hasNoRepliesOrForwards',
            'classification'=> 'calculating,first,reply,reply-all,forward',
            'messageType'=> 'inbound,outbound,internal',
            'replies_over'=> '15',
            'message_replies_over'=> '15',
            'no_reply_for'=> '15',
            'per_page'=> '2',
            'sort_by'=> 'date_time',
            'direction'=> 'desc',
            'page'=> '1',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "stats": {
        "threads": {
            "total": 147,
            "internal": 15,
            "inbound": 114,
            "outbound": 18,
            "sentInternally": 23,
            "awaitCustomer": 50,
            "awaitAgent": 66,
            "closed": 8,
            "haveReplies": 109,
            "haveRepliesFromAgents": 102,
            "completionRatio": {
                "ratio": "75.63%",
                "numerator": 90,
                "denominator": 119
            }
        },
        "messages": {
            "count": 370,
            "initial": 137,
            "replies": 200,
            "replyAll": 24,
            "forward": 9,
            "received": {
                "count": 239,
                "initial": 119,
                "replies": 88,
                "replyAll": 23,
                "forward": 9,
                "initialReplies": 26,
                "dayOfWeek": {
                    "Friday": 27.5,
                    "Monday": 34,
                    "Saturday": 1,
                    "Sunday": 2,
                    "Thursday": 55,
                    "Tuesday": 46,
                    "Wednesday": 46
                },
                "hourOfDay": {
                    "00:00": 0.143,
                    "01:00": 0.143,
                    "02:00": 0,
                    "03:00": 0,
                    "04:00": 0.286,
                    "05:00": 0,
                    "06:00": 0.286,
                    "07:00": 0,
                    "08:00": 0.286,
                    "09:00": 0.286,
                    "10:00": 2.286,
                    "11:00": 3.714,
                    "12:00": 4.286,
                    "13:00": 3.286,
                    "14:00": 3,
                    "15:00": 4.571,
                    "16:00": 4.286,
                    "17:00": 6,
                    "18:00": 1.143,
                    "19:00": 0.143,
                    "20:00": 0,
                    "21:00": 0,
                    "22:00": 0,
                    "23:00": 0
                }
            },
            "sent": {
                "count": 181,
                "initial": 31,
                "replies": 125,
                "replyAll": 16,
                "forward": 9,
                "initialReplies": 90,
                "dayOfWeek": {
                    "Friday": 19.5,
                    "Monday": 26,
                    "Saturday": 1,
                    "Sunday": 0,
                    "Thursday": 45,
                    "Tuesday": 37,
                    "Wednesday": 33
                },
                "hourOfDay": {
                    "00:00": 0,
                    "01:00": 0,
                    "02:00": 0,
                    "03:00": 0,
                    "04:00": 0,
                    "05:00": 0,
                    "06:00": 0,
                    "07:00": 0,
                    "08:00": 0.143,
                    "09:00": 0.286,
                    "10:00": 1.143,
                    "11:00": 4,
                    "12:00": 3.571,
                    "13:00": 3.143,
                    "14:00": 2,
                    "15:00": 3.143,
                    "16:00": 3.286,
                    "17:00": 4.286,
                    "18:00": 0.714,
                    "19:00": 0,
                    "20:00": 0,
                    "21:00": 0,
                    "22:00": 0.143,
                    "23:00": 0
                }
            }
        },
        "overallTTR": {
            "friendly": "02h:52m",
            "raw": 10341.765957446809,
            "friendlyNoBusiness": "12h:10m",
            "rawNoBusiness": 43858.34751773049,
            "percentileRanks": [
                {
                    "key": "15m:00s",
                    "value": "38.66%"
                },
                {
                    "key": "01h:00m",
                    "value": "76.14%"
                },
                {
                    "key": "02h:00m",
                    "value": "79.57%"
                },
                {
                    "key": "04h:00m",
                    "value": "85.46%"
                },
                {
                    "key": "08h:00m",
                    "value": "90.07%"
                },
                {
                    "key": "24h:00m",
                    "value": "95.32%"
                }
            ],
            "percentileRanksRaw": [
                {
                    "key": "15m:00s",
                    "value": "30.17%"
                },
                {
                    "key": "01h:00m",
                    "value": "76.14%"
                },
                {
                    "key": "02h:00m",
                    "value": "78.86%"
                },
                {
                    "key": "04h:00m",
                    "value": "82.32%"
                },
                {
                    "key": "08h:00m",
                    "value": "84.49%"
                },
                {
                    "key": "24h:00m",
                    "value": "88.76%"
                }
            ]
        },
        "initialTTR": {
            "friendly": "03h:35m",
            "raw": 12927.133333333333,
            "friendlyNoBusiness": "15h:31m",
            "rawNoBusiness": 55874.044444444444,
            "percentileRanks": [
                {
                    "key": "15m:00s",
                    "value": "37.06%"
                },
                {
                    "key": "01h:00m",
                    "value": "70.49%"
                },
                {
                    "key": "02h:00m",
                    "value": "75.19%"
                },
                {
                    "key": "04h:00m",
                    "value": "82.78%"
                },
                {
                    "key": "08h:00m",
                    "value": "87.11%"
                },
                {
                    "key": "24h:00m",
                    "value": "93.77%"
                }
            ],
            "percentileRanksRaw": [
                {
                    "key": "15m:00s",
                    "value": "26.37%"
                },
                {
                    "key": "01h:00m",
                    "value": "70.49%"
                },
                {
                    "key": "02h:00m",
                    "value": "74.16%"
                },
                {
                    "key": "04h:00m",
                    "value": "77.85%"
                },
                {
                    "key": "08h:00m",
                    "value": "81.26%"
                },
                {
                    "key": "24h:00m",
                    "value": "85.83%"
                }
            ]
        },
        "overallTTF": {
            "friendly": "43m:06s",
            "raw": 2586.777777777778,
            "friendlyNoBusiness": "04h:07m",
            "rawNoBusiness": 14820,
            "percentileRanks": [
                {
                    "key": "15m:00s",
                    "value": "27.11%"
                },
                {
                    "key": "01h:00m",
                    "value": "79.52%"
                },
                {
                    "key": "02h:00m",
                    "value": "87.35%"
                },
                {
                    "key": "04h:00m",
                    "value": "100.00%"
                },
                {
                    "key": "08h:00m",
                    "value": "100.00%"
                },
                {
                    "key": "24h:00m",
                    "value": "100.00%"
                }
            ],
            "percentileRanksRaw": [
                {
                    "key": "15m:00s",
                    "value": "27.11%"
                },
                {
                    "key": "01h:00m",
                    "value": "66.93%"
                },
                {
                    "key": "02h:00m",
                    "value": "68.35%"
                },
                {
                    "key": "04h:00m",
                    "value": "71.19%"
                },
                {
                    "key": "08h:00m",
                    "value": "76.86%"
                },
                {
                    "key": "24h:00m",
                    "value": "100.00%"
                }
            ]
        },
        "overallTTC": {
            "friendly": "03h:14m",
            "raw": 11655.5,
            "friendlyNoBusiness": "15h:05m",
            "rawNoBusiness": 54304,
            "percentileRanks": [
                {
                    "key": "15m:00s",
                    "value": "41.75%"
                },
                {
                    "key": "01h:00m",
                    "value": "52.57%"
                },
                {
                    "key": "02h:00m",
                    "value": "56.67%"
                },
                {
                    "key": "04h:00m",
                    "value": "64.86%"
                },
                {
                    "key": "08h:00m",
                    "value": "100.00%"
                },
                {
                    "key": "24h:00m",
                    "value": "100.00%"
                }
            ],
            "percentileRanksRaw": [
                {
                    "key": "15m:00s",
                    "value": "0.00%"
                },
                {
                    "key": "01h:00m",
                    "value": "25.91%"
                },
                {
                    "key": "02h:00m",
                    "value": "29.40%"
                },
                {
                    "key": "04h:00m",
                    "value": "36.37%"
                },
                {
                    "key": "08h:00m",
                    "value": "50.10%"
                },
                {
                    "key": "24h:00m",
                    "value": "68.69%"
                }
            ]
        },
        "dailyStats": [
            {
                "timestamp": 1628204400000,
                "date": "Fri, 6th Aug",
                "messages": {
                    "sent": 38,
                    "forward": 3,
                    "reply": 29,
                    "received": 54
                },
                "overallTTR": {
                    "raw": 15532.758620689656,
                    "rawNoBusiness": 59937.89655172414
                },
                "overallTTF": {
                    "raw": 2153,
                    "rawNoBusiness": 20111.666666666668
                },
                "initialTTR": {
                    "raw": 9074.6,
                    "rawNoBusiness": 29381.45
                },
                "threads": {
                    "total": 30,
                    "haveRepliesFromAgents": 11,
                    "noReplyFromAgents": 0,
                    "completionRatio": 36.67
                }
            },
            {
                "timestamp": 1628290800000,
                "date": "Sat, 7th Aug",
                "messages": {
                    "sent": 1,
                    "forward": 0,
                    "reply": 1,
                    "received": 1
                },
                "overallTTR": {
                    "raw": 30366,
                    "rawNoBusiness": 145390
                },
                "overallTTF": {
                    "raw": null,
                    "rawNoBusiness": null
                },
                "initialTTR": {
                    "raw": null,
                    "rawNoBusiness": null
                },
                "threads": {
                    "total": 0,
                    "haveRepliesFromAgents": 0,
                    "noReplyFromAgents": 0,
                    "completionRatio": 0
                }
            },
            {
                "timestamp": 1628377200000,
                "date": "Sun, 8th Aug",
                "messages": {
                    "sent": 0,
                    "forward": 0,
                    "reply": 0,
                    "received": 2
                },
                "overallTTR": {
                    "raw": null,
                    "rawNoBusiness": null
                },
                "overallTTF": {
                    "raw": null,
                    "rawNoBusiness": null
                },
                "initialTTR": {
                    "raw": null,
                    "rawNoBusiness": null
                },
                "threads": {
                    "total": 1,
                    "haveRepliesFromAgents": 0,
                    "noReplyFromAgents": 0,
                    "completionRatio": 0
                }
            },
            {
                "timestamp": 1628463600000,
                "date": "Mon, 9th Aug",
                "messages": {
                    "sent": 26,
                    "forward": 2,
                    "reply": 20,
                    "received": 34
                },
                "overallTTR": {
                    "raw": 10665,
                    "rawNoBusiness": 62185.9
                },
                "overallTTF": {
                    "raw": 1182.5,
                    "rawNoBusiness": 1182.5
                },
                "initialTTR": {
                    "raw": 25982.833333333332,
                    "rawNoBusiness": 132431.83333333334
                },
                "threads": {
                    "total": 23,
                    "haveRepliesFromAgents": 10,
                    "noReplyFromAgents": 0,
                    "completionRatio": 43.48
                }
            },
            {
                "timestamp": 1628550000000,
                "date": "Tue, 10th Aug",
                "messages": {
                    "sent": 37,
                    "forward": 2,
                    "reply": 26,
                    "received": 46
                },
                "overallTTR": {
                    "raw": 8550.153846153846,
                    "rawNoBusiness": 38270.269230769234
                },
                "overallTTF": {
                    "raw": 6683.5,
                    "rawNoBusiness": 34795
                },
                "initialTTR": {
                    "raw": 11444.333333333334,
                    "rawNoBusiness": 65009
                },
                "threads": {
                    "total": 26,
                    "haveRepliesFromAgents": 12,
                    "noReplyFromAgents": 0,
                    "completionRatio": 46.15
                }
            },
            {
                "timestamp": 1628636400000,
                "date": "Wed, 11th Aug",
                "messages": {
                    "sent": 33,
                    "forward": 1,
                    "reply": 27,
                    "received": 46
                },
                "overallTTR": {
                    "raw": 10545.074074074075,
                    "rawNoBusiness": 40593.03703703704
                },
                "overallTTF": {
                    "raw": 901,
                    "rawNoBusiness": 901
                },
                "initialTTR": {
                    "raw": 13653.105263157895,
                    "rawNoBusiness": 54344
                },
                "threads": {
                    "total": 29,
                    "haveRepliesFromAgents": 11,
                    "noReplyFromAgents": 0,
                    "completionRatio": 37.93
                }
            },
            {
                "timestamp": 1628722800000,
                "date": "Thu, 12th Aug",
                "messages": {
                    "sent": 45,
                    "forward": 1,
                    "reply": 37,
                    "received": 55
                },
                "overallTTR": {
                    "raw": 6928.621621621622,
                    "rawNoBusiness": 26080.756756756757
                },
                "overallTTF": {
                    "raw": 189,
                    "rawNoBusiness": 189
                },
                "initialTTR": {
                    "raw": 10515.961538461539,
                    "rawNoBusiness": 39908.769230769234
                },
                "threads": {
                    "total": 37,
                    "haveRepliesFromAgents": 16,
                    "noReplyFromAgents": 0,
                    "completionRatio": 43.24
                }
            },
            {
                "timestamp": 1628809200000,
                "date": "Fri, 13th Aug",
                "messages": {
                    "sent": 1,
                    "forward": 0,
                    "reply": 1,
                    "received": 1
                },
                "overallTTR": {
                    "raw": 693,
                    "rawNoBusiness": 693
                },
                "overallTTF": {
                    "raw": null,
                    "rawNoBusiness": null
                },
                "initialTTR": {
                    "raw": 0,
                    "rawNoBusiness": 1581
                },
                "threads": {
                    "total": 1,
                    "haveRepliesFromAgents": 1,
                    "noReplyFromAgents": 0,
                    "completionRatio": 100
                }
            }
        ]
    },
    "messages": {
        "current_page": 1,
        "data": [
            {
                "internet_message_id": "1568494320fkBXgISiiJ@GcDF9YMKqa8XAnlZGjvQr24z2.qscY",
                "date_time": "Aug 13th 2021 09:13:29",
                "subject": "RE: Quos sunt rem animi doloribus.",
                "references": [
                    "1607462535dF8vIzbz8h@Ehjx3tuE2bOOkT6QypbopgV1j.CfaH",
                    "1511147170U01NVopenW@JtgwbTYOO4TsZ7Yc1ET8VqGU6.EbqK",
                    "1558790651xvdSj4GQ6X@74tBDTbZwRdm5DYDpPAoNidm8.pbbv"
                ],
                "replytime": 693,
                "classification": "reply",
                "raw_replytime": 693,
                "friendly_reply_time": "11m:33s",
                "friendly_raw_reply_time": "11m:33s",
                "email_domains": [
                    "timetoreply.com",
                    "boehm.com"
                ],
                "email_domains_from": [
                    "timetoreply.com"
                ],
                "email_domains_to": [
                    "boehm.com"
                ],
                "email_domains_received": [
                    "boehm.com"
                ],
                "email_usernames": [
                    "j.heathcote@timetoreply.com",
                    "pwolff@boehm.com"
                ],
                "email_usernames_from": [
                    "j.heathcote@timetoreply.com"
                ],
                "email_usernames_to": [
                    "pwolff@boehm.com"
                ],
                "email_usernames_cc": [],
                "email_usernames_received": [
                    "pwolff@boehm.com"
                ],
                "is_initial_reply": false,
                "thread_ids": [
                    200
                ],
                "message_type": "outbound",
                "labels": [],
                "is_closing_email": false,
                "is_included_in_stats": true,
                "timestamp": 1628842409,
                "reply_is_relevant": true,
                "reply_is_outlier": false,
                "agents_read_status": [],
                "thread_message_count": 4
            },
            {
                "internet_message_id": "1558790651xvdSj4GQ6X@74tBDTbZwRdm5DYDpPAoNidm8.pbbv",
                "date_time": "Aug 13th 2021 09:01:56",
                "subject": "RE: Quos sunt rem animi doloribus.",
                "references": [
                    "1607462535dF8vIzbz8h@Ehjx3tuE2bOOkT6QypbopgV1j.CfaH",
                    "1511147170U01NVopenW@JtgwbTYOO4TsZ7Yc1ET8VqGU6.EbqK"
                ],
                "replytime": 51118,
                "classification": "reply",
                "raw_replytime": 51118,
                "friendly_reply_time": "14h:11m:58s",
                "friendly_raw_reply_time": "14h:11m:58s",
                "email_domains": [
                    "boehm.com",
                    "timetoreply.com"
                ],
                "email_domains_from": [
                    "boehm.com"
                ],
                "email_domains_to": [
                    "timetoreply.com"
                ],
                "email_domains_received": [
                    "timetoreply.com"
                ],
                "email_usernames": [
                    "pwolff@boehm.com",
                    "j.heathcote@timetoreply.com"
                ],
                "email_usernames_from": [
                    "pwolff@boehm.com"
                ],
                "email_usernames_to": [
                    "j.heathcote@timetoreply.com"
                ],
                "email_usernames_cc": [],
                "email_usernames_received": [
                    "j.heathcote@timetoreply.com"
                ],
                "is_initial_reply": false,
                "thread_ids": [
                    200
                ],
                "message_type": "inbound",
                "labels": [
                    "UNREAD"
                ],
                "is_closing_email": false,
                "is_included_in_stats": true,
                "timestamp": 1628841716,
                "reply_is_relevant": false,
                "reply_is_outlier": false,
                "agents_read_status": {
                    "j.heathcote@timetoreply.com": false
                },
                "thread_message_count": 4
            }
        ],
        "first_page_url": "https:\/\/portal.timetoreply.com\/api\/logs\/messages?page=1",
        "from": 1,
        "last_page": 185,
        "last_page_url": "https:\/\/portal.timetoreply.com\/api\/logs\/messages?page=185",
        "links": [
            {
                "url": null,
                "label": "« Previous",
                "active": false
            },
            {
                "url": "https:\/\/portal.timetoreply.com\/api\/logs\/messages?page=1",
                "label": "1",
                "active": true
            },
            {
                "url": "https:\/\/portal.timetoreply.com\/api\/logs\/messages?page=2",
                "label": "2",
                "active": false
            },
            {
                "url": "https:\/\/portal.timetoreply.com\/api\/logs\/messages?page=3",
                "label": "3",
                "active": false
            },
            {
                "url": "https:\/\/portal.timetoreply.com\/api\/logs\/messages?page=4",
                "label": "4",
                "active": false
            },
            {
                "url": "https:\/\/portal.timetoreply.com\/api\/logs\/messages?page=5",
                "label": "5",
                "active": false
            },
            {
                "url": "https:\/\/portal.timetoreply.com\/api\/logs\/messages?page=6",
                "label": "6",
                "active": false
            },
            {
                "url": "https:\/\/portal.timetoreply.com\/api\/logs\/messages?page=7",
                "label": "7",
                "active": false
            },
            {
                "url": "https:\/\/portal.timetoreply.com\/api\/logs\/messages?page=8",
                "label": "8",
                "active": false
            },
            {
                "url": "https:\/\/portal.timetoreply.com\/api\/logs\/messages?page=9",
                "label": "9",
                "active": false
            },
            {
                "url": "https:\/\/portal.timetoreply.com\/api\/logs\/messages?page=10",
                "label": "10",
                "active": false
            },
            {
                "url": null,
                "label": "...",
                "active": false
            },
            {
                "url": "https:\/\/portal.timetoreply.com\/api\/logs\/messages?page=184",
                "label": "184",
                "active": false
            },
            {
                "url": "https:\/\/portal.timetoreply.com\/api\/logs\/messages?page=185",
                "label": "185",
                "active": false
            },
            {
                "url": "https:\/\/portal.timetoreply.com\/api\/logs\/messages?page=2",
                "label": "Next »",
                "active": false
            }
        ],
        "next_page_url": "https:\/\/portal.timetoreply.com\/api\/logs\/messages?page=2",
        "path": "https:\/\/portal.timetoreply.com\/api\/logs\/messages",
        "per_page": 2,
        "prev_page_url": null,
        "to": 2,
        "total": 370
    }
}
 

Request   

GET api/logs/messages

Query Parameters

from  string optional  

The start date of your request in the format "YYYY-MM-DD". Must be less than or equal to "to".

to  string optional  

The end date of your request in the format "YYYY-MM-DD". Must be greater than or equal to "from".

model  string optional  

Name, email address or domain you want statistics for. Use the models endpoint to get a list.

model_type  string optional  

Model Type of the model being queried. Use "Contact" for email address and domain.

exclude_cc  boolean optional  

Should we exclude CC messages from the statistics.

model_com  string optional  

Model Communicating With, same as Model, except now for who/what the Model is communicating with.

model_type_com  string optional  

Model Type of the model you are communicating with. Use "Contact" for email address and domain.

exclude_cc_com  boolean optional  

Should we exclude CC messages from the statistics for the communicating with model.

exclusive  boolean optional  

Should we only focus on statistics where exclusively Model and ModelCom were involved?.

search  string optional  

Search a specific email subject line (warning this is very slow!).

label  string optional  

Label, if your mail provider supports labels/categories, you can filter your results using them.

thread_type  string optional  

A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.

thread_status  string optional  

A comma separated list (no spaces) of any combination of the following: internal,await-customer,closed,await-agent.

has_replies  string optional  

A comma separated list (no spaces) of any combination of the following: hasReplies,hasForwards,hasNoRepliesOrForwards.

classification  string optional  

A comma separated list (no spaces) of any combination of the following: calculating,first,reply,reply-all,forward.

messageType  string optional  

A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.

replies_over  integer optional  

Limit results to conversations with first reply times over X minutes. Should not be used at same time as message_replies_over.

message_replies_over  integer optional  

Limit results to messages where the reply time was over X minutes. Should not be used at same time as replies_over.

no_reply_for  integer optional  

Limit results to messages that have not had a reply for at least X minutes.

per_page  integer optional  

For paginated results, how many results per page. Max 200.

sort_by  string optional  

Field Name to sort messages by. Defaults to date_time.

direction  string optional  

Direction in which to sort paginated results. Must be either asc or desc.

page  integer optional  

For paginated results, which page to get.

Reports

Comparative - Report

requires authentication

Comparative Report Data

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/reports/comparative"
);

const params = {
    "from": "2020-01-01",
    "to": "2020-01-08",
    "model": "My Company",
    "model_type": "Internal",
    "exclude_cc": "",
    "model_com": "Top Revenue Contacts",
    "model_type_com": "Contact Group",
    "exclude_cc_com": "",
    "exclusive": "",
    "label": "INBOX",
    "thread_type": "inbound,outbound,internal",
    "thread_status": "internal,await-customer,closed,await-agent",
    "has_replies": "hasReplies,hasForwards,hasNoRepliesOrForwards",
    "classification": "calculating,first,reply,reply-all,forward",
    "messageType": "inbound,outbound,internal",
    "replies_over": "15",
    "message_replies_over": "15",
    "no_reply_for": "15",
    "per_page": "2",
    "direction": "desc",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://portal.timetoreply.com/api/reports/comparative',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'from'=> '2020-01-01',
            'to'=> '2020-01-08',
            'model'=> 'My Company',
            'model_type'=> 'Internal',
            'exclude_cc'=> '',
            'model_com'=> 'Top Revenue Contacts',
            'model_type_com'=> 'Contact Group',
            'exclude_cc_com'=> '',
            'exclusive'=> '',
            'label'=> 'INBOX',
            'thread_type'=> 'inbound,outbound,internal',
            'thread_status'=> 'internal,await-customer,closed,await-agent',
            'has_replies'=> 'hasReplies,hasForwards,hasNoRepliesOrForwards',
            'classification'=> 'calculating,first,reply,reply-all,forward',
            'messageType'=> 'inbound,outbound,internal',
            'replies_over'=> '15',
            'message_replies_over'=> '15',
            'no_reply_for'=> '15',
            'per_page'=> '2',
            'direction'=> 'desc',
            'page'=> '1',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "total": 4,
    "replyTimePercentages": {
        "categories": [
            "j.heathcote@timetoreply.com",
            "j.considine@timetoreply.com"
        ],
        "series": [
            {
                "name": "Replies in under 15m:00s",
                "data": [
                    42.63,
                    29.91
                ],
                "index": 5,
                "legendIndex": 0,
                "stringKey": "15m:00s"
            },
            {
                "name": "Replies in under 01h:00m",
                "data": [
                    27.91,
                    54.44
                ],
                "index": 4,
                "legendIndex": 1,
                "stringKey": "01h:00m"
            },
            {
                "name": "Replies in under 02h:00m",
                "data": [
                    5.95,
                    2.74
                ],
                "index": 3,
                "legendIndex": 2,
                "stringKey": "02h:00m"
            },
            {
                "name": "Replies in under 04h:00m",
                "data": [
                    8.54,
                    1.26
                ],
                "index": 2,
                "legendIndex": 3,
                "stringKey": "04h:00m"
            },
            {
                "name": "Replies in under 08h:00m",
                "data": [
                    5.69,
                    1.6
                ],
                "index": 1,
                "legendIndex": 4,
                "stringKey": "08h:00m"
            },
            {
                "name": "Replies in under 24h:00m",
                "data": [
                    6.49,
                    3.65
                ],
                "index": 0,
                "legendIndex": 5,
                "stringKey": "24h:00m"
            }
        ]
    },
    "forwardTimePercentages": {
        "categories": [
            "j.considine@timetoreply.com",
            "j.heathcote@timetoreply.com"
        ],
        "series": [
            {
                "name": "Forwards in under 15m:00s",
                "data": [
                    0,
                    30.5
                ],
                "index": 5,
                "legendIndex": 0,
                "stringKey": "15m:00s"
            },
            {
                "name": "Forwards in under 01h:00m",
                "data": [
                    100,
                    46.46
                ],
                "index": 4,
                "legendIndex": 1,
                "stringKey": "01h:00m"
            },
            {
                "name": "Forwards in under 02h:00m",
                "data": [
                    0,
                    8.81
                ],
                "index": 3,
                "legendIndex": 2,
                "stringKey": "02h:00m"
            },
            {
                "name": "Forwards in under 04h:00m",
                "data": [
                    0,
                    14.23
                ],
                "index": 2,
                "legendIndex": 3,
                "stringKey": "04h:00m"
            },
            {
                "name": "Forwards in under 08h:00m",
                "data": [
                    0,
                    0
                ],
                "index": 1,
                "legendIndex": 4,
                "stringKey": "08h:00m"
            },
            {
                "name": "Forwards in under 24h:00m",
                "data": [
                    0,
                    0
                ],
                "index": 0,
                "legendIndex": 5,
                "stringKey": "24h:00m"
            }
        ]
    },
    "allAgentStats": [
        {
            "name": "j.heathcote@timetoreply.com",
            "threads": {
                "total": 81,
                "internal": 15,
                "inbound": 56,
                "outbound": 10,
                "sentInternally": 23,
                "awaitCustomer": 24,
                "awaitAgent": 33,
                "closed": 1,
                "haveReplies": 63,
                "haveInitialReplies": 42
            },
            "messages": {
                "received": {
                    "count": 110,
                    "initial": 50,
                    "replies": 45,
                    "replyAll": 14,
                    "forward": 1,
                    "initialReplies": 0,
                    "dailyStats": {
                        "2021-08-06 00:00:00": 20,
                        "2021-08-07 00:00:00": 1,
                        "2021-08-08 00:00:00": 0,
                        "2021-08-09 00:00:00": 14,
                        "2021-08-10 00:00:00": 22,
                        "2021-08-11 00:00:00": 17,
                        "2021-08-12 00:00:00": 35,
                        "2021-08-13 00:00:00": 1
                    }
                },
                "sent": {
                    "count": 86,
                    "initial": 15,
                    "replies": 59,
                    "replyAll": 4,
                    "forward": 8,
                    "initialReplies": 0,
                    "dailyStats": {
                        "2021-08-06 00:00:00": 20,
                        "2021-08-07 00:00:00": 0,
                        "2021-08-08 00:00:00": 0,
                        "2021-08-09 00:00:00": 10,
                        "2021-08-10 00:00:00": 16,
                        "2021-08-11 00:00:00": 13,
                        "2021-08-12 00:00:00": 26,
                        "2021-08-13 00:00:00": 1
                    }
                }
            },
            "initialTTR": {
                "friendly": "03h:15m",
                "raw": 11756.785714285714,
                "friendlyNoBusiness": "13h:21m",
                "rawNoBusiness": 48084.26190476191,
                "percentileRanks": [
                    {
                        "key": "15m:00s",
                        "value": "42.51%"
                    },
                    {
                        "key": "01h:00m",
                        "value": "67.71%"
                    },
                    {
                        "key": "02h:00m",
                        "value": "75.19%"
                    },
                    {
                        "key": "04h:00m",
                        "value": "84.17%"
                    },
                    {
                        "key": "08h:00m",
                        "value": "87.06%"
                    },
                    {
                        "key": "24h:00m",
                        "value": "95.81%"
                    }
                ],
                "percentileRanksRaw": [
                    {
                        "key": "15m:00s",
                        "value": "30.61%"
                    },
                    {
                        "key": "01h:00m",
                        "value": "67.71%"
                    },
                    {
                        "key": "02h:00m",
                        "value": "73.15%"
                    },
                    {
                        "key": "04h:00m",
                        "value": "77.94%"
                    },
                    {
                        "key": "08h:00m",
                        "value": "79.61%"
                    },
                    {
                        "key": "24h:00m",
                        "value": "86.30%"
                    }
                ]
            },
            "overallTTF": {
                "friendly": "45m:27s",
                "raw": 2727.5,
                "friendlyNoBusiness": "04h:34m",
                "rawNoBusiness": 16489.875,
                "percentileRanks": [
                    {
                        "key": "15m:00s",
                        "value": "30.50%"
                    },
                    {
                        "key": "01h:00m",
                        "value": "76.96%"
                    },
                    {
                        "key": "02h:00m",
                        "value": "85.77%"
                    },
                    {
                        "key": "04h:00m",
                        "value": "100.00%"
                    },
                    {
                        "key": "08h:00m",
                        "value": "100.00%"
                    },
                    {
                        "key": "24h:00m",
                        "value": "100.00%"
                    }
                ],
                "percentileRanksRaw": [
                    {
                        "key": "15m:00s",
                        "value": "30.50%"
                    },
                    {
                        "key": "01h:00m",
                        "value": "62.80%"
                    },
                    {
                        "key": "02h:00m",
                        "value": "64.39%"
                    },
                    {
                        "key": "04h:00m",
                        "value": "67.59%"
                    },
                    {
                        "key": "08h:00m",
                        "value": "73.97%"
                    },
                    {
                        "key": "24h:00m",
                        "value": "100.00%"
                    }
                ]
            },
            "overallTTR": {
                "friendly": "02h:37m",
                "raw": 9451.666666666666,
                "friendlyNoBusiness": "10h:36m",
                "rawNoBusiness": 38192.46031746032,
                "percentileRanks": [
                    {
                        "key": "15m:00s",
                        "value": "42.63%"
                    },
                    {
                        "key": "01h:00m",
                        "value": "70.54%"
                    },
                    {
                        "key": "02h:00m",
                        "value": "76.49%"
                    },
                    {
                        "key": "04h:00m",
                        "value": "85.03%"
                    },
                    {
                        "key": "08h:00m",
                        "value": "90.72%"
                    },
                    {
                        "key": "24h:00m",
                        "value": "97.21%"
                    }
                ],
                "percentileRanksRaw": [
                    {
                        "key": "15m:00s",
                        "value": "32.35%"
                    },
                    {
                        "key": "01h:00m",
                        "value": "70.54%"
                    },
                    {
                        "key": "02h:00m",
                        "value": "74.90%"
                    },
                    {
                        "key": "04h:00m",
                        "value": "80.53%"
                    },
                    {
                        "key": "08h:00m",
                        "value": "81.65%"
                    },
                    {
                        "key": "24h:00m",
                        "value": "89.08%"
                    }
                ]
            },
            "overallTTC": {
                "friendly": "N\/A",
                "raw": null,
                "friendlyNoBusiness": "N\/A",
                "rawNoBusiness": null
            }
        },
        {
            "name": "j.considine@timetoreply.com",
            "threads": {
                "total": 49,
                "internal": 12,
                "inbound": 33,
                "outbound": 4,
                "sentInternally": 14,
                "awaitCustomer": 14,
                "awaitAgent": 18,
                "closed": 3,
                "haveReplies": 38,
                "haveInitialReplies": 23
            },
            "messages": {
                "received": {
                    "count": 58,
                    "initial": 28,
                    "replies": 22,
                    "replyAll": 6,
                    "forward": 2,
                    "initialReplies": 0,
                    "dailyStats": {
                        "2021-08-06 00:00:00": 15,
                        "2021-08-07 00:00:00": 0,
                        "2021-08-08 00:00:00": 1,
                        "2021-08-09 00:00:00": 6,
                        "2021-08-10 00:00:00": 7,
                        "2021-08-11 00:00:00": 14,
                        "2021-08-12 00:00:00": 15
                    }
                },
                "sent": {
                    "count": 48,
                    "initial": 9,
                    "replies": 31,
                    "replyAll": 7,
                    "forward": 1,
                    "initialReplies": 0,
                    "dailyStats": {
                        "2021-08-06 00:00:00": 10,
                        "2021-08-07 00:00:00": 0,
                        "2021-08-08 00:00:00": 0,
                        "2021-08-09 00:00:00": 6,
                        "2021-08-10 00:00:00": 10,
                        "2021-08-11 00:00:00": 13,
                        "2021-08-12 00:00:00": 9
                    }
                }
            },
            "initialTTR": {
                "friendly": "03h:16m",
                "raw": 11788.91304347826,
                "friendlyNoBusiness": "15h:11m",
                "rawNoBusiness": 54708.30434782609,
                "percentileRanks": [
                    {
                        "key": "15m:00s",
                        "value": "28.42%"
                    },
                    {
                        "key": "01h:00m",
                        "value": "79.40%"
                    },
                    {
                        "key": "02h:00m",
                        "value": "83.03%"
                    },
                    {
                        "key": "04h:00m",
                        "value": "85.10%"
                    },
                    {
                        "key": "08h:00m",
                        "value": "87.75%"
                    },
                    {
                        "key": "24h:00m",
                        "value": "93.77%"
                    }
                ],
                "percentileRanksRaw": [
                    {
                        "key": "15m:00s",
                        "value": "19.25%"
                    },
                    {
                        "key": "01h:00m",
                        "value": "79.40%"
                    },
                    {
                        "key": "02h:00m",
                        "value": "82.65%"
                    },
                    {
                        "key": "04h:00m",
                        "value": "82.85%"
                    },
                    {
                        "key": "08h:00m",
                        "value": "83.25%"
                    },
                    {
                        "key": "24h:00m",
                        "value": "84.84%"
                    }
                ]
            },
            "overallTTF": {
                "friendly": "24m:21s",
                "raw": 1461,
                "friendlyNoBusiness": "24m:21s",
                "rawNoBusiness": 1461,
                "percentileRanks": [
                    {
                        "key": "15m:00s",
                        "value": "0.00%"
                    },
                    {
                        "key": "01h:00m",
                        "value": "100.00%"
                    },
                    {
                        "key": "02h:00m",
                        "value": "100.00%"
                    },
                    {
                        "key": "04h:00m",
                        "value": "100.00%"
                    },
                    {
                        "key": "08h:00m",
                        "value": "100.00%"
                    },
                    {
                        "key": "24h:00m",
                        "value": "100.00%"
                    }
                ],
                "percentileRanksRaw": [
                    {
                        "key": "15m:00s",
                        "value": "0.00%"
                    },
                    {
                        "key": "01h:00m",
                        "value": "100.00%"
                    },
                    {
                        "key": "02h:00m",
                        "value": "100.00%"
                    },
                    {
                        "key": "04h:00m",
                        "value": "100.00%"
                    },
                    {
                        "key": "08h:00m",
                        "value": "100.00%"
                    },
                    {
                        "key": "24h:00m",
                        "value": "100.00%"
                    }
                ]
            },
            "overallTTR": {
                "friendly": "03h:03m",
                "raw": 11016.28947368421,
                "friendlyNoBusiness": "13h:37m",
                "rawNoBusiness": 49056.36842105263,
                "percentileRanks": [
                    {
                        "key": "15m:00s",
                        "value": "29.91%"
                    },
                    {
                        "key": "01h:00m",
                        "value": "84.35%"
                    },
                    {
                        "key": "02h:00m",
                        "value": "87.09%"
                    },
                    {
                        "key": "04h:00m",
                        "value": "88.35%"
                    },
                    {
                        "key": "08h:00m",
                        "value": "89.95%"
                    },
                    {
                        "key": "24h:00m",
                        "value": "93.60%"
                    }
                ],
                "percentileRanksRaw": [
                    {
                        "key": "15m:00s",
                        "value": "23.38%"
                    },
                    {
                        "key": "01h:00m",
                        "value": "84.35%"
                    },
                    {
                        "key": "02h:00m",
                        "value": "86.87%"
                    },
                    {
                        "key": "04h:00m",
                        "value": "86.99%"
                    },
                    {
                        "key": "08h:00m",
                        "value": "87.23%"
                    },
                    {
                        "key": "24h:00m",
                        "value": "88.19%"
                    }
                ]
            },
            "overallTTC": {
                "friendly": "06h:06m",
                "raw": 21968,
                "friendlyNoBusiness": "29h:25m",
                "rawNoBusiness": 105953
            }
        }
    ],
    "args": {
        "model": {
            "icon": "building",
            "id": null,
            "model_type": "Internal",
            "name": "My Company",
            "value": "My Company"
        },
        "modelCom": {
            "icon": "globe-americas",
            "id": null,
            "model_type": "Anybody",
            "name": "Anybody",
            "value": "Anybody"
        }
    }
}
 

Request   

GET api/reports/comparative

Query Parameters

from  string optional  

The start date of your request in the format "YYYY-MM-DD". Must be less than or equal to "to".

to  string optional  

The end date of your request in the format "YYYY-MM-DD". Must be greater than or equal to "from".

model  string optional  

Name, email address or domain you want statistics for. Use the models endpoint to get a list.

model_type  string optional  

Model Type of the model being queried. Use "Contact" for email address and domain.

exclude_cc  boolean optional  

Should we exclude CC messages from the statistics.

model_com  string optional  

Model Communicating With, same as Model, except now for who/what the Model is communicating with.

model_type_com  string optional  

Model Type of the model you are communicating with. Use "Contact" for email address and domain.

exclude_cc_com  boolean optional  

Should we exclude CC messages from the statistics for the communicating with model.

exclusive  boolean optional  

Should we only focus on statistics where exclusively Model and ModelCom were involved?.

search  string optional  

Search a specific email subject line (warning this is very slow!).

label  string optional  

Label, if your mail provider supports labels/categories, you can filter your results using them.

thread_type  string optional  

A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.

thread_status  string optional  

A comma separated list (no spaces) of any combination of the following: internal,await-customer,closed,await-agent.

has_replies  string optional  

A comma separated list (no spaces) of any combination of the following: hasReplies,hasForwards,hasNoRepliesOrForwards.

classification  string optional  

A comma separated list (no spaces) of any combination of the following: calculating,first,reply,reply-all,forward.

messageType  string optional  

A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.

replies_over  integer optional  

Limit results to conversations with first reply times over X minutes. Should not be used at same time as message_replies_over.

message_replies_over  integer optional  

Limit results to messages where the reply time was over X minutes. Should not be used at same time as replies_over.

no_reply_for  integer optional  

Limit results to messages that have not had a reply for at least X minutes.

per_page  integer optional  

For paginated results, how many results per page. Max 200.

direction  string optional  

Direction in which to sort paginated results. Must be either asc or desc.

page  integer optional  

For paginated results, which page to get.

Interactions - Report

requires authentication

Interactions Report Data

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/reports/interactions"
);

const params = {
    "from": "2020-01-01",
    "to": "2020-01-08",
    "model": "My Company",
    "model_type": "Internal",
    "exclude_cc": "",
    "model_com": "Top Revenue Contacts",
    "model_type_com": "Contact Group",
    "exclude_cc_com": "",
    "exclusive": "",
    "label": "INBOX",
    "thread_type": "inbound,outbound,internal",
    "thread_status": "internal,await-customer,closed,await-agent",
    "has_replies": "hasReplies,hasForwards,hasNoRepliesOrForwards",
    "classification": "calculating,first,reply,reply-all,forward",
    "messageType": "inbound,outbound,internal",
    "replies_over": "15",
    "message_replies_over": "15",
    "no_reply_for": "15",
    "per_page": "2",
    "direction": "desc",
    "page": "1",
    "agentOne": "Joe Blogs",
    "agentTwo": "Jane Doe",
    "agentThree": "Peter Rabbit",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://portal.timetoreply.com/api/reports/interactions',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'from'=> '2020-01-01',
            'to'=> '2020-01-08',
            'model'=> 'My Company',
            'model_type'=> 'Internal',
            'exclude_cc'=> '',
            'model_com'=> 'Top Revenue Contacts',
            'model_type_com'=> 'Contact Group',
            'exclude_cc_com'=> '',
            'exclusive'=> '',
            'label'=> 'INBOX',
            'thread_type'=> 'inbound,outbound,internal',
            'thread_status'=> 'internal,await-customer,closed,await-agent',
            'has_replies'=> 'hasReplies,hasForwards,hasNoRepliesOrForwards',
            'classification'=> 'calculating,first,reply,reply-all,forward',
            'messageType'=> 'inbound,outbound,internal',
            'replies_over'=> '15',
            'message_replies_over'=> '15',
            'no_reply_for'=> '15',
            'per_page'=> '2',
            'direction'=> 'desc',
            'page'=> '1',
            'agentOne'=> 'Joe Blogs',
            'agentTwo'=> 'Jane Doe',
            'agentThree'=> 'Peter Rabbit',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{}
 

Request   

GET api/reports/interactions

Query Parameters

from  string optional  

The start date of your request in the format "YYYY-MM-DD". Must be less than or equal to "to".

to  string optional  

The end date of your request in the format "YYYY-MM-DD". Must be greater than or equal to "from".

model  string optional  

Name, email address or domain you want statistics for. Use the models endpoint to get a list.

model_type  string optional  

Model Type of the model being queried. Use "Contact" for email address and domain.

exclude_cc  boolean optional  

Should we exclude CC messages from the statistics.

model_com  string optional  

Model Communicating With, same as Model, except now for who/what the Model is communicating with.

model_type_com  string optional  

Model Type of the model you are communicating with. Use "Contact" for email address and domain.

exclude_cc_com  boolean optional  

Should we exclude CC messages from the statistics for the communicating with model.

exclusive  boolean optional  

Should we only focus on statistics where exclusively Model and ModelCom were involved?.

search  string optional  

Search a specific email subject line (warning this is very slow!).

label  string optional  

Label, if your mail provider supports labels/categories, you can filter your results using them.

thread_type  string optional  

A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.

thread_status  string optional  

A comma separated list (no spaces) of any combination of the following: internal,await-customer,closed,await-agent.

has_replies  string optional  

A comma separated list (no spaces) of any combination of the following: hasReplies,hasForwards,hasNoRepliesOrForwards.

classification  string optional  

A comma separated list (no spaces) of any combination of the following: calculating,first,reply,reply-all,forward.

messageType  string optional  

A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.

replies_over  integer optional  

Limit results to conversations with first reply times over X minutes. Should not be used at same time as message_replies_over.

message_replies_over  integer optional  

Limit results to messages where the reply time was over X minutes. Should not be used at same time as replies_over.

no_reply_for  integer optional  

Limit results to messages that have not had a reply for at least X minutes.

per_page  integer optional  

For paginated results, how many results per page. Max 200.

direction  string optional  

Direction in which to sort paginated results. Must be either asc or desc.

page  integer optional  

For paginated results, which page to get.

agentOne  string optional  

Name of the first agent you want to load interactions report for. Note, if an agent is provided as model, these options will be ignored.

agentTwo  string optional  

Name of the second agent you want to load interactions report for. Note, if an agent is provided as model, these options will be ignored.

agentThree  string optional  

Name of the third agent you want to load interactions report for. Note, if an agent is provided as model, these options will be ignored.

Interactions - Report

requires authentication

Interactions Report Data

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/reports/contact"
);

const params = {
    "from": "2020-01-01",
    "to": "2020-01-08",
    "model": "My Company",
    "model_type": "Internal",
    "exclude_cc": "",
    "model_com": "Top Revenue Contacts",
    "model_type_com": "Contact Group",
    "exclude_cc_com": "",
    "exclusive": "",
    "label": "INBOX",
    "thread_type": "inbound,outbound,internal",
    "thread_status": "internal,await-customer,closed,await-agent",
    "has_replies": "hasReplies,hasForwards,hasNoRepliesOrForwards",
    "classification": "calculating,first,reply,reply-all,forward",
    "messageType": "inbound,outbound,internal",
    "replies_over": "15",
    "message_replies_over": "15",
    "no_reply_for": "15",
    "per_page": "2",
    "direction": "desc",
    "page": "1",
    "agentOne": "Joe Blogs",
    "agentTwo": "Jane Doe",
    "agentThree": "Peter Rabbit",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://portal.timetoreply.com/api/reports/contact',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'from'=> '2020-01-01',
            'to'=> '2020-01-08',
            'model'=> 'My Company',
            'model_type'=> 'Internal',
            'exclude_cc'=> '',
            'model_com'=> 'Top Revenue Contacts',
            'model_type_com'=> 'Contact Group',
            'exclude_cc_com'=> '',
            'exclusive'=> '',
            'label'=> 'INBOX',
            'thread_type'=> 'inbound,outbound,internal',
            'thread_status'=> 'internal,await-customer,closed,await-agent',
            'has_replies'=> 'hasReplies,hasForwards,hasNoRepliesOrForwards',
            'classification'=> 'calculating,first,reply,reply-all,forward',
            'messageType'=> 'inbound,outbound,internal',
            'replies_over'=> '15',
            'message_replies_over'=> '15',
            'no_reply_for'=> '15',
            'per_page'=> '2',
            'direction'=> 'desc',
            'page'=> '1',
            'agentOne'=> 'Joe Blogs',
            'agentTwo'=> 'Jane Doe',
            'agentThree'=> 'Peter Rabbit',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "domains": {
        "data": {
            "current_page": 1,
            "data": [
                {
                    "name": "tromp.com",
                    "threads": {
                        "total": 3,
                        "internal": 0,
                        "inbound": 3,
                        "outbound": 0,
                        "sentInternally": 0,
                        "awaitCustomer": 1,
                        "awaitAgent": 1,
                        "closed": 1,
                        "haveReplies": 4,
                        "haveInitialReplies": 3
                    },
                    "messages": {
                        "received": {
                            "count": 6,
                            "initial": 3,
                            "replies": 3,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        },
                        "sent": {
                            "count": 4,
                            "initial": 0,
                            "replies": 4,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "35m:24s",
                        "raw": 2124,
                        "friendlyNoBusiness": "37m:03s",
                        "rawNoBusiness": 2223,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "30m:21s",
                        "raw": 1821.25,
                        "friendlyNoBusiness": "31m:35s",
                        "rawNoBusiness": 1895.5,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "00s",
                        "raw": 0,
                        "friendlyNoBusiness": "43m:44s",
                        "rawNoBusiness": 2624
                    }
                },
                {
                    "name": "aufderhar.com",
                    "threads": {
                        "total": 2,
                        "internal": 0,
                        "inbound": 1,
                        "outbound": 1,
                        "sentInternally": 0,
                        "awaitCustomer": 0,
                        "awaitAgent": 2,
                        "closed": 0,
                        "haveReplies": 0,
                        "haveInitialReplies": 0
                    },
                    "messages": {
                        "received": {
                            "count": 1,
                            "initial": 1,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        },
                        "sent": {
                            "count": 1,
                            "initial": 1,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "buckridge.com",
                    "threads": {
                        "total": 2,
                        "internal": 0,
                        "inbound": 0,
                        "outbound": 2,
                        "sentInternally": 0,
                        "awaitCustomer": 2,
                        "awaitAgent": 0,
                        "closed": 0,
                        "haveReplies": 0,
                        "haveInitialReplies": 0
                    },
                    "messages": {
                        "received": {
                            "count": 0,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": null
                        },
                        "sent": {
                            "count": 2,
                            "initial": 2,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "daniel.biz",
                    "threads": {
                        "total": 2,
                        "internal": 0,
                        "inbound": 1,
                        "outbound": 1,
                        "sentInternally": 0,
                        "awaitCustomer": 2,
                        "awaitAgent": 0,
                        "closed": 0,
                        "haveReplies": 1,
                        "haveInitialReplies": 1
                    },
                    "messages": {
                        "received": {
                            "count": 1,
                            "initial": 1,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        },
                        "sent": {
                            "count": 2,
                            "initial": 1,
                            "replies": 1,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "00s",
                        "raw": 0,
                        "friendlyNoBusiness": "13m:38s",
                        "rawNoBusiness": 818,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "00s",
                        "raw": 0,
                        "friendlyNoBusiness": "13m:38s",
                        "rawNoBusiness": 818,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "gulgowski.com",
                    "threads": {
                        "total": 2,
                        "internal": 0,
                        "inbound": 0,
                        "outbound": 2,
                        "sentInternally": 0,
                        "awaitCustomer": 1,
                        "awaitAgent": 1,
                        "closed": 0,
                        "haveReplies": 0,
                        "haveInitialReplies": 0
                    },
                    "messages": {
                        "received": {
                            "count": 0,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": null
                        },
                        "sent": {
                            "count": 2,
                            "initial": 2,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "hirthe.com",
                    "threads": {
                        "total": 2,
                        "internal": 0,
                        "inbound": 1,
                        "outbound": 1,
                        "sentInternally": 0,
                        "awaitCustomer": 2,
                        "awaitAgent": 0,
                        "closed": 0,
                        "haveReplies": 3,
                        "haveInitialReplies": 1
                    },
                    "messages": {
                        "received": {
                            "count": 2,
                            "initial": 1,
                            "replies": 1,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        },
                        "sent": {
                            "count": 4,
                            "initial": 1,
                            "replies": 2,
                            "replyAll": 1,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "05m:41s",
                        "raw": 341,
                        "friendlyNoBusiness": "05m:41s",
                        "rawNoBusiness": 341,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "10m:52s",
                        "raw": 652,
                        "friendlyNoBusiness": "15m:32s",
                        "rawNoBusiness": 932.3333333333334,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "jast.com",
                    "threads": {
                        "total": 2,
                        "internal": 0,
                        "inbound": 0,
                        "outbound": 2,
                        "sentInternally": 0,
                        "awaitCustomer": 1,
                        "awaitAgent": 1,
                        "closed": 0,
                        "haveReplies": 0,
                        "haveInitialReplies": 0
                    },
                    "messages": {
                        "received": {
                            "count": 1,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 1,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        },
                        "sent": {
                            "count": 2,
                            "initial": 2,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "mcglynn.com",
                    "threads": {
                        "total": 2,
                        "internal": 0,
                        "inbound": 1,
                        "outbound": 1,
                        "sentInternally": 0,
                        "awaitCustomer": 0,
                        "awaitAgent": 2,
                        "closed": 0,
                        "haveReplies": 1,
                        "haveInitialReplies": 1
                    },
                    "messages": {
                        "received": {
                            "count": 2,
                            "initial": 1,
                            "replies": 1,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        },
                        "sent": {
                            "count": 2,
                            "initial": 1,
                            "replies": 1,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "07m:37s",
                        "raw": 457,
                        "friendlyNoBusiness": "07m:37s",
                        "rawNoBusiness": 457,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "07m:37s",
                        "raw": 457,
                        "friendlyNoBusiness": "07m:37s",
                        "rawNoBusiness": 457,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "reichert.biz",
                    "threads": {
                        "total": 2,
                        "internal": 0,
                        "inbound": 2,
                        "outbound": 0,
                        "sentInternally": 0,
                        "awaitCustomer": 0,
                        "awaitAgent": 2,
                        "closed": 0,
                        "haveReplies": 1,
                        "haveInitialReplies": 1
                    },
                    "messages": {
                        "received": {
                            "count": 3,
                            "initial": 2,
                            "replies": 1,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        },
                        "sent": {
                            "count": 1,
                            "initial": 0,
                            "replies": 1,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "08m:05s",
                        "raw": 485,
                        "friendlyNoBusiness": "08m:05s",
                        "rawNoBusiness": 485,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "08m:05s",
                        "raw": 485,
                        "friendlyNoBusiness": "08m:05s",
                        "rawNoBusiness": 485,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "roberts.com",
                    "threads": {
                        "total": 2,
                        "internal": 0,
                        "inbound": 2,
                        "outbound": 0,
                        "sentInternally": 0,
                        "awaitCustomer": 1,
                        "awaitAgent": 1,
                        "closed": 0,
                        "haveReplies": 3,
                        "haveInitialReplies": 2
                    },
                    "messages": {
                        "received": {
                            "count": 4,
                            "initial": 2,
                            "replies": 2,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        },
                        "sent": {
                            "count": 3,
                            "initial": 0,
                            "replies": 3,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "04m:54s",
                        "raw": 294.5,
                        "friendlyNoBusiness": "04m:54s",
                        "rawNoBusiness": 294.5,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "09m:29s",
                        "raw": 569,
                        "friendlyNoBusiness": "10m:35s",
                        "rawNoBusiness": 635.3333333333334,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "rodriguez.com",
                    "threads": {
                        "total": 2,
                        "internal": 0,
                        "inbound": 0,
                        "outbound": 2,
                        "sentInternally": 0,
                        "awaitCustomer": 0,
                        "awaitAgent": 2,
                        "closed": 0,
                        "haveReplies": 0,
                        "haveInitialReplies": 0
                    },
                    "messages": {
                        "received": {
                            "count": 0,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": null
                        },
                        "sent": {
                            "count": 2,
                            "initial": 2,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "romaguera.com",
                    "threads": {
                        "total": 2,
                        "internal": 0,
                        "inbound": 2,
                        "outbound": 0,
                        "sentInternally": 0,
                        "awaitCustomer": 0,
                        "awaitAgent": 2,
                        "closed": 0,
                        "haveReplies": 2,
                        "haveInitialReplies": 2
                    },
                    "messages": {
                        "received": {
                            "count": 4,
                            "initial": 2,
                            "replies": 2,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        },
                        "sent": {
                            "count": 2,
                            "initial": 0,
                            "replies": 1,
                            "replyAll": 1,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "18m:01s",
                        "raw": 1081,
                        "friendlyNoBusiness": "23m:00s",
                        "rawNoBusiness": 1380.5,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "18m:01s",
                        "raw": 1081,
                        "friendlyNoBusiness": "23m:00s",
                        "rawNoBusiness": 1380.5,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "schuppe.com",
                    "threads": {
                        "total": 2,
                        "internal": 0,
                        "inbound": 1,
                        "outbound": 1,
                        "sentInternally": 0,
                        "awaitCustomer": 1,
                        "awaitAgent": 1,
                        "closed": 0,
                        "haveReplies": 1,
                        "haveInitialReplies": 1
                    },
                    "messages": {
                        "received": {
                            "count": 1,
                            "initial": 0,
                            "replies": 1,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        },
                        "sent": {
                            "count": 2,
                            "initial": 1,
                            "replies": 1,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "12h:59m",
                        "raw": 46784,
                        "friendlyNoBusiness": "91h:53m",
                        "rawNoBusiness": 330839,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "12h:59m",
                        "raw": 46784,
                        "friendlyNoBusiness": "91h:53m",
                        "rawNoBusiness": 330839,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "schuster.com",
                    "threads": {
                        "total": 2,
                        "internal": 0,
                        "inbound": 1,
                        "outbound": 1,
                        "sentInternally": 0,
                        "awaitCustomer": 1,
                        "awaitAgent": 1,
                        "closed": 0,
                        "haveReplies": 2,
                        "haveInitialReplies": 1
                    },
                    "messages": {
                        "received": {
                            "count": 3,
                            "initial": 1,
                            "replies": 1,
                            "replyAll": 1,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        },
                        "sent": {
                            "count": 3,
                            "initial": 1,
                            "replies": 2,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "26m:50s",
                        "raw": 1610,
                        "friendlyNoBusiness": "26m:50s",
                        "rawNoBusiness": 1610,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "17m:23s",
                        "raw": 1043,
                        "friendlyNoBusiness": "17m:23s",
                        "rawNoBusiness": 1043,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "ward.net",
                    "threads": {
                        "total": 2,
                        "internal": 0,
                        "inbound": 2,
                        "outbound": 0,
                        "sentInternally": 0,
                        "awaitCustomer": 0,
                        "awaitAgent": 2,
                        "closed": 0,
                        "haveReplies": 2,
                        "haveInitialReplies": 2
                    },
                    "messages": {
                        "received": {
                            "count": 4,
                            "initial": 2,
                            "replies": 1,
                            "replyAll": 1,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        },
                        "sent": {
                            "count": 2,
                            "initial": 0,
                            "replies": 1,
                            "replyAll": 1,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "16m:58s",
                        "raw": 1018,
                        "friendlyNoBusiness": "16m:58s",
                        "rawNoBusiness": 1018,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "16m:58s",
                        "raw": 1018,
                        "friendlyNoBusiness": "16m:58s",
                        "rawNoBusiness": 1018,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "wunsch.com",
                    "threads": {
                        "total": 2,
                        "internal": 0,
                        "inbound": 2,
                        "outbound": 0,
                        "sentInternally": 0,
                        "awaitCustomer": 1,
                        "awaitAgent": 1,
                        "closed": 0,
                        "haveReplies": 2,
                        "haveInitialReplies": 2
                    },
                    "messages": {
                        "received": {
                            "count": 3,
                            "initial": 2,
                            "replies": 1,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        },
                        "sent": {
                            "count": 2,
                            "initial": 0,
                            "replies": 2,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "13h:54m",
                        "raw": 50067.5,
                        "friendlyNoBusiness": "69h:54m",
                        "rawNoBusiness": 251667.5,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "13h:54m",
                        "raw": 50067.5,
                        "friendlyNoBusiness": "69h:54m",
                        "rawNoBusiness": 251667.5,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "abshire.biz",
                    "threads": {
                        "total": 1,
                        "internal": 0,
                        "inbound": 1,
                        "outbound": 0,
                        "sentInternally": 0,
                        "awaitCustomer": 0,
                        "awaitAgent": 0,
                        "closed": 1,
                        "haveReplies": 1,
                        "haveInitialReplies": 1
                    },
                    "messages": {
                        "received": {
                            "count": 2,
                            "initial": 1,
                            "replies": 1,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        },
                        "sent": {
                            "count": 1,
                            "initial": 0,
                            "replies": 1,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "00s",
                        "raw": 0,
                        "friendlyNoBusiness": "19m:58s",
                        "rawNoBusiness": 1198,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "00s",
                        "raw": 0,
                        "friendlyNoBusiness": "19m:58s",
                        "rawNoBusiness": 1198,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "00s",
                        "raw": 0,
                        "friendlyNoBusiness": "15h:04m",
                        "rawNoBusiness": 54271
                    }
                },
                {
                    "name": "altenwerth.org",
                    "threads": {
                        "total": 1,
                        "internal": 0,
                        "inbound": 1,
                        "outbound": 0,
                        "sentInternally": 0,
                        "awaitCustomer": 1,
                        "awaitAgent": 0,
                        "closed": 0,
                        "haveReplies": 2,
                        "haveInitialReplies": 1
                    },
                    "messages": {
                        "received": {
                            "count": 2,
                            "initial": 1,
                            "replies": 1,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        },
                        "sent": {
                            "count": 2,
                            "initial": 0,
                            "replies": 2,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "28m:35s",
                        "raw": 1715,
                        "friendlyNoBusiness": "28m:35s",
                        "rawNoBusiness": 1715,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "01h:12m",
                        "raw": 4374.5,
                        "friendlyNoBusiness": "01h:12m",
                        "rawNoBusiness": 4374.5,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "armstrong.org",
                    "threads": {
                        "total": 1,
                        "internal": 0,
                        "inbound": 0,
                        "outbound": 1,
                        "sentInternally": 0,
                        "awaitCustomer": 0,
                        "awaitAgent": 1,
                        "closed": 0,
                        "haveReplies": 0,
                        "haveInitialReplies": 0
                    },
                    "messages": {
                        "received": {
                            "count": 0,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": null
                        },
                        "sent": {
                            "count": 1,
                            "initial": 1,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "bailey.com",
                    "threads": {
                        "total": 1,
                        "internal": 0,
                        "inbound": 0,
                        "outbound": 1,
                        "sentInternally": 0,
                        "awaitCustomer": 0,
                        "awaitAgent": 1,
                        "closed": 0,
                        "haveReplies": 0,
                        "haveInitialReplies": 0
                    },
                    "messages": {
                        "received": {
                            "count": 0,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": null
                        },
                        "sent": {
                            "count": 1,
                            "initial": 1,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "bailey.info",
                    "threads": {
                        "total": 1,
                        "internal": 0,
                        "inbound": 1,
                        "outbound": 0,
                        "sentInternally": 0,
                        "awaitCustomer": 1,
                        "awaitAgent": 0,
                        "closed": 0,
                        "haveReplies": 2,
                        "haveInitialReplies": 1
                    },
                    "messages": {
                        "received": {
                            "count": 2,
                            "initial": 1,
                            "replies": 1,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        },
                        "sent": {
                            "count": 2,
                            "initial": 0,
                            "replies": 2,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "02m:31s",
                        "raw": 151,
                        "friendlyNoBusiness": "02m:31s",
                        "rawNoBusiness": 151,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "01m:15s",
                        "raw": 75.5,
                        "friendlyNoBusiness": "03m:38s",
                        "rawNoBusiness": 218.5,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "bartell.info",
                    "threads": {
                        "total": 1,
                        "internal": 0,
                        "inbound": 0,
                        "outbound": 1,
                        "sentInternally": 0,
                        "awaitCustomer": 0,
                        "awaitAgent": 1,
                        "closed": 0,
                        "haveReplies": 0,
                        "haveInitialReplies": 0
                    },
                    "messages": {
                        "received": {
                            "count": 1,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 1,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        },
                        "sent": {
                            "count": 1,
                            "initial": 1,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "barton.biz",
                    "threads": {
                        "total": 1,
                        "internal": 0,
                        "inbound": 1,
                        "outbound": 0,
                        "sentInternally": 0,
                        "awaitCustomer": 0,
                        "awaitAgent": 1,
                        "closed": 0,
                        "haveReplies": 0,
                        "haveInitialReplies": 0
                    },
                    "messages": {
                        "received": {
                            "count": 1,
                            "initial": 1,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        },
                        "sent": {
                            "count": 0,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": null
                        }
                    },
                    "initialTTR": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": null,
                        "percentileRanksRaw": null
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": null,
                        "percentileRanksRaw": null
                    },
                    "overallTTR": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": null,
                        "percentileRanksRaw": null
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "bauch.com",
                    "threads": {
                        "total": 1,
                        "internal": 0,
                        "inbound": 1,
                        "outbound": 0,
                        "sentInternally": 0,
                        "awaitCustomer": 0,
                        "awaitAgent": 1,
                        "closed": 0,
                        "haveReplies": 1,
                        "haveInitialReplies": 1
                    },
                    "messages": {
                        "received": {
                            "count": 2,
                            "initial": 1,
                            "replies": 1,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        },
                        "sent": {
                            "count": 1,
                            "initial": 0,
                            "replies": 1,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "07m:17s",
                        "raw": 437,
                        "friendlyNoBusiness": "07m:17s",
                        "rawNoBusiness": 437,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "07m:17s",
                        "raw": 437,
                        "friendlyNoBusiness": "07m:17s",
                        "rawNoBusiness": 437,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "bechtelar.org",
                    "threads": {
                        "total": 1,
                        "internal": 0,
                        "inbound": 0,
                        "outbound": 1,
                        "sentInternally": 0,
                        "awaitCustomer": 1,
                        "awaitAgent": 0,
                        "closed": 0,
                        "haveReplies": 0,
                        "haveInitialReplies": 0
                    },
                    "messages": {
                        "received": {
                            "count": 0,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": null
                        },
                        "sent": {
                            "count": 1,
                            "initial": 1,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                }
            ],
            "first_page_url": "https:\/\/portal.timetoreply.com\/api\/reports\/contact?page=1",
            "from": 1,
            "last_page": 8,
            "last_page_url": "https:\/\/portal.timetoreply.com\/api\/reports\/contact?page=8",
            "links": [
                {
                    "url": null,
                    "label": "« Previous",
                    "active": false
                },
                {
                    "url": "https:\/\/portal.timetoreply.com\/api\/reports\/contact?page=1",
                    "label": "1",
                    "active": true
                },
                {
                    "url": "https:\/\/portal.timetoreply.com\/api\/reports\/contact?page=2",
                    "label": "2",
                    "active": false
                },
                {
                    "url": "https:\/\/portal.timetoreply.com\/api\/reports\/contact?page=3",
                    "label": "3",
                    "active": false
                },
                {
                    "url": "https:\/\/portal.timetoreply.com\/api\/reports\/contact?page=4",
                    "label": "4",
                    "active": false
                },
                {
                    "url": "https:\/\/portal.timetoreply.com\/api\/reports\/contact?page=5",
                    "label": "5",
                    "active": false
                },
                {
                    "url": "https:\/\/portal.timetoreply.com\/api\/reports\/contact?page=6",
                    "label": "6",
                    "active": false
                },
                {
                    "url": "https:\/\/portal.timetoreply.com\/api\/reports\/contact?page=7",
                    "label": "7",
                    "active": false
                },
                {
                    "url": "https:\/\/portal.timetoreply.com\/api\/reports\/contact?page=8",
                    "label": "8",
                    "active": false
                },
                {
                    "url": "https:\/\/portal.timetoreply.com\/api\/reports\/contact?page=2",
                    "label": "Next »",
                    "active": false
                }
            ],
            "next_page_url": "https:\/\/portal.timetoreply.com\/api\/reports\/contact?page=2",
            "path": "https:\/\/portal.timetoreply.com\/api\/reports\/contact",
            "per_page": 25,
            "prev_page_url": null,
            "to": 25,
            "total": 176
        },
        "totals": {
            "threads.total": 193,
            "threads.awaitCustomer": 80,
            "threads.awaitAgent": 99,
            "messages.received.count": 189,
            "messages.sent.count": 199
        }
    },
    "emails": {
        "data": {
            "current_page": 1,
            "data": [
                {
                    "name": "brekke.brad@romaguera.com",
                    "threads": {
                        "total": 2,
                        "internal": 0,
                        "inbound": 2,
                        "outbound": 0,
                        "sentInternally": 0,
                        "awaitCustomer": 0,
                        "awaitAgent": 2,
                        "closed": 0,
                        "haveReplies": 2,
                        "haveInitialReplies": 2
                    },
                    "messages": {
                        "received": {
                            "count": 4,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        },
                        "sent": {
                            "count": 2,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "18m:01s",
                        "raw": 1081,
                        "friendlyNoBusiness": "23m:00s",
                        "rawNoBusiness": 1380.5,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "18m:01s",
                        "raw": 1081,
                        "friendlyNoBusiness": "23m:00s",
                        "rawNoBusiness": 1380.5,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "hessel.herminia@reichert.biz",
                    "threads": {
                        "total": 2,
                        "internal": 0,
                        "inbound": 2,
                        "outbound": 0,
                        "sentInternally": 0,
                        "awaitCustomer": 0,
                        "awaitAgent": 2,
                        "closed": 0,
                        "haveReplies": 1,
                        "haveInitialReplies": 1
                    },
                    "messages": {
                        "received": {
                            "count": 3,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        },
                        "sent": {
                            "count": 1,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "08m:05s",
                        "raw": 485,
                        "friendlyNoBusiness": "08m:05s",
                        "rawNoBusiness": 485,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "08m:05s",
                        "raw": 485,
                        "friendlyNoBusiness": "08m:05s",
                        "rawNoBusiness": 485,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "lenora.runolfsson@daniel.biz",
                    "threads": {
                        "total": 2,
                        "internal": 0,
                        "inbound": 1,
                        "outbound": 1,
                        "sentInternally": 0,
                        "awaitCustomer": 2,
                        "awaitAgent": 0,
                        "closed": 0,
                        "haveReplies": 1,
                        "haveInitialReplies": 1
                    },
                    "messages": {
                        "received": {
                            "count": 1,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        },
                        "sent": {
                            "count": 2,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "00s",
                        "raw": 0,
                        "friendlyNoBusiness": "13m:38s",
                        "rawNoBusiness": 818,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "00s",
                        "raw": 0,
                        "friendlyNoBusiness": "13m:38s",
                        "rawNoBusiness": 818,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "aauer@dickinson.com",
                    "threads": {
                        "total": 1,
                        "internal": 0,
                        "inbound": 0,
                        "outbound": 1,
                        "sentInternally": 0,
                        "awaitCustomer": 0,
                        "awaitAgent": 1,
                        "closed": 0,
                        "haveReplies": 0,
                        "haveInitialReplies": 0
                    },
                    "messages": {
                        "received": {
                            "count": 1,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        },
                        "sent": {
                            "count": 1,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "abechtelar@mraz.net",
                    "threads": {
                        "total": 1,
                        "internal": 0,
                        "inbound": 1,
                        "outbound": 0,
                        "sentInternally": 0,
                        "awaitCustomer": 1,
                        "awaitAgent": 0,
                        "closed": 0,
                        "haveReplies": 1,
                        "haveInitialReplies": 0
                    },
                    "messages": {
                        "received": {
                            "count": 0,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": null
                        },
                        "sent": {
                            "count": 1,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "36h:11m",
                        "raw": 130263,
                        "friendlyNoBusiness": "163h:16m",
                        "rawNoBusiness": 587802,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "abel59@wiegand.biz",
                    "threads": {
                        "total": 1,
                        "internal": 0,
                        "inbound": 0,
                        "outbound": 1,
                        "sentInternally": 0,
                        "awaitCustomer": 1,
                        "awaitAgent": 0,
                        "closed": 0,
                        "haveReplies": 0,
                        "haveInitialReplies": 0
                    },
                    "messages": {
                        "received": {
                            "count": 0,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": null
                        },
                        "sent": {
                            "count": 1,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "aliyah76@dooley.com",
                    "threads": {
                        "total": 1,
                        "internal": 0,
                        "inbound": 1,
                        "outbound": 0,
                        "sentInternally": 0,
                        "awaitCustomer": 1,
                        "awaitAgent": 0,
                        "closed": 0,
                        "haveReplies": 2,
                        "haveInitialReplies": 1
                    },
                    "messages": {
                        "received": {
                            "count": 2,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        },
                        "sent": {
                            "count": 2,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "02h:53m",
                        "raw": 10427,
                        "friendlyNoBusiness": "17h:54m",
                        "rawNoBusiness": 64466,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "01h:28m",
                        "raw": 5318,
                        "friendlyNoBusiness": "08h:58m",
                        "rawNoBusiness": 32337.5,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "antonio36@murray.net",
                    "threads": {
                        "total": 1,
                        "internal": 0,
                        "inbound": 1,
                        "outbound": 0,
                        "sentInternally": 0,
                        "awaitCustomer": 0,
                        "awaitAgent": 1,
                        "closed": 0,
                        "haveReplies": 1,
                        "haveInitialReplies": 1
                    },
                    "messages": {
                        "received": {
                            "count": 2,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        },
                        "sent": {
                            "count": 1,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "21m:43s",
                        "raw": 1303,
                        "friendlyNoBusiness": "21m:43s",
                        "rawNoBusiness": 1303,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "21m:43s",
                        "raw": 1303,
                        "friendlyNoBusiness": "21m:43s",
                        "rawNoBusiness": 1303,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "aruecker@runte.com",
                    "threads": {
                        "total": 1,
                        "internal": 0,
                        "inbound": 1,
                        "outbound": 0,
                        "sentInternally": 0,
                        "awaitCustomer": 1,
                        "awaitAgent": 0,
                        "closed": 0,
                        "haveReplies": 2,
                        "haveInitialReplies": 1
                    },
                    "messages": {
                        "received": {
                            "count": 2,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        },
                        "sent": {
                            "count": 2,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "19s",
                        "raw": 19,
                        "friendlyNoBusiness": "19s",
                        "rawNoBusiness": 19,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "09s",
                        "raw": 9.5,
                        "friendlyNoBusiness": "01m:59s",
                        "rawNoBusiness": 119,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "audrey.mohr@reinger.com",
                    "threads": {
                        "total": 1,
                        "internal": 0,
                        "inbound": 1,
                        "outbound": 0,
                        "sentInternally": 0,
                        "awaitCustomer": 1,
                        "awaitAgent": 0,
                        "closed": 0,
                        "haveReplies": 1,
                        "haveInitialReplies": 1
                    },
                    "messages": {
                        "received": {
                            "count": 1,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        },
                        "sent": {
                            "count": 1,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "27m:39s",
                        "raw": 1659,
                        "friendlyNoBusiness": "27m:39s",
                        "rawNoBusiness": 1659,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "27m:39s",
                        "raw": 1659,
                        "friendlyNoBusiness": "27m:39s",
                        "rawNoBusiness": 1659,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "aurelie.daniel@schultz.com",
                    "threads": {
                        "total": 1,
                        "internal": 0,
                        "inbound": 1,
                        "outbound": 0,
                        "sentInternally": 0,
                        "awaitCustomer": 1,
                        "awaitAgent": 0,
                        "closed": 0,
                        "haveReplies": 2,
                        "haveInitialReplies": 1
                    },
                    "messages": {
                        "received": {
                            "count": 2,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        },
                        "sent": {
                            "count": 2,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "23m:24s",
                        "raw": 1404,
                        "friendlyNoBusiness": "23m:24s",
                        "rawNoBusiness": 1404,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "40m:59s",
                        "raw": 2459,
                        "friendlyNoBusiness": "40m:59s",
                        "rawNoBusiness": 2459,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "bailey.justina@rodriguez.com",
                    "threads": {
                        "total": 1,
                        "internal": 0,
                        "inbound": 0,
                        "outbound": 1,
                        "sentInternally": 0,
                        "awaitCustomer": 0,
                        "awaitAgent": 1,
                        "closed": 0,
                        "haveReplies": 0,
                        "haveInitialReplies": 0
                    },
                    "messages": {
                        "received": {
                            "count": 0,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": null
                        },
                        "sent": {
                            "count": 1,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "bartholome78@hammes.biz",
                    "threads": {
                        "total": 1,
                        "internal": 0,
                        "inbound": 1,
                        "outbound": 0,
                        "sentInternally": 0,
                        "awaitCustomer": 0,
                        "awaitAgent": 1,
                        "closed": 0,
                        "haveReplies": 1,
                        "haveInitialReplies": 1
                    },
                    "messages": {
                        "received": {
                            "count": 2,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        },
                        "sent": {
                            "count": 1,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "05m:02s",
                        "raw": 302,
                        "friendlyNoBusiness": "05m:02s",
                        "rawNoBusiness": 302,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "05m:02s",
                        "raw": 302,
                        "friendlyNoBusiness": "05m:02s",
                        "rawNoBusiness": 302,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "becker.bette@walker.com",
                    "threads": {
                        "total": 1,
                        "internal": 0,
                        "inbound": 1,
                        "outbound": 0,
                        "sentInternally": 0,
                        "awaitCustomer": 0,
                        "awaitAgent": 1,
                        "closed": 0,
                        "haveReplies": 0,
                        "haveInitialReplies": 0
                    },
                    "messages": {
                        "received": {
                            "count": 1,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        },
                        "sent": {
                            "count": 0,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": null
                        }
                    },
                    "initialTTR": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": null,
                        "percentileRanksRaw": null
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": null,
                        "percentileRanksRaw": null
                    },
                    "overallTTR": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": null,
                        "percentileRanksRaw": null
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "benny02@schuppe.net",
                    "threads": {
                        "total": 1,
                        "internal": 0,
                        "inbound": 1,
                        "outbound": 0,
                        "sentInternally": 0,
                        "awaitCustomer": 0,
                        "awaitAgent": 1,
                        "closed": 0,
                        "haveReplies": 1,
                        "haveInitialReplies": 1
                    },
                    "messages": {
                        "received": {
                            "count": 2,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        },
                        "sent": {
                            "count": 1,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "58m:23s",
                        "raw": 3503,
                        "friendlyNoBusiness": "58m:23s",
                        "rawNoBusiness": 3503,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "58m:23s",
                        "raw": 3503,
                        "friendlyNoBusiness": "58m:23s",
                        "rawNoBusiness": 3503,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "bernadette.jacobi@willms.com",
                    "threads": {
                        "total": 1,
                        "internal": 0,
                        "inbound": 1,
                        "outbound": 0,
                        "sentInternally": 0,
                        "awaitCustomer": 0,
                        "awaitAgent": 1,
                        "closed": 0,
                        "haveReplies": 1,
                        "haveInitialReplies": 1
                    },
                    "messages": {
                        "received": {
                            "count": 2,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        },
                        "sent": {
                            "count": 1,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "10m:03s",
                        "raw": 603,
                        "friendlyNoBusiness": "10m:03s",
                        "rawNoBusiness": 603,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "10m:03s",
                        "raw": 603,
                        "friendlyNoBusiness": "10m:03s",
                        "rawNoBusiness": 603,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "bogisich.eloisa@mcglynn.com",
                    "threads": {
                        "total": 1,
                        "internal": 0,
                        "inbound": 0,
                        "outbound": 1,
                        "sentInternally": 0,
                        "awaitCustomer": 0,
                        "awaitAgent": 1,
                        "closed": 0,
                        "haveReplies": 0,
                        "haveInitialReplies": 0
                    },
                    "messages": {
                        "received": {
                            "count": 0,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": null
                        },
                        "sent": {
                            "count": 1,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "botsford.rafael@schuster.com",
                    "threads": {
                        "total": 1,
                        "internal": 0,
                        "inbound": 1,
                        "outbound": 0,
                        "sentInternally": 0,
                        "awaitCustomer": 1,
                        "awaitAgent": 0,
                        "closed": 0,
                        "haveReplies": 1,
                        "haveInitialReplies": 1
                    },
                    "messages": {
                        "received": {
                            "count": 1,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        },
                        "sent": {
                            "count": 1,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "26m:50s",
                        "raw": 1610,
                        "friendlyNoBusiness": "26m:50s",
                        "rawNoBusiness": 1610,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "26m:50s",
                        "raw": 1610,
                        "friendlyNoBusiness": "26m:50s",
                        "rawNoBusiness": 1610,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "breitenberg.ila@schimmel.com",
                    "threads": {
                        "total": 1,
                        "internal": 0,
                        "inbound": 0,
                        "outbound": 1,
                        "sentInternally": 0,
                        "awaitCustomer": 1,
                        "awaitAgent": 0,
                        "closed": 0,
                        "haveReplies": 0,
                        "haveInitialReplies": 0
                    },
                    "messages": {
                        "received": {
                            "count": 0,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": null
                        },
                        "sent": {
                            "count": 1,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "brekke.angus@moen.info",
                    "threads": {
                        "total": 1,
                        "internal": 0,
                        "inbound": 1,
                        "outbound": 0,
                        "sentInternally": 0,
                        "awaitCustomer": 0,
                        "awaitAgent": 1,
                        "closed": 0,
                        "haveReplies": 1,
                        "haveInitialReplies": 1
                    },
                    "messages": {
                        "received": {
                            "count": 2,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        },
                        "sent": {
                            "count": 1,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "01h:32m",
                        "raw": 5523,
                        "friendlyNoBusiness": "06h:50m",
                        "rawNoBusiness": 24634,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "01h:32m",
                        "raw": 5523,
                        "friendlyNoBusiness": "06h:50m",
                        "rawNoBusiness": 24634,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "briana.okeefe@lehner.com",
                    "threads": {
                        "total": 1,
                        "internal": 0,
                        "inbound": 1,
                        "outbound": 0,
                        "sentInternally": 0,
                        "awaitCustomer": 0,
                        "awaitAgent": 1,
                        "closed": 0,
                        "haveReplies": 0,
                        "haveInitialReplies": 0
                    },
                    "messages": {
                        "received": {
                            "count": 1,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        },
                        "sent": {
                            "count": 0,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": null
                        }
                    },
                    "initialTTR": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": null,
                        "percentileRanksRaw": null
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": null,
                        "percentileRanksRaw": null
                    },
                    "overallTTR": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": null,
                        "percentileRanksRaw": null
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "bwunsch@johnston.com",
                    "threads": {
                        "total": 1,
                        "internal": 0,
                        "inbound": 0,
                        "outbound": 1,
                        "sentInternally": 0,
                        "awaitCustomer": 1,
                        "awaitAgent": 0,
                        "closed": 0,
                        "haveReplies": 1,
                        "haveInitialReplies": 0
                    },
                    "messages": {
                        "received": {
                            "count": 1,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        },
                        "sent": {
                            "count": 2,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "00s",
                        "raw": 0,
                        "friendlyNoBusiness": "24m:40s",
                        "rawNoBusiness": 1480,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "caltenwerth@osinski.biz",
                    "threads": {
                        "total": 1,
                        "internal": 0,
                        "inbound": 0,
                        "outbound": 1,
                        "sentInternally": 0,
                        "awaitCustomer": 0,
                        "awaitAgent": 1,
                        "closed": 0,
                        "haveReplies": 0,
                        "haveInitialReplies": 0
                    },
                    "messages": {
                        "received": {
                            "count": 0,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": null
                        },
                        "sent": {
                            "count": 1,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "carolina.farrell@bauch.com",
                    "threads": {
                        "total": 1,
                        "internal": 0,
                        "inbound": 1,
                        "outbound": 0,
                        "sentInternally": 0,
                        "awaitCustomer": 0,
                        "awaitAgent": 1,
                        "closed": 0,
                        "haveReplies": 1,
                        "haveInitialReplies": 1
                    },
                    "messages": {
                        "received": {
                            "count": 2,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        },
                        "sent": {
                            "count": 1,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "07m:17s",
                        "raw": 437,
                        "friendlyNoBusiness": "07m:17s",
                        "rawNoBusiness": 437,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "07m:17s",
                        "raw": 437,
                        "friendlyNoBusiness": "07m:17s",
                        "rawNoBusiness": 437,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                },
                {
                    "name": "cary.hessel@collins.com",
                    "threads": {
                        "total": 1,
                        "internal": 0,
                        "inbound": 1,
                        "outbound": 0,
                        "sentInternally": 0,
                        "awaitCustomer": 0,
                        "awaitAgent": 1,
                        "closed": 0,
                        "haveReplies": 1,
                        "haveInitialReplies": 1
                    },
                    "messages": {
                        "received": {
                            "count": 2,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        },
                        "sent": {
                            "count": 1,
                            "initial": 0,
                            "replies": 0,
                            "replyAll": 0,
                            "forward": 0,
                            "initialReplies": 0,
                            "dailyStats": []
                        }
                    },
                    "initialTTR": {
                        "friendly": "22m:47s",
                        "raw": 1367,
                        "friendlyNoBusiness": "22m:47s",
                        "rawNoBusiness": 1367,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTF": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTR": {
                        "friendly": "22m:47s",
                        "raw": 1367,
                        "friendlyNoBusiness": "22m:47s",
                        "rawNoBusiness": 1367,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    },
                    "overallTTC": {
                        "friendly": "N\/A",
                        "raw": null,
                        "friendlyNoBusiness": "N\/A",
                        "rawNoBusiness": null
                    }
                }
            ],
            "first_page_url": "https:\/\/portal.timetoreply.com\/api\/reports\/contact?page=1",
            "from": 1,
            "last_page": 8,
            "last_page_url": "https:\/\/portal.timetoreply.com\/api\/reports\/contact?page=8",
            "links": [
                {
                    "url": null,
                    "label": "« Previous",
                    "active": false
                },
                {
                    "url": "https:\/\/portal.timetoreply.com\/api\/reports\/contact?page=1",
                    "label": "1",
                    "active": true
                },
                {
                    "url": "https:\/\/portal.timetoreply.com\/api\/reports\/contact?page=2",
                    "label": "2",
                    "active": false
                },
                {
                    "url": "https:\/\/portal.timetoreply.com\/api\/reports\/contact?page=3",
                    "label": "3",
                    "active": false
                },
                {
                    "url": "https:\/\/portal.timetoreply.com\/api\/reports\/contact?page=4",
                    "label": "4",
                    "active": false
                },
                {
                    "url": "https:\/\/portal.timetoreply.com\/api\/reports\/contact?page=5",
                    "label": "5",
                    "active": false
                },
                {
                    "url": "https:\/\/portal.timetoreply.com\/api\/reports\/contact?page=6",
                    "label": "6",
                    "active": false
                },
                {
                    "url": "https:\/\/portal.timetoreply.com\/api\/reports\/contact?page=7",
                    "label": "7",
                    "active": false
                },
                {
                    "url": "https:\/\/portal.timetoreply.com\/api\/reports\/contact?page=8",
                    "label": "8",
                    "active": false
                },
                {
                    "url": "https:\/\/portal.timetoreply.com\/api\/reports\/contact?page=2",
                    "label": "Next »",
                    "active": false
                }
            ],
            "next_page_url": "https:\/\/portal.timetoreply.com\/api\/reports\/contact?page=2",
            "path": "https:\/\/portal.timetoreply.com\/api\/reports\/contact",
            "per_page": 25,
            "prev_page_url": null,
            "to": 25,
            "total": 190
        },
        "totals": {
            "threads.total": 193,
            "threads.awaitCustomer": 80,
            "threads.awaitAgent": 99,
            "messages.received.count": 189,
            "messages.sent.count": 199
        }
    },
    "columns": [
        {
            "field": "name",
            "sortable": true,
            "centered": false,
            "label": "Email",
            "visible": true,
            "type": "normal",
            "hasEmails": true,
            "hasComparison": false
        },
        {
            "field": "threads.total",
            "sortable": true,
            "centered": false,
            "label": "Conversations",
            "visible": true,
            "type": "normal",
            "hasComparison": true
        },
        {
            "field": "threads.awaitCustomer",
            "sortable": true,
            "centered": false,
            "label": "Awaiting Contact Response",
            "visible": false,
            "type": "normal",
            "hasComparison": true
        },
        {
            "field": "threads.awaitAgent",
            "sortable": true,
            "centered": false,
            "label": "Awaiting Agent Response",
            "visible": false,
            "type": "normal",
            "hasComparison": true
        },
        {
            "field": "messages.received.count",
            "sortable": true,
            "centered": false,
            "label": "Emails (R)",
            "visible": true,
            "type": "normal",
            "hasComparison": true
        },
        {
            "field": "messages.sent.count",
            "sortable": true,
            "centered": false,
            "label": "Emails (S)",
            "visible": true,
            "type": "normal",
            "hasComparison": true
        },
        {
            "field": "initialTTR.friendly",
            "sortable": true,
            "centered": true,
            "label": "First Reply Time",
            "visible": true,
            "type": "success",
            "hasComparison": false
        },
        {
            "field": "initialTTR.friendlyNoBusiness",
            "sortable": true,
            "centered": true,
            "label": "First Reply Time (no business hours)",
            "visible": false,
            "type": "info",
            "hasComparison": false
        },
        {
            "field": "overallTTR.friendly",
            "sortable": true,
            "centered": true,
            "label": "Overall Reply Time",
            "visible": true,
            "type": "success",
            "hasComparison": false
        },
        {
            "field": "overallTTR.friendlyNoBusiness",
            "sortable": true,
            "centered": true,
            "label": "Overall Reply Time (no business hours)",
            "visible": false,
            "type": "info",
            "hasComparison": false
        },
        {
            "field": "overallTTC.friendly",
            "sortable": true,
            "centered": true,
            "label": "Time To Close",
            "visible": false,
            "type": "success",
            "tooltip": "Average time to close a conversation. Measured from the first message in a conversation to the last. Takes account of business hours",
            "hasComparison": false
        },
        {
            "field": "overallTTC.friendlyNoBusiness",
            "sortable": true,
            "centered": true,
            "label": "Time To Close (no business hours)",
            "visible": false,
            "type": "info",
            "tooltip": "Average time to close a conversation. Measured from the first message in a conversation to the last. Ingores of business hours",
            "hasComparison": false
        }
    ]
}
 

Request   

GET api/reports/contact

Query Parameters

from  string optional  

The start date of your request in the format "YYYY-MM-DD". Must be less than or equal to "to".

to  string optional  

The end date of your request in the format "YYYY-MM-DD". Must be greater than or equal to "from".

model  string optional  

Name, email address or domain you want statistics for. Use the models endpoint to get a list.

model_type  string optional  

Model Type of the model being queried. Use "Contact" for email address and domain.

exclude_cc  boolean optional  

Should we exclude CC messages from the statistics.

model_com  string optional  

Model Communicating With, same as Model, except now for who/what the Model is communicating with.

model_type_com  string optional  

Model Type of the model you are communicating with. Use "Contact" for email address and domain.

exclude_cc_com  boolean optional  

Should we exclude CC messages from the statistics for the communicating with model.

exclusive  boolean optional  

Should we only focus on statistics where exclusively Model and ModelCom were involved?.

search  string optional  

Search a specific email subject line (warning this is very slow!).

label  string optional  

Label, if your mail provider supports labels/categories, you can filter your results using them.

thread_type  string optional  

A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.

thread_status  string optional  

A comma separated list (no spaces) of any combination of the following: internal,await-customer,closed,await-agent.

has_replies  string optional  

A comma separated list (no spaces) of any combination of the following: hasReplies,hasForwards,hasNoRepliesOrForwards.

classification  string optional  

A comma separated list (no spaces) of any combination of the following: calculating,first,reply,reply-all,forward.

messageType  string optional  

A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.

replies_over  integer optional  

Limit results to conversations with first reply times over X minutes. Should not be used at same time as message_replies_over.

message_replies_over  integer optional  

Limit results to messages where the reply time was over X minutes. Should not be used at same time as replies_over.

no_reply_for  integer optional  

Limit results to messages that have not had a reply for at least X minutes.

per_page  integer optional  

For paginated results, how many results per page. Max 200.

direction  string optional  

Direction in which to sort paginated results. Must be either asc or desc.

page  integer optional  

For paginated results, which page to get.

agentOne  string optional  

Name of the first agent you want to load interactions report for. Note, if an agent is provided as model, these options will be ignored.

agentTwo  string optional  

Name of the second agent you want to load interactions report for. Note, if an agent is provided as model, these options will be ignored.

agentThree  string optional  

Name of the third agent you want to load interactions report for. Note, if an agent is provided as model, these options will be ignored.

Overview - Report

requires authentication

Overview Report Data

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/reports/overview"
);

const params = {
    "from": "2020-01-01",
    "to": "2020-01-08",
    "model": "timetoreply.com",
    "model_type": "Contact",
    "exclude_cc": "",
    "model_com": "Top Revenue Contacts",
    "model_type_com": "Contact Group",
    "exclude_cc_com": "",
    "exclusive": "",
    "label": "INBOX",
    "thread_type": "inbound,outbound,internal",
    "thread_status": "internal,await-customer,closed,await-agent",
    "has_replies": "hasReplies,hasForwards,hasNoRepliesOrForwards",
    "classification": "calculating,first,reply,reply-all,forward",
    "messageType": "inbound,outbound,internal",
    "replies_over": "15",
    "message_replies_over": "15",
    "no_reply_for": "15",
    "per_page": "2",
    "sort_by": "threads.total",
    "direction": "desc",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://portal.timetoreply.com/api/reports/overview',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'from'=> '2020-01-01',
            'to'=> '2020-01-08',
            'model'=> 'timetoreply.com',
            'model_type'=> 'Contact',
            'exclude_cc'=> '',
            'model_com'=> 'Top Revenue Contacts',
            'model_type_com'=> 'Contact Group',
            'exclude_cc_com'=> '',
            'exclusive'=> '',
            'label'=> 'INBOX',
            'thread_type'=> 'inbound,outbound,internal',
            'thread_status'=> 'internal,await-customer,closed,await-agent',
            'has_replies'=> 'hasReplies,hasForwards,hasNoRepliesOrForwards',
            'classification'=> 'calculating,first,reply,reply-all,forward',
            'messageType'=> 'inbound,outbound,internal',
            'replies_over'=> '15',
            'message_replies_over'=> '15',
            'no_reply_for'=> '15',
            'per_page'=> '2',
            'sort_by'=> 'threads.total',
            'direction'=> 'desc',
            'page'=> '1',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "stats": {
        "threads": {
            "total": 147,
            "internal": 15,
            "inbound": 114,
            "outbound": 18,
            "sentInternally": 23,
            "awaitCustomer": 50,
            "awaitAgent": 66,
            "closed": 8,
            "haveReplies": 109,
            "haveRepliesFromAgents": 102,
            "completionRatio": {
                "ratio": "0.00%",
                "numerator": 90,
                "denominator": 0
            }
        },
        "messages": {
            "count": 370,
            "initial": 137,
            "replies": 200,
            "replyAll": 24,
            "forward": 9,
            "received": {
                "count": 239,
                "initial": 119,
                "replies": 88,
                "replyAll": 23,
                "forward": 9,
                "initialReplies": 0,
                "dayOfWeek": {
                    "Friday": 27.5,
                    "Monday": 34,
                    "Saturday": 1,
                    "Sunday": 2,
                    "Thursday": 55,
                    "Tuesday": 46,
                    "Wednesday": 46
                },
                "hourOfDay": {
                    "00:00": 0.143,
                    "01:00": 0.143,
                    "02:00": 0,
                    "03:00": 0,
                    "04:00": 0.286,
                    "05:00": 0,
                    "06:00": 0.286,
                    "07:00": 0,
                    "08:00": 0.286,
                    "09:00": 0.286,
                    "10:00": 2.286,
                    "11:00": 3.714,
                    "12:00": 4.286,
                    "13:00": 3.286,
                    "14:00": 3,
                    "15:00": 4.571,
                    "16:00": 4.286,
                    "17:00": 6,
                    "18:00": 1.143,
                    "19:00": 0.143,
                    "20:00": 0,
                    "21:00": 0,
                    "22:00": 0,
                    "23:00": 0
                }
            },
            "sent": {
                "count": 181,
                "initial": 31,
                "replies": 125,
                "replyAll": 16,
                "forward": 9,
                "initialReplies": 90,
                "dayOfWeek": {
                    "Friday": 19.5,
                    "Monday": 26,
                    "Saturday": 1,
                    "Sunday": 0,
                    "Thursday": 45,
                    "Tuesday": 37,
                    "Wednesday": 33
                },
                "hourOfDay": {
                    "00:00": 0,
                    "01:00": 0,
                    "02:00": 0,
                    "03:00": 0,
                    "04:00": 0,
                    "05:00": 0,
                    "06:00": 0,
                    "07:00": 0,
                    "08:00": 0.143,
                    "09:00": 0.286,
                    "10:00": 1.143,
                    "11:00": 4,
                    "12:00": 3.571,
                    "13:00": 3.143,
                    "14:00": 2,
                    "15:00": 3.143,
                    "16:00": 3.286,
                    "17:00": 4.286,
                    "18:00": 0.714,
                    "19:00": 0,
                    "20:00": 0,
                    "21:00": 0,
                    "22:00": 0.143,
                    "23:00": 0
                }
            }
        },
        "overallTTR": {
            "friendly": "02h:52m",
            "raw": 10341.765957446809,
            "friendlyNoBusiness": "12h:10m",
            "rawNoBusiness": 43858.34751773049,
            "percentileRanks": [
                {
                    "key": "15m:00s",
                    "value": "38.66%"
                },
                {
                    "key": "01h:00m",
                    "value": "76.14%"
                },
                {
                    "key": "02h:00m",
                    "value": "79.57%"
                },
                {
                    "key": "04h:00m",
                    "value": "85.46%"
                },
                {
                    "key": "08h:00m",
                    "value": "90.07%"
                },
                {
                    "key": "24h:00m",
                    "value": "95.32%"
                }
            ],
            "percentileRanksRaw": [
                {
                    "key": "15m:00s",
                    "value": "30.17%"
                },
                {
                    "key": "01h:00m",
                    "value": "76.14%"
                },
                {
                    "key": "02h:00m",
                    "value": "78.86%"
                },
                {
                    "key": "04h:00m",
                    "value": "82.32%"
                },
                {
                    "key": "08h:00m",
                    "value": "84.49%"
                },
                {
                    "key": "24h:00m",
                    "value": "88.76%"
                }
            ]
        },
        "initialTTR": {
            "friendly": "03h:35m",
            "raw": 12927.133333333333,
            "friendlyNoBusiness": "15h:31m",
            "rawNoBusiness": 55874.044444444444,
            "percentileRanks": [
                {
                    "key": "15m:00s",
                    "value": "37.06%"
                },
                {
                    "key": "01h:00m",
                    "value": "70.49%"
                },
                {
                    "key": "02h:00m",
                    "value": "75.19%"
                },
                {
                    "key": "04h:00m",
                    "value": "82.78%"
                },
                {
                    "key": "08h:00m",
                    "value": "87.11%"
                },
                {
                    "key": "24h:00m",
                    "value": "93.77%"
                }
            ],
            "percentileRanksRaw": [
                {
                    "key": "15m:00s",
                    "value": "26.37%"
                },
                {
                    "key": "01h:00m",
                    "value": "70.49%"
                },
                {
                    "key": "02h:00m",
                    "value": "74.16%"
                },
                {
                    "key": "04h:00m",
                    "value": "77.85%"
                },
                {
                    "key": "08h:00m",
                    "value": "81.26%"
                },
                {
                    "key": "24h:00m",
                    "value": "85.83%"
                }
            ]
        },
        "overallTTF": {
            "friendly": "43m:06s",
            "raw": 2586.777777777778,
            "friendlyNoBusiness": "04h:07m",
            "rawNoBusiness": 14820,
            "percentileRanks": [
                {
                    "key": "15m:00s",
                    "value": "27.11%"
                },
                {
                    "key": "01h:00m",
                    "value": "79.52%"
                },
                {
                    "key": "02h:00m",
                    "value": "87.35%"
                },
                {
                    "key": "04h:00m",
                    "value": "100.00%"
                },
                {
                    "key": "08h:00m",
                    "value": "100.00%"
                },
                {
                    "key": "24h:00m",
                    "value": "100.00%"
                }
            ],
            "percentileRanksRaw": [
                {
                    "key": "15m:00s",
                    "value": "27.11%"
                },
                {
                    "key": "01h:00m",
                    "value": "66.93%"
                },
                {
                    "key": "02h:00m",
                    "value": "68.35%"
                },
                {
                    "key": "04h:00m",
                    "value": "71.19%"
                },
                {
                    "key": "08h:00m",
                    "value": "76.86%"
                },
                {
                    "key": "24h:00m",
                    "value": "100.00%"
                }
            ]
        },
        "overallTTC": {
            "friendly": "03h:14m",
            "raw": 11655.5,
            "friendlyNoBusiness": "15h:05m",
            "rawNoBusiness": 54304,
            "percentileRanks": [
                {
                    "key": "15m:00s",
                    "value": "41.75%"
                },
                {
                    "key": "01h:00m",
                    "value": "52.57%"
                },
                {
                    "key": "02h:00m",
                    "value": "56.67%"
                },
                {
                    "key": "04h:00m",
                    "value": "64.86%"
                },
                {
                    "key": "08h:00m",
                    "value": "100.00%"
                },
                {
                    "key": "24h:00m",
                    "value": "100.00%"
                }
            ],
            "percentileRanksRaw": [
                {
                    "key": "15m:00s",
                    "value": "0.00%"
                },
                {
                    "key": "01h:00m",
                    "value": "25.91%"
                },
                {
                    "key": "02h:00m",
                    "value": "29.40%"
                },
                {
                    "key": "04h:00m",
                    "value": "36.37%"
                },
                {
                    "key": "08h:00m",
                    "value": "50.10%"
                },
                {
                    "key": "24h:00m",
                    "value": "68.69%"
                }
            ]
        },
        "dailyStats": [
            {
                "timestamp": 1628204400000,
                "date": "Fri, 6th Aug",
                "messages": {
                    "sent": 38,
                    "forward": 3,
                    "reply": 29,
                    "received": 54
                },
                "overallTTR": {
                    "raw": 15532.758620689656,
                    "rawNoBusiness": 59937.89655172414
                },
                "overallTTF": {
                    "raw": 2153,
                    "rawNoBusiness": 20111.666666666668
                },
                "initialTTR": {
                    "raw": 9074.6,
                    "rawNoBusiness": 29381.45
                },
                "threads": {
                    "total": 30,
                    "haveRepliesFromAgents": 11,
                    "noReplyFromAgents": 0,
                    "completionRatio": 36.67
                }
            },
            {
                "timestamp": 1628290800000,
                "date": "Sat, 7th Aug",
                "messages": {
                    "sent": 1,
                    "forward": 0,
                    "reply": 1,
                    "received": 1
                },
                "overallTTR": {
                    "raw": 30366,
                    "rawNoBusiness": 145390
                },
                "overallTTF": {
                    "raw": null,
                    "rawNoBusiness": null
                },
                "initialTTR": {
                    "raw": null,
                    "rawNoBusiness": null
                },
                "threads": {
                    "total": 0,
                    "haveRepliesFromAgents": 0,
                    "noReplyFromAgents": 0,
                    "completionRatio": 0
                }
            },
            {
                "timestamp": 1628377200000,
                "date": "Sun, 8th Aug",
                "messages": {
                    "sent": 0,
                    "forward": 0,
                    "reply": 0,
                    "received": 2
                },
                "overallTTR": {
                    "raw": null,
                    "rawNoBusiness": null
                },
                "overallTTF": {
                    "raw": null,
                    "rawNoBusiness": null
                },
                "initialTTR": {
                    "raw": null,
                    "rawNoBusiness": null
                },
                "threads": {
                    "total": 1,
                    "haveRepliesFromAgents": 0,
                    "noReplyFromAgents": 0,
                    "completionRatio": 0
                }
            },
            {
                "timestamp": 1628463600000,
                "date": "Mon, 9th Aug",
                "messages": {
                    "sent": 26,
                    "forward": 2,
                    "reply": 20,
                    "received": 34
                },
                "overallTTR": {
                    "raw": 10665,
                    "rawNoBusiness": 62185.9
                },
                "overallTTF": {
                    "raw": 1182.5,
                    "rawNoBusiness": 1182.5
                },
                "initialTTR": {
                    "raw": 25982.833333333332,
                    "rawNoBusiness": 132431.83333333334
                },
                "threads": {
                    "total": 23,
                    "haveRepliesFromAgents": 10,
                    "noReplyFromAgents": 0,
                    "completionRatio": 43.48
                }
            },
            {
                "timestamp": 1628550000000,
                "date": "Tue, 10th Aug",
                "messages": {
                    "sent": 37,
                    "forward": 2,
                    "reply": 26,
                    "received": 46
                },
                "overallTTR": {
                    "raw": 8550.153846153846,
                    "rawNoBusiness": 38270.269230769234
                },
                "overallTTF": {
                    "raw": 6683.5,
                    "rawNoBusiness": 34795
                },
                "initialTTR": {
                    "raw": 11444.333333333334,
                    "rawNoBusiness": 65009
                },
                "threads": {
                    "total": 26,
                    "haveRepliesFromAgents": 12,
                    "noReplyFromAgents": 0,
                    "completionRatio": 46.15
                }
            },
            {
                "timestamp": 1628636400000,
                "date": "Wed, 11th Aug",
                "messages": {
                    "sent": 33,
                    "forward": 1,
                    "reply": 27,
                    "received": 46
                },
                "overallTTR": {
                    "raw": 10545.074074074075,
                    "rawNoBusiness": 40593.03703703704
                },
                "overallTTF": {
                    "raw": 901,
                    "rawNoBusiness": 901
                },
                "initialTTR": {
                    "raw": 13653.105263157895,
                    "rawNoBusiness": 54344
                },
                "threads": {
                    "total": 29,
                    "haveRepliesFromAgents": 11,
                    "noReplyFromAgents": 0,
                    "completionRatio": 37.93
                }
            },
            {
                "timestamp": 1628722800000,
                "date": "Thu, 12th Aug",
                "messages": {
                    "sent": 45,
                    "forward": 1,
                    "reply": 37,
                    "received": 55
                },
                "overallTTR": {
                    "raw": 6928.621621621622,
                    "rawNoBusiness": 26080.756756756757
                },
                "overallTTF": {
                    "raw": 189,
                    "rawNoBusiness": 189
                },
                "initialTTR": {
                    "raw": 10515.961538461539,
                    "rawNoBusiness": 39908.769230769234
                },
                "threads": {
                    "total": 37,
                    "haveRepliesFromAgents": 16,
                    "noReplyFromAgents": 0,
                    "completionRatio": 43.24
                }
            },
            {
                "timestamp": 1628809200000,
                "date": "Fri, 13th Aug",
                "messages": {
                    "sent": 1,
                    "forward": 0,
                    "reply": 1,
                    "received": 1
                },
                "overallTTR": {
                    "raw": 693,
                    "rawNoBusiness": 693
                },
                "overallTTF": {
                    "raw": null,
                    "rawNoBusiness": null
                },
                "initialTTR": {
                    "raw": 0,
                    "rawNoBusiness": 1581
                },
                "threads": {
                    "total": 1,
                    "haveRepliesFromAgents": 1,
                    "noReplyFromAgents": 0,
                    "completionRatio": 100
                }
            }
        ]
    },
    "all_agent_stats": {
        "maxima": {
            "threads.total": 81,
            "threads.internal": 15,
            "threads.inbound": 56,
            "threads.outbound": 10,
            "threads.sentInternally": 23,
            "threads.awaitCustomer": 24,
            "threads.awaitAgent": 33,
            "threads.closed": 6,
            "threads.haveReplies": 63,
            "messages.received.count": 110,
            "messages.received.initial": 50,
            "messages.received.replies": 45,
            "messages.received.replyAll": 14,
            "messages.received.forward": 6,
            "messages.sent.count": 86,
            "messages.sent.initial": 15,
            "messages.sent.replies": 59,
            "messages.sent.replyAll": 7,
            "messages.sent.forward": 8
        },
        "data": [
            {
                "name": "j.heathcote@timetoreply.com",
                "threads": {
                    "total": 81,
                    "internal": 15,
                    "inbound": 56,
                    "outbound": 10,
                    "sentInternally": 23,
                    "awaitCustomer": 24,
                    "awaitAgent": 33,
                    "closed": 1,
                    "haveReplies": 63,
                    "haveInitialReplies": 42
                },
                "messages": {
                    "received": {
                        "count": 110,
                        "initial": 50,
                        "replies": 45,
                        "replyAll": 14,
                        "forward": 1,
                        "initialReplies": 0,
                        "dailyStats": {
                            "2021-08-06 00:00:00": 20,
                            "2021-08-07 00:00:00": 1,
                            "2021-08-08 00:00:00": 0,
                            "2021-08-09 00:00:00": 14,
                            "2021-08-10 00:00:00": 22,
                            "2021-08-11 00:00:00": 17,
                            "2021-08-12 00:00:00": 35,
                            "2021-08-13 00:00:00": 1
                        }
                    },
                    "sent": {
                        "count": 86,
                        "initial": 15,
                        "replies": 59,
                        "replyAll": 4,
                        "forward": 8,
                        "initialReplies": 0,
                        "dailyStats": {
                            "2021-08-06 00:00:00": 20,
                            "2021-08-07 00:00:00": 0,
                            "2021-08-08 00:00:00": 0,
                            "2021-08-09 00:00:00": 10,
                            "2021-08-10 00:00:00": 16,
                            "2021-08-11 00:00:00": 13,
                            "2021-08-12 00:00:00": 26,
                            "2021-08-13 00:00:00": 1
                        }
                    }
                },
                "initialTTR": {
                    "friendly": "03h:15m",
                    "raw": 11756.785714285714,
                    "friendlyNoBusiness": "13h:21m",
                    "rawNoBusiness": 48084.26190476191,
                    "percentileRanks": [
                        {
                            "key": "15m:00s",
                            "value": "42.51%"
                        },
                        {
                            "key": "01h:00m",
                            "value": "67.71%"
                        },
                        {
                            "key": "02h:00m",
                            "value": "75.19%"
                        },
                        {
                            "key": "04h:00m",
                            "value": "84.17%"
                        },
                        {
                            "key": "08h:00m",
                            "value": "87.06%"
                        },
                        {
                            "key": "24h:00m",
                            "value": "95.81%"
                        }
                    ],
                    "percentileRanksRaw": [
                        {
                            "key": "15m:00s",
                            "value": "30.61%"
                        },
                        {
                            "key": "01h:00m",
                            "value": "67.71%"
                        },
                        {
                            "key": "02h:00m",
                            "value": "73.15%"
                        },
                        {
                            "key": "04h:00m",
                            "value": "77.94%"
                        },
                        {
                            "key": "08h:00m",
                            "value": "79.61%"
                        },
                        {
                            "key": "24h:00m",
                            "value": "86.30%"
                        }
                    ]
                },
                "overallTTF": {
                    "friendly": "45m:27s",
                    "raw": 2727.5,
                    "friendlyNoBusiness": "04h:34m",
                    "rawNoBusiness": 16489.875,
                    "percentileRanks": [
                        {
                            "key": "15m:00s",
                            "value": "30.50%"
                        },
                        {
                            "key": "01h:00m",
                            "value": "76.96%"
                        },
                        {
                            "key": "02h:00m",
                            "value": "85.77%"
                        },
                        {
                            "key": "04h:00m",
                            "value": "100.00%"
                        },
                        {
                            "key": "08h:00m",
                            "value": "100.00%"
                        },
                        {
                            "key": "24h:00m",
                            "value": "100.00%"
                        }
                    ],
                    "percentileRanksRaw": [
                        {
                            "key": "15m:00s",
                            "value": "30.50%"
                        },
                        {
                            "key": "01h:00m",
                            "value": "62.80%"
                        },
                        {
                            "key": "02h:00m",
                            "value": "64.39%"
                        },
                        {
                            "key": "04h:00m",
                            "value": "67.59%"
                        },
                        {
                            "key": "08h:00m",
                            "value": "73.97%"
                        },
                        {
                            "key": "24h:00m",
                            "value": "100.00%"
                        }
                    ]
                },
                "overallTTR": {
                    "friendly": "02h:37m",
                    "raw": 9451.666666666666,
                    "friendlyNoBusiness": "10h:36m",
                    "rawNoBusiness": 38192.46031746032,
                    "percentileRanks": [
                        {
                            "key": "15m:00s",
                            "value": "42.63%"
                        },
                        {
                            "key": "01h:00m",
                            "value": "70.54%"
                        },
                        {
                            "key": "02h:00m",
                            "value": "76.49%"
                        },
                        {
                            "key": "04h:00m",
                            "value": "85.03%"
                        },
                        {
                            "key": "08h:00m",
                            "value": "90.72%"
                        },
                        {
                            "key": "24h:00m",
                            "value": "97.21%"
                        }
                    ],
                    "percentileRanksRaw": [
                        {
                            "key": "15m:00s",
                            "value": "32.35%"
                        },
                        {
                            "key": "01h:00m",
                            "value": "70.54%"
                        },
                        {
                            "key": "02h:00m",
                            "value": "74.90%"
                        },
                        {
                            "key": "04h:00m",
                            "value": "80.53%"
                        },
                        {
                            "key": "08h:00m",
                            "value": "81.65%"
                        },
                        {
                            "key": "24h:00m",
                            "value": "89.08%"
                        }
                    ]
                },
                "overallTTC": {
                    "friendly": "N\/A",
                    "raw": null,
                    "friendlyNoBusiness": "N\/A",
                    "rawNoBusiness": null
                }
            },
            {
                "name": "j.considine@timetoreply.com",
                "threads": {
                    "total": 49,
                    "internal": 12,
                    "inbound": 33,
                    "outbound": 4,
                    "sentInternally": 14,
                    "awaitCustomer": 14,
                    "awaitAgent": 18,
                    "closed": 3,
                    "haveReplies": 38,
                    "haveInitialReplies": 23
                },
                "messages": {
                    "received": {
                        "count": 58,
                        "initial": 28,
                        "replies": 22,
                        "replyAll": 6,
                        "forward": 2,
                        "initialReplies": 0,
                        "dailyStats": {
                            "2021-08-06 00:00:00": 15,
                            "2021-08-07 00:00:00": 0,
                            "2021-08-08 00:00:00": 1,
                            "2021-08-09 00:00:00": 6,
                            "2021-08-10 00:00:00": 7,
                            "2021-08-11 00:00:00": 14,
                            "2021-08-12 00:00:00": 15
                        }
                    },
                    "sent": {
                        "count": 48,
                        "initial": 9,
                        "replies": 31,
                        "replyAll": 7,
                        "forward": 1,
                        "initialReplies": 0,
                        "dailyStats": {
                            "2021-08-06 00:00:00": 10,
                            "2021-08-07 00:00:00": 0,
                            "2021-08-08 00:00:00": 0,
                            "2021-08-09 00:00:00": 6,
                            "2021-08-10 00:00:00": 10,
                            "2021-08-11 00:00:00": 13,
                            "2021-08-12 00:00:00": 9
                        }
                    }
                },
                "initialTTR": {
                    "friendly": "03h:16m",
                    "raw": 11788.91304347826,
                    "friendlyNoBusiness": "15h:11m",
                    "rawNoBusiness": 54708.30434782609,
                    "percentileRanks": [
                        {
                            "key": "15m:00s",
                            "value": "28.42%"
                        },
                        {
                            "key": "01h:00m",
                            "value": "79.40%"
                        },
                        {
                            "key": "02h:00m",
                            "value": "83.03%"
                        },
                        {
                            "key": "04h:00m",
                            "value": "85.10%"
                        },
                        {
                            "key": "08h:00m",
                            "value": "87.75%"
                        },
                        {
                            "key": "24h:00m",
                            "value": "93.77%"
                        }
                    ],
                    "percentileRanksRaw": [
                        {
                            "key": "15m:00s",
                            "value": "19.25%"
                        },
                        {
                            "key": "01h:00m",
                            "value": "79.40%"
                        },
                        {
                            "key": "02h:00m",
                            "value": "82.65%"
                        },
                        {
                            "key": "04h:00m",
                            "value": "82.85%"
                        },
                        {
                            "key": "08h:00m",
                            "value": "83.25%"
                        },
                        {
                            "key": "24h:00m",
                            "value": "84.84%"
                        }
                    ]
                },
                "overallTTF": {
                    "friendly": "24m:21s",
                    "raw": 1461,
                    "friendlyNoBusiness": "24m:21s",
                    "rawNoBusiness": 1461,
                    "percentileRanks": [
                        {
                            "key": "15m:00s",
                            "value": "0.00%"
                        },
                        {
                            "key": "01h:00m",
                            "value": "100.00%"
                        },
                        {
                            "key": "02h:00m",
                            "value": "100.00%"
                        },
                        {
                            "key": "04h:00m",
                            "value": "100.00%"
                        },
                        {
                            "key": "08h:00m",
                            "value": "100.00%"
                        },
                        {
                            "key": "24h:00m",
                            "value": "100.00%"
                        }
                    ],
                    "percentileRanksRaw": [
                        {
                            "key": "15m:00s",
                            "value": "0.00%"
                        },
                        {
                            "key": "01h:00m",
                            "value": "100.00%"
                        },
                        {
                            "key": "02h:00m",
                            "value": "100.00%"
                        },
                        {
                            "key": "04h:00m",
                            "value": "100.00%"
                        },
                        {
                            "key": "08h:00m",
                            "value": "100.00%"
                        },
                        {
                            "key": "24h:00m",
                            "value": "100.00%"
                        }
                    ]
                },
                "overallTTR": {
                    "friendly": "03h:03m",
                    "raw": 11016.28947368421,
                    "friendlyNoBusiness": "13h:37m",
                    "rawNoBusiness": 49056.36842105263,
                    "percentileRanks": [
                        {
                            "key": "15m:00s",
                            "value": "29.91%"
                        },
                        {
                            "key": "01h:00m",
                            "value": "84.35%"
                        },
                        {
                            "key": "02h:00m",
                            "value": "87.09%"
                        },
                        {
                            "key": "04h:00m",
                            "value": "88.35%"
                        },
                        {
                            "key": "08h:00m",
                            "value": "89.95%"
                        },
                        {
                            "key": "24h:00m",
                            "value": "93.60%"
                        }
                    ],
                    "percentileRanksRaw": [
                        {
                            "key": "15m:00s",
                            "value": "23.38%"
                        },
                        {
                            "key": "01h:00m",
                            "value": "84.35%"
                        },
                        {
                            "key": "02h:00m",
                            "value": "86.87%"
                        },
                        {
                            "key": "04h:00m",
                            "value": "86.99%"
                        },
                        {
                            "key": "08h:00m",
                            "value": "87.23%"
                        },
                        {
                            "key": "24h:00m",
                            "value": "88.19%"
                        }
                    ]
                },
                "overallTTC": {
                    "friendly": "06h:06m",
                    "raw": 21968,
                    "friendlyNoBusiness": "29h:25m",
                    "rawNoBusiness": 105953
                }
            }
        ]
    },
    "all_domain_stats": [
        {
            "name": "timetoreply.com",
            "threads": {
                "total": 147,
                "internal": 15,
                "inbound": 114,
                "outbound": 18,
                "sentInternally": 23,
                "awaitCustomer": 50,
                "awaitAgent": 66,
                "closed": 8,
                "haveReplies": 141,
                "haveInitialReplies": 90
            },
            "messages": {
                "received": {
                    "count": 239,
                    "initial": 119,
                    "replies": 88,
                    "replyAll": 23,
                    "forward": 9,
                    "initialReplies": 0,
                    "dailyStats": []
                },
                "sent": {
                    "count": 181,
                    "initial": 31,
                    "replies": 125,
                    "replyAll": 16,
                    "forward": 9,
                    "initialReplies": 0,
                    "dailyStats": []
                }
            },
            "initialTTR": {
                "friendly": "03h:35m",
                "raw": 12927.133333333333,
                "friendlyNoBusiness": "15h:31m",
                "rawNoBusiness": 55874.044444444444,
                "percentileRanks": [
                    {
                        "key": "15m:00s",
                        "value": "37.06%"
                    },
                    {
                        "key": "01h:00m",
                        "value": "70.49%"
                    },
                    {
                        "key": "02h:00m",
                        "value": "75.19%"
                    },
                    {
                        "key": "04h:00m",
                        "value": "82.78%"
                    },
                    {
                        "key": "08h:00m",
                        "value": "87.11%"
                    },
                    {
                        "key": "24h:00m",
                        "value": "93.77%"
                    }
                ],
                "percentileRanksRaw": [
                    {
                        "key": "15m:00s",
                        "value": "26.37%"
                    },
                    {
                        "key": "01h:00m",
                        "value": "70.49%"
                    },
                    {
                        "key": "02h:00m",
                        "value": "74.16%"
                    },
                    {
                        "key": "04h:00m",
                        "value": "77.85%"
                    },
                    {
                        "key": "08h:00m",
                        "value": "81.26%"
                    },
                    {
                        "key": "24h:00m",
                        "value": "85.83%"
                    }
                ]
            },
            "overallTTF": {
                "friendly": "43m:06s",
                "raw": 2586.777777777778,
                "friendlyNoBusiness": "04h:07m",
                "rawNoBusiness": 14820,
                "percentileRanks": [
                    {
                        "key": "15m:00s",
                        "value": "27.11%"
                    },
                    {
                        "key": "01h:00m",
                        "value": "79.52%"
                    },
                    {
                        "key": "02h:00m",
                        "value": "87.35%"
                    },
                    {
                        "key": "04h:00m",
                        "value": "100.00%"
                    },
                    {
                        "key": "08h:00m",
                        "value": "100.00%"
                    },
                    {
                        "key": "24h:00m",
                        "value": "100.00%"
                    }
                ],
                "percentileRanksRaw": [
                    {
                        "key": "15m:00s",
                        "value": "27.11%"
                    },
                    {
                        "key": "01h:00m",
                        "value": "66.93%"
                    },
                    {
                        "key": "02h:00m",
                        "value": "68.35%"
                    },
                    {
                        "key": "04h:00m",
                        "value": "71.19%"
                    },
                    {
                        "key": "08h:00m",
                        "value": "76.86%"
                    },
                    {
                        "key": "24h:00m",
                        "value": "100.00%"
                    }
                ]
            },
            "overallTTR": {
                "friendly": "02h:52m",
                "raw": 10341.765957446809,
                "friendlyNoBusiness": "12h:10m",
                "rawNoBusiness": 43858.34751773049,
                "percentileRanks": [
                    {
                        "key": "15m:00s",
                        "value": "38.66%"
                    },
                    {
                        "key": "01h:00m",
                        "value": "76.14%"
                    },
                    {
                        "key": "02h:00m",
                        "value": "79.57%"
                    },
                    {
                        "key": "04h:00m",
                        "value": "85.46%"
                    },
                    {
                        "key": "08h:00m",
                        "value": "90.07%"
                    },
                    {
                        "key": "24h:00m",
                        "value": "95.32%"
                    }
                ],
                "percentileRanksRaw": [
                    {
                        "key": "15m:00s",
                        "value": "30.17%"
                    },
                    {
                        "key": "01h:00m",
                        "value": "76.14%"
                    },
                    {
                        "key": "02h:00m",
                        "value": "78.86%"
                    },
                    {
                        "key": "04h:00m",
                        "value": "82.32%"
                    },
                    {
                        "key": "08h:00m",
                        "value": "84.49%"
                    },
                    {
                        "key": "24h:00m",
                        "value": "88.76%"
                    }
                ]
            },
            "overallTTC": {
                "friendly": "03h:14m",
                "raw": 11655.5,
                "friendlyNoBusiness": "15h:05m",
                "rawNoBusiness": 54304
            }
        }
    ],
    "all_customer_stats": [],
    "total": 2,
    "page": 1,
    "args": {
        "model": {
            "id": null,
            "name": "timetoreply.com",
            "email_usernames": [
                "timetoreply.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        "modelCom": {
            "icon": "globe-americas",
            "id": null,
            "model_type": "Anybody",
            "name": "Anybody",
            "value": "Anybody"
        }
    }
}
 

Request   

GET api/reports/overview

Query Parameters

from  string optional  

The start date of your request in the format "YYYY-MM-DD". Must be less than or equal to "to".

to  string optional  

The end date of your request in the format "YYYY-MM-DD". Must be greater than or equal to "from".

model  string optional  

Name, email address or domain you want statistics for. Use the models endpoint to get a list.

model_type  string optional  

Model Type of the model being queried. Use "Contact" for email address and domain.

exclude_cc  boolean optional  

Should we exclude CC messages from the statistics.

model_com  string optional  

Model Communicating With, same as Model, except now for who/what the Model is communicating with.

model_type_com  string optional  

Model Type of the model you are communicating with. Use "Contact" for email address and domain.

exclude_cc_com  boolean optional  

Should we exclude CC messages from the statistics for the communicating with model.

exclusive  boolean optional  

Should we only focus on statistics where exclusively Model and ModelCom were involved?.

search  string optional  

Search a specific email subject line (warning this is very slow!).

label  string optional  

Label, if your mail provider supports labels/categories, you can filter your results using them.

thread_type  string optional  

A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.

thread_status  string optional  

A comma separated list (no spaces) of any combination of the following: internal,await-customer,closed,await-agent.

has_replies  string optional  

A comma separated list (no spaces) of any combination of the following: hasReplies,hasForwards,hasNoRepliesOrForwards.

classification  string optional  

A comma separated list (no spaces) of any combination of the following: calculating,first,reply,reply-all,forward.

messageType  string optional  

A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.

replies_over  integer optional  

Limit results to conversations with first reply times over X minutes. Should not be used at same time as message_replies_over.

message_replies_over  integer optional  

Limit results to messages where the reply time was over X minutes. Should not be used at same time as replies_over.

no_reply_for  integer optional  

Limit results to messages that have not had a reply for at least X minutes.

per_page  integer optional  

For paginated results, how many results per page. Max 200.

sort_by  string optional  

Field Name to sort agents by. Defaults to threads.total.

direction  string optional  

Direction in which to sort paginated results. Must be either asc or desc.

page  integer optional  

For paginated results, which page to get.

Productivity - Report

requires authentication

Productivity Report Data

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/reports/productivity"
);

const params = {
    "date": "2020-01-01",
    "model": "My Company",
    "model_type": "Internal",
    "model_com": "Top Revenue Contacts",
    "model_type_com": "Contact Group",
    "label": "INBOX",
    "per_page": "2",
    "sort_by": "threads.total",
    "direction": "desc",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://portal.timetoreply.com/api/reports/productivity',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'date'=> '2020-01-01',
            'model'=> 'My Company',
            'model_type'=> 'Internal',
            'model_com'=> 'Top Revenue Contacts',
            'model_type_com'=> 'Contact Group',
            'label'=> 'INBOX',
            'per_page'=> '2',
            'sort_by'=> 'threads.total',
            'direction'=> 'desc',
            'page'=> '1',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "email_volumes": {
        "columns": [
            {
                "field": "name",
                "label": "Mailbox",
                "sortable": true,
                "visible": true,
                "subheading": "Overall:",
                "meta": {
                    "hasEmails": true,
                    "tooltip": "These are the email accounts you're currently tracking."
                },
                "headerClass": "has-tooltip"
            },
            {
                "field": "messages_received_count",
                "label": "Emails Received",
                "sortable": true,
                "visible": true,
                "subheading": "0",
                "meta": {
                    "hasSpark": true,
                    "tooltip": "The total number of emails received for this period, regardless of business hours."
                },
                "headerClass": "has-tooltip"
            },
            {
                "field": "messages_sent_count",
                "label": "Emails Sent",
                "sortable": true,
                "visible": true,
                "subheading": "0",
                "meta": {
                    "hasSpark": true,
                    "tooltip": "The total number of emails sent for the period regardless of business hours."
                },
                "headerClass": "has-tooltip"
            },
            {
                "field": "messages_sent_replies_percent",
                "label": "% Replies Sent",
                "sortable": true,
                "visible": true,
                "subheading": "0 (0.00%)",
                "meta": {
                    "tooltip": "The percentage of sent emails that were replies, regardless of business hours."
                },
                "headerClass": "has-tooltip"
            },
            {
                "field": "messages_sent_initial_percent",
                "label": "% New Emails Sent",
                "sortable": true,
                "visible": true,
                "subheading": "0 (0.00%)",
                "meta": {
                    "tooltip": "The percentage of sent emails that were new emails (i.e. not a reply or a forward) regardless of business hours."
                },
                "headerClass": "has-tooltip"
            },
            {
                "field": "messages_sent_forwards_percent",
                "label": "% Forwards Sent",
                "sortable": true,
                "visible": true,
                "subheading": "0 (0.00%)",
                "meta": {
                    "tooltip": "The percentage of sent emails that were emails that were forwards regardless of business hours."
                },
                "headerClass": "has-tooltip"
            }
        ],
        "data": [],
        "default_sort": [
            "messages_sent_count",
            "desc"
        ],
        "default_sort_direction": "desc",
        "loading": false,
        "per_page": 2,
        "total": 0,
        "page": 1
    },
    "activity": {
        "columns": [
            {
                "field": "name",
                "label": "Mailbox",
                "sortable": true,
                "visible": true,
                "subheading": "Overall:",
                "meta": {
                    "hasEmails": true,
                    "tooltip": "These are the email accounts you're currently tracking."
                },
                "headerClass": "has-tooltip"
            },
            {
                "field": "first_activity",
                "label": "Time of First Activity",
                "sortable": true,
                "visible": true,
                "subheading": "N\/A",
                "meta": {
                    "tooltip": "The time that the first email was sent by the mailbox on the date you are viewing for the report. (uses the mailbox's own timezone if available)"
                },
                "headerClass": "has-tooltip"
            },
            {
                "field": "last_activity",
                "label": "Time of Last Activity",
                "sortable": true,
                "visible": true,
                "subheading": "N\/A",
                "meta": {
                    "tooltip": "The time that the last email was sent by the mailbox on the date you are viewing for the report. (uses the mailbox's own timezone if available)"
                },
                "headerClass": "has-tooltip"
            },
            {
                "field": "in_business_hours",
                "label": "Sent Within Business Hours",
                "sortable": true,
                "visible": true,
                "subheading": "0 (0.00%)",
                "meta": {
                    "tooltip": "The total number of emails that were sent during business hours for the date you are viewing the report. (uses the mailbox's own timezone if available)"
                },
                "headerClass": "has-tooltip"
            },
            {
                "field": "out_business_hours",
                "label": "Sent Outside Business Hours",
                "sortable": true,
                "visible": true,
                "subheading": "0 (0.00%)",
                "meta": {
                    "tooltip": "The total number of emails that were sent outside business hours for the date you are viewing the report. (uses the mailbox's own timezone if available)"
                },
                "headerClass": "has-tooltip"
            },
            {
                "field": "received_per_hour",
                "label": "Average Emails Received Per Hour",
                "sortable": true,
                "visible": true,
                "subheading": "0",
                "meta": {
                    "tooltip": "The average number of emails that were received by the mailbox per hour (ignoring business hours) for the date you are viewing the report."
                },
                "headerClass": "has-tooltip"
            },
            {
                "field": "sent_per_hour",
                "label": "Average Emails Sent Per Hour",
                "sortable": true,
                "visible": true,
                "subheading": "0",
                "meta": {
                    "tooltip": "The average number of emails that were sent by the mailbox per hour (ignoring business hours) for the date you are viewing the report."
                },
                "headerClass": "has-tooltip"
            }
        ],
        "data": [],
        "default_sort": [
            "first_activity",
            "asc"
        ],
        "default_sort_direction": "desc",
        "loading": false,
        "per_page": 2,
        "total": 0,
        "page": 1
    },
    "conversations": {
        "columns": [
            {
                "field": "name",
                "label": "Mailbox",
                "sortable": true,
                "visible": true,
                "subheading": "Overall:",
                "meta": {
                    "hasEmails": true,
                    "tooltip": "These are the email accounts you're currently tracking."
                },
                "headerClass": "has-tooltip"
            },
            {
                "field": "threads_count",
                "label": "Conversations",
                "sortable": true,
                "visible": true,
                "subheading": "0",
                "meta": {
                    "tooltip": "The total number of conversations (or email threads) that each mailbox was part of for the date range you are viewing. A conversation is a group of emails received and sent that all form part of the same thread."
                },
                "headerClass": "has-tooltip"
            },
            {
                "field": "threads_inbound",
                "label": "Inbound Conversations",
                "sortable": true,
                "visible": true,
                "subheading": "0 (0.00%)",
                "meta": {
                    "tooltip": "The number of conversations that were started by someone outside of your company, i.e. the first email in the conversation was from someone outside of your company."
                },
                "headerClass": "has-tooltip"
            },
            {
                "field": "threads_outbound",
                "label": "Outbound Conversations",
                "sortable": true,
                "visible": true,
                "subheading": "0 (0.00%)",
                "meta": {
                    "tooltip": "The number of conversations that were started by someone in your company, i.e. the first email in the conversation was from someone inside of your company to someone external to your company."
                },
                "headerClass": "has-tooltip"
            },
            {
                "field": "threads_internal",
                "label": "Internal Conversations",
                "sortable": true,
                "visible": true,
                "subheading": "0 (0.00%)",
                "meta": {
                    "tooltip": "The number of conversations where all participants have been in your company."
                },
                "headerClass": "has-tooltip"
            },
            {
                "field": "threads_await_agent",
                "label": "Conversations waiting for a reply",
                "sortable": true,
                "visible": true,
                "subheading": "0 (0.00%)",
                "meta": {
                    "tooltip": "The last email was from someone external, so the ball's in your court to reply. For better accuracy, this should be used in conjunction with our \"close conversations\" function that allows you to mark conversations that have been completed or no longer require a reply as \"closed\"."
                },
                "headerClass": "has-tooltip",
                "cellClass": "has-background-white-ter"
            },
            {
                "field": "threads_closed",
                "label": "Conversations closed",
                "sortable": true,
                "visible": true,
                "subheading": "0 (0.00%)",
                "meta": {
                    "tooltip": "The number of conversations that the mailbox that you are viewing has been part of that have been marked as \"closed\" using our \"close conversations\" functionality. You can find this under TOOLS > SETTINGS > COMPANY > CLOSE CONVERSATION SETTINGS"
                },
                "headerClass": "has-tooltip",
                "cellClass": "has-background-white-ter"
            }
        ],
        "data": [],
        "default_sort": [
            "threads_count",
            "desc"
        ],
        "default_sort_direction": "desc",
        "loading": false,
        "per_page": 2,
        "total": 0,
        "page": 1
    },
    "average_reply_times": {
        "columns": [
            {
                "field": "name",
                "label": "Mailbox",
                "sortable": true,
                "visible": true,
                "subheading": "Overall:",
                "meta": {
                    "hasEmails": true,
                    "tooltip": "These are the email accounts you're currently tracking."
                },
                "headerClass": "has-tooltip"
            },
            {
                "field": "initialTTR7Days",
                "label": "7 day avg. First Reply Time",
                "centered": true,
                "sortable": true,
                "visible": true,
                "meta": {
                    "tooltip": "This is your average First Reply time for the last 7 days prior to the date you have selected for the report."
                },
                "headerClass": "has-tooltip"
            },
            {
                "field": "initialTTR",
                "label": "Current avg. First Reply Time",
                "centered": true,
                "sortable": true,
                "visible": true,
                "meta": {
                    "hasComparison": true,
                    "tooltip": "The average First Reply Time is the average time it takes to reply to the first email in a new email conversation. It only looks at the first reply that goes back to the conversation starter, the first \"from\". This average takes business hours into account and only calculates the time that has elapsed during business hours when calculating the average."
                },
                "headerClass": "has-tooltip"
            },
            {
                "field": "overallTTR7Days",
                "label": "7 days avg. Overall Reply Time",
                "centered": true,
                "sortable": true,
                "visible": true,
                "meta": {
                    "tooltip": "This is your average overall reply time for the last 7 days prior to the date you have selected for this report."
                },
                "headerClass": "has-tooltip"
            },
            {
                "field": "overallTTR",
                "label": "Current avg. Overall Reply Time",
                "centered": true,
                "sortable": true,
                "visible": true,
                "meta": {
                    "hasComparison": true,
                    "tooltip": "The average Overall Reply Time is the average time it takes to reply to any email. First and all subsequent replies are included in the avg. Overall Reply Time. This average takes business hours into account, and only calculates the time that has elapsed during business hours when calculating the average."
                },
                "headerClass": "has-tooltip"
            }
        ],
        "data": [],
        "default_sort": [
            "initialTTR",
            "asc"
        ],
        "default_sort_direction": "asc",
        "loading": false,
        "per_page": 2,
        "total": 0,
        "page": 1
    },
    "responsiveness": {
        "columns": [
            {
                "field": "name",
                "label": "Mailbox",
                "sortable": true,
                "visible": true,
                "subheading": "Overall:",
                "meta": {
                    "hasEmails": true,
                    "tooltip": "These are the email accounts you're currently tracking."
                },
                "headerClass": "has-tooltip"
            },
            {
                "field": "replies_count",
                "label": "Replies Sent",
                "sortable": true,
                "visible": true,
                "subheading": "0",
                "meta": {
                    "tooltip": "The total replies that were sent (used to calculate reply times), regardless of business hours."
                },
                "headerClass": "has-tooltip"
            },
            {
                "field": "replies_under_900",
                "label": "Replies under 15m:00s",
                "sortable": true,
                "visible": true,
                "subheading": "0.00%",
                "meta": {
                    "tooltip": "Percentage of replies that happened in under 15m:00s (takes business hours into account)"
                },
                "headerClass": "has-tooltip"
            },
            {
                "field": "replies_under_3600",
                "label": "Replies under 01h:00m",
                "sortable": true,
                "visible": true,
                "subheading": "0.00%",
                "meta": {
                    "tooltip": "Percentage of replies that happened in under 01h:00m (takes business hours into account)"
                },
                "headerClass": "has-tooltip"
            },
            {
                "field": "replies_under_7200",
                "label": "Replies under 02h:00m",
                "sortable": true,
                "visible": true,
                "subheading": "0.00%",
                "meta": {
                    "tooltip": "Percentage of replies that happened in under 02h:00m (takes business hours into account)"
                },
                "headerClass": "has-tooltip"
            },
            {
                "field": "replies_under_14400",
                "label": "Replies under 04h:00m",
                "sortable": true,
                "visible": true,
                "subheading": "0.00%",
                "meta": {
                    "tooltip": "Percentage of replies that happened in under 04h:00m (takes business hours into account)"
                },
                "headerClass": "has-tooltip"
            },
            {
                "field": "replies_under_28800",
                "label": "Replies under 08h:00m",
                "sortable": true,
                "visible": true,
                "subheading": "0.00%",
                "meta": {
                    "tooltip": "Percentage of replies that happened in under 08h:00m (takes business hours into account)"
                },
                "headerClass": "has-tooltip"
            },
            {
                "field": "replies_under_86400",
                "label": "Replies under 24h:00m",
                "sortable": true,
                "visible": true,
                "subheading": "0.00%",
                "meta": {
                    "tooltip": "Percentage of replies that happened in under 24h:00m (takes business hours into account)"
                },
                "headerClass": "has-tooltip"
            }
        ],
        "data": [],
        "default_sort": [
            "replies_under_900",
            "desc"
        ],
        "default_sort_direction": "desc",
        "loading": false,
        "per_page": 2,
        "total": 0,
        "page": 1
    },
    "stats": {
        "messages": {
            "received": {
                "hourOfDay": []
            },
            "sent": {
                "hourOfDay": []
            }
        }
    },
    "page": 1,
    "total": 2,
    "args": {
        "model": {
            "icon": "building",
            "id": null,
            "model_type": "Internal",
            "name": "My Company",
            "value": "My Company"
        },
        "modelCom": {
            "icon": "globe-americas",
            "id": null,
            "model_type": "Anybody",
            "name": "Anybody",
            "value": "Anybody"
        }
    }
}
 

Request   

GET api/reports/productivity

Query Parameters

date  string optional  

The date of your request in the format "YYYY-MM-DD".

model  string optional  

Name, email address or domain you want statistics for. Use the models endpoint to get a list.

model_type  string optional  

Model Type of the model being queried. Use "Contact" for email address and domain.

model_com  string optional  

Model Communicating With, same as Model, except now for who/what the Model is communicating with.

model_type_com  string optional  

Model Type of the model you are communicating with. Use "Contact" for email address and domain.

label  string optional  

Label, if your mail provider supports labels/categories, you can filter your results using them.

per_page  integer optional  

For paginated results, how many results per page. Max 200.

sort_by  string optional  

Field Name to sort agents by. Defaults to threads.total.

direction  string optional  

Direction in which to sort paginated results. Must be either asc or desc.

page  integer optional  

For paginated results, which page to get.

Ratio - Report

requires authentication

Ratio Report Data

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/reports/ratio"
);

const params = {
    "from": "2020-01-01",
    "to": "2020-01-08",
    "model": "My Company",
    "model_type": "Internal",
    "exclude_cc": "",
    "model_com": "Top Revenue Contacts",
    "model_type_com": "Contact Group",
    "exclude_cc_com": "",
    "exclusive": "",
    "label": "INBOX",
    "thread_type": "inbound",
    "thread_status": "internal,await-customer,closed,await-agent",
    "has_replies": "hasReplies,hasForwards,hasNoRepliesOrForwards",
    "classification": "calculating,first,reply,reply-all,forward",
    "messageType": "inbound,outbound,internal",
    "replies_over": "15",
    "message_replies_over": "15",
    "no_reply_for": "15",
    "per_page": "2",
    "sort_by": "threads.total",
    "direction": "desc",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://portal.timetoreply.com/api/reports/ratio',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'from'=> '2020-01-01',
            'to'=> '2020-01-08',
            'model'=> 'My Company',
            'model_type'=> 'Internal',
            'exclude_cc'=> '',
            'model_com'=> 'Top Revenue Contacts',
            'model_type_com'=> 'Contact Group',
            'exclude_cc_com'=> '',
            'exclusive'=> '',
            'label'=> 'INBOX',
            'thread_type'=> 'inbound',
            'thread_status'=> 'internal,await-customer,closed,await-agent',
            'has_replies'=> 'hasReplies,hasForwards,hasNoRepliesOrForwards',
            'classification'=> 'calculating,first,reply,reply-all,forward',
            'messageType'=> 'inbound,outbound,internal',
            'replies_over'=> '15',
            'message_replies_over'=> '15',
            'no_reply_for'=> '15',
            'per_page'=> '2',
            'sort_by'=> 'threads.total',
            'direction'=> 'desc',
            'page'=> '1',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "stats": {
        "threads": {
            "total": 114,
            "internal": 0,
            "inbound": 114,
            "outbound": 0,
            "sentInternally": 9,
            "awaitCustomer": 40,
            "awaitAgent": 58,
            "closed": 7,
            "haveReplies": 85,
            "haveRepliesFromAgents": 84,
            "completionRatio": {
                "ratio": "76.42%",
                "numerator": 81,
                "denominator": 106
            }
        },
        "messages": {
            "count": 291,
            "initial": 106,
            "replies": 172,
            "replyAll": 4,
            "forward": 9,
            "received": {
                "count": 186,
                "initial": 106,
                "replies": 67,
                "replyAll": 4,
                "forward": 9,
                "initialReplies": 3,
                "dayOfWeek": {
                    "Friday": 23,
                    "Monday": 28,
                    "Saturday": 0,
                    "Sunday": 2,
                    "Thursday": 40,
                    "Tuesday": 31,
                    "Wednesday": 39
                },
                "hourOfDay": {
                    "00:00": 0.143,
                    "01:00": 0.143,
                    "02:00": 0,
                    "03:00": 0,
                    "04:00": 0.286,
                    "05:00": 0,
                    "06:00": 0.286,
                    "07:00": 0,
                    "08:00": 0.143,
                    "09:00": 0.286,
                    "10:00": 1.857,
                    "11:00": 2.571,
                    "12:00": 3,
                    "13:00": 2.429,
                    "14:00": 2.571,
                    "15:00": 3.714,
                    "16:00": 3.571,
                    "17:00": 4.714,
                    "18:00": 0.714,
                    "19:00": 0.143,
                    "20:00": 0,
                    "21:00": 0,
                    "22:00": 0,
                    "23:00": 0
                }
            },
            "sent": {
                "count": 119,
                "initial": 0,
                "replies": 107,
                "replyAll": 3,
                "forward": 9,
                "initialReplies": 81,
                "dayOfWeek": {
                    "Friday": 14.5,
                    "Monday": 18,
                    "Saturday": 0,
                    "Sunday": 0,
                    "Thursday": 28,
                    "Tuesday": 19,
                    "Wednesday": 25
                },
                "hourOfDay": {
                    "00:00": 0,
                    "01:00": 0,
                    "02:00": 0,
                    "03:00": 0,
                    "04:00": 0,
                    "05:00": 0,
                    "06:00": 0,
                    "07:00": 0,
                    "08:00": 0,
                    "09:00": 0.286,
                    "10:00": 0.714,
                    "11:00": 2.143,
                    "12:00": 2,
                    "13:00": 2.286,
                    "14:00": 1.429,
                    "15:00": 1.857,
                    "16:00": 2.714,
                    "17:00": 3.143,
                    "18:00": 0.286,
                    "19:00": 0,
                    "20:00": 0,
                    "21:00": 0,
                    "22:00": 0.143,
                    "23:00": 0
                }
            }
        },
        "overallTTR": {
            "friendly": "03h:05m",
            "raw": 11153.8,
            "friendlyNoBusiness": "12h:43m",
            "rawNoBusiness": 45801.90909090909,
            "percentileRanks": [
                {
                    "key": "15m:00s",
                    "value": "39.56%"
                },
                {
                    "key": "01h:00m",
                    "value": "76.69%"
                },
                {
                    "key": "02h:00m",
                    "value": "81.00%"
                },
                {
                    "key": "04h:00m",
                    "value": "85.91%"
                },
                {
                    "key": "08h:00m",
                    "value": "89.45%"
                },
                {
                    "key": "24h:00m",
                    "value": "94.35%"
                }
            ],
            "percentileRanksRaw": [
                {
                    "key": "15m:00s",
                    "value": "30.72%"
                },
                {
                    "key": "01h:00m",
                    "value": "76.69%"
                },
                {
                    "key": "02h:00m",
                    "value": "80.09%"
                },
                {
                    "key": "04h:00m",
                    "value": "81.88%"
                },
                {
                    "key": "08h:00m",
                    "value": "84.67%"
                },
                {
                    "key": "24h:00m",
                    "value": "89.21%"
                }
            ]
        },
        "initialTTR": {
            "friendly": "03h:32m",
            "raw": 12744.20987654321,
            "friendlyNoBusiness": "14h:50m",
            "rawNoBusiness": 53432.46913580247,
            "percentileRanks": [
                {
                    "key": "15m:00s",
                    "value": "38.71%"
                },
                {
                    "key": "01h:00m",
                    "value": "72.15%"
                },
                {
                    "key": "02h:00m",
                    "value": "77.26%"
                },
                {
                    "key": "04h:00m",
                    "value": "83.34%"
                },
                {
                    "key": "08h:00m",
                    "value": "87.47%"
                },
                {
                    "key": "24h:00m",
                    "value": "93.56%"
                }
            ],
            "percentileRanksRaw": [
                {
                    "key": "15m:00s",
                    "value": "28.07%"
                },
                {
                    "key": "01h:00m",
                    "value": "72.15%"
                },
                {
                    "key": "02h:00m",
                    "value": "76.12%"
                },
                {
                    "key": "04h:00m",
                    "value": "77.87%"
                },
                {
                    "key": "08h:00m",
                    "value": "81.65%"
                },
                {
                    "key": "24h:00m",
                    "value": "86.73%"
                }
            ]
        },
        "overallTTF": {
            "friendly": "43m:06s",
            "raw": 2586.777777777778,
            "friendlyNoBusiness": "04h:07m",
            "rawNoBusiness": 14820,
            "percentileRanks": [
                {
                    "key": "15m:00s",
                    "value": "27.11%"
                },
                {
                    "key": "01h:00m",
                    "value": "79.52%"
                },
                {
                    "key": "02h:00m",
                    "value": "87.35%"
                },
                {
                    "key": "04h:00m",
                    "value": "100.00%"
                },
                {
                    "key": "08h:00m",
                    "value": "100.00%"
                },
                {
                    "key": "24h:00m",
                    "value": "100.00%"
                }
            ],
            "percentileRanksRaw": [
                {
                    "key": "15m:00s",
                    "value": "27.11%"
                },
                {
                    "key": "01h:00m",
                    "value": "66.93%"
                },
                {
                    "key": "02h:00m",
                    "value": "68.35%"
                },
                {
                    "key": "04h:00m",
                    "value": "71.19%"
                },
                {
                    "key": "08h:00m",
                    "value": "76.86%"
                },
                {
                    "key": "24h:00m",
                    "value": "100.00%"
                }
            ]
        },
        "overallTTC": {
            "friendly": "03h:14m",
            "raw": 11655.5,
            "friendlyNoBusiness": "15h:05m",
            "rawNoBusiness": 54304,
            "percentileRanks": [
                {
                    "key": "15m:00s",
                    "value": "41.75%"
                },
                {
                    "key": "01h:00m",
                    "value": "52.57%"
                },
                {
                    "key": "02h:00m",
                    "value": "56.67%"
                },
                {
                    "key": "04h:00m",
                    "value": "64.86%"
                },
                {
                    "key": "08h:00m",
                    "value": "100.00%"
                },
                {
                    "key": "24h:00m",
                    "value": "100.00%"
                }
            ],
            "percentileRanksRaw": [
                {
                    "key": "15m:00s",
                    "value": "0.00%"
                },
                {
                    "key": "01h:00m",
                    "value": "25.91%"
                },
                {
                    "key": "02h:00m",
                    "value": "29.40%"
                },
                {
                    "key": "04h:00m",
                    "value": "36.37%"
                },
                {
                    "key": "08h:00m",
                    "value": "50.10%"
                },
                {
                    "key": "24h:00m",
                    "value": "68.69%"
                }
            ]
        },
        "dailyStats": [
            {
                "timestamp": 1628204400000,
                "date": "Fri, 6th Aug",
                "messages": {
                    "sent": 28,
                    "forward": 3,
                    "reply": 25,
                    "received": 45
                },
                "overallTTR": {
                    "raw": 17317.56,
                    "rawNoBusiness": 68827.52
                },
                "overallTTF": {
                    "raw": 2153,
                    "rawNoBusiness": 20111.666666666668
                },
                "initialTTR": {
                    "raw": 9169.055555555555,
                    "rawNoBusiness": 31732.222222222223,
                    "ttr_ratio": 0.42
                },
                "threads": {
                    "total": 25,
                    "haveRepliesFromAgents": 9,
                    "noReplyFromAgents": 0,
                    "completionRatio": 36,
                    "haveCustomerSuccess": 16,
                    "haveInitialRepliesFromAgents": 20
                }
            },
            {
                "timestamp": 1628290800000,
                "date": "Sat, 7th Aug",
                "messages": {
                    "sent": 0,
                    "forward": 0,
                    "reply": 0,
                    "received": 0
                },
                "overallTTR": {
                    "raw": null,
                    "rawNoBusiness": null
                },
                "overallTTF": {
                    "raw": null,
                    "rawNoBusiness": null
                },
                "initialTTR": {
                    "raw": null,
                    "rawNoBusiness": null,
                    "ttr_ratio": 0
                },
                "threads": {
                    "total": 0,
                    "haveRepliesFromAgents": 0,
                    "noReplyFromAgents": 0,
                    "completionRatio": 0,
                    "haveCustomerSuccess": 0,
                    "haveInitialRepliesFromAgents": 0
                }
            },
            {
                "timestamp": 1628377200000,
                "date": "Sun, 8th Aug",
                "messages": {
                    "sent": 0,
                    "forward": 0,
                    "reply": 0,
                    "received": 2
                },
                "overallTTR": {
                    "raw": null,
                    "rawNoBusiness": null
                },
                "overallTTF": {
                    "raw": null,
                    "rawNoBusiness": null
                },
                "initialTTR": {
                    "raw": null,
                    "rawNoBusiness": null,
                    "ttr_ratio": 0
                },
                "threads": {
                    "total": 1,
                    "haveRepliesFromAgents": 0,
                    "noReplyFromAgents": 0,
                    "completionRatio": 0,
                    "haveCustomerSuccess": 0,
                    "haveInitialRepliesFromAgents": 0
                }
            },
            {
                "timestamp": 1628463600000,
                "date": "Mon, 9th Aug",
                "messages": {
                    "sent": 18,
                    "forward": 2,
                    "reply": 16,
                    "received": 28
                },
                "overallTTR": {
                    "raw": 10242.8125,
                    "rawNoBusiness": 49609.9375
                },
                "overallTTF": {
                    "raw": 1182.5,
                    "rawNoBusiness": 1182.5
                },
                "initialTTR": {
                    "raw": 25726.727272727272,
                    "rawNoBusiness": 121244.90909090909,
                    "ttr_ratio": 0.12
                },
                "threads": {
                    "total": 17,
                    "haveRepliesFromAgents": 7,
                    "noReplyFromAgents": 0,
                    "completionRatio": 41.18,
                    "haveCustomerSuccess": 9,
                    "haveInitialRepliesFromAgents": 10
                }
            },
            {
                "timestamp": 1628550000000,
                "date": "Tue, 10th Aug",
                "messages": {
                    "sent": 19,
                    "forward": 2,
                    "reply": 17,
                    "received": 31
                },
                "overallTTR": {
                    "raw": 7593,
                    "rawNoBusiness": 32775.82352941176
                },
                "overallTTF": {
                    "raw": 6683.5,
                    "rawNoBusiness": 34795
                },
                "initialTTR": {
                    "raw": 5619.1,
                    "rawNoBusiness": 35618.2,
                    "ttr_ratio": 0.53
                },
                "threads": {
                    "total": 18,
                    "haveRepliesFromAgents": 7,
                    "noReplyFromAgents": 0,
                    "completionRatio": 38.89,
                    "haveCustomerSuccess": 9,
                    "haveInitialRepliesFromAgents": 12
                }
            },
            {
                "timestamp": 1628636400000,
                "date": "Wed, 11th Aug",
                "messages": {
                    "sent": 25,
                    "forward": 1,
                    "reply": 24,
                    "received": 39
                },
                "overallTTR": {
                    "raw": 10728.25,
                    "rawNoBusiness": 42267.083333333336
                },
                "overallTTF": {
                    "raw": 901,
                    "rawNoBusiness": 901
                },
                "initialTTR": {
                    "raw": 14374.666666666666,
                    "rawNoBusiness": 57326.166666666664,
                    "ttr_ratio": 0.28
                },
                "threads": {
                    "total": 22,
                    "haveRepliesFromAgents": 9,
                    "noReplyFromAgents": 0,
                    "completionRatio": 40.91,
                    "haveCustomerSuccess": 15,
                    "haveInitialRepliesFromAgents": 19
                }
            },
            {
                "timestamp": 1628722800000,
                "date": "Thu, 12th Aug",
                "messages": {
                    "sent": 28,
                    "forward": 1,
                    "reply": 27,
                    "received": 40
                },
                "overallTTR": {
                    "raw": 8994.148148148148,
                    "rawNoBusiness": 35239.666666666664
                },
                "overallTTF": {
                    "raw": 189,
                    "rawNoBusiness": 189
                },
                "initialTTR": {
                    "raw": 11709.08695652174,
                    "rawNoBusiness": 44935.739130434784,
                    "ttr_ratio": 0.26
                },
                "threads": {
                    "total": 30,
                    "haveRepliesFromAgents": 12,
                    "noReplyFromAgents": 0,
                    "completionRatio": 40,
                    "haveCustomerSuccess": 15,
                    "haveInitialRepliesFromAgents": 20
                }
            },
            {
                "timestamp": 1628809200000,
                "date": "Fri, 13th Aug",
                "messages": {
                    "sent": 1,
                    "forward": 0,
                    "reply": 1,
                    "received": 1
                },
                "overallTTR": {
                    "raw": 693,
                    "rawNoBusiness": 693
                },
                "overallTTF": {
                    "raw": null,
                    "rawNoBusiness": null
                },
                "initialTTR": {
                    "raw": 0,
                    "rawNoBusiness": 1581,
                    "ttr_ratio": 0
                },
                "threads": {
                    "total": 1,
                    "haveRepliesFromAgents": 1,
                    "noReplyFromAgents": 0,
                    "completionRatio": 100,
                    "haveCustomerSuccess": 0,
                    "haveInitialRepliesFromAgents": 0
                }
            }
        ]
    },
    "all_agent_stats": [
        {
            "name": "j.heathcote@timetoreply.com",
            "threads": {
                "total": 56,
                "internal": 0,
                "inbound": 56,
                "outbound": 0,
                "sentInternally": 9,
                "awaitCustomer": 19,
                "awaitAgent": 28,
                "closed": 0,
                "haveReplies": 54,
                "haveInitialReplies": 40,
                "haveContactSuccess": 34,
                "successRate": 60.71,
                "ttrRatio": 0.3,
                "initialReplyRate": 71.43,
                "timeToContactSuccess": 47757.55882352941,
                "timeToContactSuccessFriendly": "13h:15m"
            },
            "messages": {
                "received": {
                    "count": 80,
                    "initial": 42,
                    "replies": 37,
                    "replyAll": 0,
                    "forward": 1,
                    "initialReplies": 0,
                    "dailyStats": {
                        "2021-08-06 00:00:00": 14,
                        "2021-08-07 00:00:00": 0,
                        "2021-08-08 00:00:00": 0,
                        "2021-08-09 00:00:00": 11,
                        "2021-08-10 00:00:00": 16,
                        "2021-08-11 00:00:00": 14,
                        "2021-08-12 00:00:00": 24,
                        "2021-08-13 00:00:00": 1
                    }
                },
                "sent": {
                    "count": 62,
                    "initial": 0,
                    "replies": 53,
                    "replyAll": 1,
                    "forward": 8,
                    "initialReplies": 0,
                    "dailyStats": {
                        "2021-08-06 00:00:00": 14,
                        "2021-08-07 00:00:00": 0,
                        "2021-08-08 00:00:00": 0,
                        "2021-08-09 00:00:00": 8,
                        "2021-08-10 00:00:00": 11,
                        "2021-08-11 00:00:00": 8,
                        "2021-08-12 00:00:00": 20,
                        "2021-08-13 00:00:00": 1
                    }
                }
            },
            "initialTTR": {
                "friendly": "03h:21m",
                "raw": 12116.4,
                "friendlyNoBusiness": "13h:57m",
                "rawNoBusiness": 50260.25,
                "percentileRanks": [
                    {
                        "key": "15m:00s",
                        "value": "42.14%"
                    },
                    {
                        "key": "01h:00m",
                        "value": "68.60%"
                    },
                    {
                        "key": "02h:00m",
                        "value": "76.45%"
                    },
                    {
                        "key": "04h:00m",
                        "value": "83.38%"
                    },
                    {
                        "key": "08h:00m",
                        "value": "86.41%"
                    },
                    {
                        "key": "24h:00m",
                        "value": "95.60%"
                    }
                ],
                "percentileRanksRaw": [
                    {
                        "key": "15m:00s",
                        "value": "29.64%"
                    },
                    {
                        "key": "01h:00m",
                        "value": "68.60%"
                    },
                    {
                        "key": "02h:00m",
                        "value": "74.31%"
                    },
                    {
                        "key": "04h:00m",
                        "value": "76.90%"
                    },
                    {
                        "key": "08h:00m",
                        "value": "78.60%"
                    },
                    {
                        "key": "24h:00m",
                        "value": "85.62%"
                    }
                ]
            },
            "overallTTF": {
                "friendly": "45m:27s",
                "raw": 2727.5,
                "friendlyNoBusiness": "04h:34m",
                "rawNoBusiness": 16489.875,
                "percentileRanks": [
                    {
                        "key": "15m:00s",
                        "value": "30.50%"
                    },
                    {
                        "key": "01h:00m",
                        "value": "76.96%"
                    },
                    {
                        "key": "02h:00m",
                        "value": "85.77%"
                    },
                    {
                        "key": "04h:00m",
                        "value": "100.00%"
                    },
                    {
                        "key": "08h:00m",
                        "value": "100.00%"
                    },
                    {
                        "key": "24h:00m",
                        "value": "100.00%"
                    }
                ],
                "percentileRanksRaw": [
                    {
                        "key": "15m:00s",
                        "value": "30.50%"
                    },
                    {
                        "key": "01h:00m",
                        "value": "62.80%"
                    },
                    {
                        "key": "02h:00m",
                        "value": "64.39%"
                    },
                    {
                        "key": "04h:00m",
                        "value": "67.59%"
                    },
                    {
                        "key": "08h:00m",
                        "value": "73.97%"
                    },
                    {
                        "key": "24h:00m",
                        "value": "100.00%"
                    }
                ]
            },
            "overallTTR": {
                "friendly": "02h:43m",
                "raw": 9823.925925925925,
                "friendlyNoBusiness": "10h:52m",
                "rawNoBusiness": 39128.57407407407,
                "percentileRanks": [
                    {
                        "key": "15m:00s",
                        "value": "44.18%"
                    },
                    {
                        "key": "01h:00m",
                        "value": "73.04%"
                    },
                    {
                        "key": "02h:00m",
                        "value": "79.82%"
                    },
                    {
                        "key": "04h:00m",
                        "value": "85.84%"
                    },
                    {
                        "key": "08h:00m",
                        "value": "89.18%"
                    },
                    {
                        "key": "24h:00m",
                        "value": "96.74%"
                    }
                ],
                "percentileRanksRaw": [
                    {
                        "key": "15m:00s",
                        "value": "32.71%"
                    },
                    {
                        "key": "01h:00m",
                        "value": "73.04%"
                    },
                    {
                        "key": "02h:00m",
                        "value": "77.97%"
                    },
                    {
                        "key": "04h:00m",
                        "value": "81.03%"
                    },
                    {
                        "key": "08h:00m",
                        "value": "82.29%"
                    },
                    {
                        "key": "24h:00m",
                        "value": "89.13%"
                    }
                ]
            },
            "overallTTC": {
                "friendly": "N\/A",
                "raw": null,
                "friendlyNoBusiness": "N\/A",
                "rawNoBusiness": null
            }
        },
        {
            "name": "j.considine@timetoreply.com",
            "threads": {
                "total": 33,
                "internal": 0,
                "inbound": 33,
                "outbound": 0,
                "sentInternally": 3,
                "awaitCustomer": 11,
                "awaitAgent": 17,
                "closed": 2,
                "haveReplies": 27,
                "haveInitialReplies": 20,
                "haveContactSuccess": 16,
                "successRate": 48.48,
                "ttrRatio": 0.22,
                "initialReplyRate": 60.61,
                "timeToContactSuccess": 18667.1875,
                "timeToContactSuccessFriendly": "05h:11m"
            },
            "messages": {
                "received": {
                    "count": 40,
                    "initial": 21,
                    "replies": 17,
                    "replyAll": 0,
                    "forward": 2,
                    "initialReplies": 0,
                    "dailyStats": {
                        "2021-08-06 00:00:00": 12,
                        "2021-08-07 00:00:00": 0,
                        "2021-08-08 00:00:00": 1,
                        "2021-08-09 00:00:00": 5,
                        "2021-08-10 00:00:00": 4,
                        "2021-08-11 00:00:00": 10,
                        "2021-08-12 00:00:00": 8
                    }
                },
                "sent": {
                    "count": 28,
                    "initial": 0,
                    "replies": 26,
                    "replyAll": 1,
                    "forward": 1,
                    "initialReplies": 0,
                    "dailyStats": {
                        "2021-08-06 00:00:00": 7,
                        "2021-08-07 00:00:00": 0,
                        "2021-08-08 00:00:00": 0,
                        "2021-08-09 00:00:00": 4,
                        "2021-08-10 00:00:00": 4,
                        "2021-08-11 00:00:00": 10,
                        "2021-08-12 00:00:00": 3
                    }
                }
            },
            "initialTTR": {
                "friendly": "03h:36m",
                "raw": 13007.05,
                "friendlyNoBusiness": "17h:19m",
                "rawNoBusiness": 62364.35,
                "percentileRanks": [
                    {
                        "key": "15m:00s",
                        "value": "32.68%"
                    },
                    {
                        "key": "01h:00m",
                        "value": "80.24%"
                    },
                    {
                        "key": "02h:00m",
                        "value": "81.38%"
                    },
                    {
                        "key": "04h:00m",
                        "value": "83.66%"
                    },
                    {
                        "key": "08h:00m",
                        "value": "86.12%"
                    },
                    {
                        "key": "24h:00m",
                        "value": "92.83%"
                    }
                ],
                "percentileRanksRaw": [
                    {
                        "key": "15m:00s",
                        "value": "22.13%"
                    },
                    {
                        "key": "01h:00m",
                        "value": "80.02%"
                    },
                    {
                        "key": "02h:00m",
                        "value": "80.14%"
                    },
                    {
                        "key": "04h:00m",
                        "value": "80.37%"
                    },
                    {
                        "key": "08h:00m",
                        "value": "80.82%"
                    },
                    {
                        "key": "24h:00m",
                        "value": "82.64%"
                    }
                ]
            },
            "overallTTF": {
                "friendly": "24m:21s",
                "raw": 1461,
                "friendlyNoBusiness": "24m:21s",
                "rawNoBusiness": 1461,
                "percentileRanks": [
                    {
                        "key": "15m:00s",
                        "value": "0.00%"
                    },
                    {
                        "key": "01h:00m",
                        "value": "100.00%"
                    },
                    {
                        "key": "02h:00m",
                        "value": "100.00%"
                    },
                    {
                        "key": "04h:00m",
                        "value": "100.00%"
                    },
                    {
                        "key": "08h:00m",
                        "value": "100.00%"
                    },
                    {
                        "key": "24h:00m",
                        "value": "100.00%"
                    }
                ],
                "percentileRanksRaw": [
                    {
                        "key": "15m:00s",
                        "value": "0.00%"
                    },
                    {
                        "key": "01h:00m",
                        "value": "100.00%"
                    },
                    {
                        "key": "02h:00m",
                        "value": "100.00%"
                    },
                    {
                        "key": "04h:00m",
                        "value": "100.00%"
                    },
                    {
                        "key": "08h:00m",
                        "value": "100.00%"
                    },
                    {
                        "key": "24h:00m",
                        "value": "100.00%"
                    }
                ]
            },
            "overallTTR": {
                "friendly": "04h:05m",
                "raw": 14754.111111111111,
                "friendlyNoBusiness": "18h:57m",
                "rawNoBusiness": 68279.03703703704,
                "percentileRanks": [
                    {
                        "key": "15m:00s",
                        "value": "35.32%"
                    },
                    {
                        "key": "01h:00m",
                        "value": "81.51%"
                    },
                    {
                        "key": "02h:00m",
                        "value": "82.39%"
                    },
                    {
                        "key": "04h:00m",
                        "value": "84.15%"
                    },
                    {
                        "key": "08h:00m",
                        "value": "86.01%"
                    },
                    {
                        "key": "24h:00m",
                        "value": "90.99%"
                    }
                ],
                "percentileRanksRaw": [
                    {
                        "key": "15m:00s",
                        "value": "27.51%"
                    },
                    {
                        "key": "01h:00m",
                        "value": "81.48%"
                    },
                    {
                        "key": "02h:00m",
                        "value": "81.57%"
                    },
                    {
                        "key": "04h:00m",
                        "value": "81.74%"
                    },
                    {
                        "key": "08h:00m",
                        "value": "82.08%"
                    },
                    {
                        "key": "24h:00m",
                        "value": "83.43%"
                    }
                ]
            },
            "overallTTC": {
                "friendly": "06h:06m",
                "raw": 21968,
                "friendlyNoBusiness": "29h:25m",
                "rawNoBusiness": 105953
            }
        }
    ],
    "maxima": {
        "threads.inbound": 56,
        "threads.ttrRatio": 0.3,
        "threads.haveInitialReplies": 40,
        "threads.initialReplyRate": 71.43,
        "threads.haveContactSuccess": 34,
        "threads.successRate": 60.71,
        "threads.awaitAgent": 28,
        "threads.closed": 2
    },
    "total": 4,
    "overall": {
        "total": 114,
        "have_initial_reply": 81,
        "success": 64,
        "avg_convo_length": 3.47,
        "have_initial_reply_rate": 71.05,
        "success_rate": 56.14,
        "success_time": 34520,
        "success_time_friendly": "09h:35m",
        "customer_reply_time": 18912,
        "customer_reply_time_friendly": "05h:15m",
        "avg_initial_reply_time": 12744.20987654321,
        "avg_initial_reply_time_friendly": "03h:32m",
        "ttr_ratio": 0.26
    },
    "contact_rate_data": {
        "total": [
            31,
            28,
            9,
            3,
            10
        ],
        "have_initial_reply": [
            31,
            28,
            9,
            3,
            10
        ],
        "success": [
            23,
            21,
            7,
            3,
            10
        ],
        "avg_convo_length": [
            3.48,
            3.38,
            3.57,
            3.67,
            3.5
        ],
        "have_initial_reply_rate": [
            100,
            100,
            100,
            100,
            100
        ],
        "success_rate": [
            74.19,
            75,
            77.78,
            100,
            100
        ],
        "success_time": [
            4513,
            4185,
            94399,
            22920,
            128802
        ],
        "success_time_friendly": [
            "01h:15m",
            "01h:09m",
            "26h:13m",
            "06h:22m",
            "35h:46m"
        ],
        "customer_reply_time": [
            4207,
            2442,
            86789,
            652,
            45285
        ],
        "customer_reply_time_friendly": [
            "01h:10m",
            "40m:42s",
            "24h:06m",
            "10m:52s",
            "12h:34m"
        ],
        "avg_initial_reply_time": [
            278.80645161290323,
            1674.3214285714287,
            8309.333333333334,
            22268,
            83516.9
        ],
        "avg_initial_reply_time_friendly": [
            "04m:38s",
            "27m:54s",
            "02h:18m",
            "06h:11m",
            "23h:11m"
        ],
        "ttr_ratio": [
            15.97,
            2.69,
            0.56,
            0.27,
            0.07
        ]
    },
    "page": 1,
    "ttr_categories": [
        "< 15m",
        "15m - 1h",
        "1h - 4h",
        "4h - 8h",
        "> 8h"
    ],
    "args": {
        "model": {
            "icon": "building",
            "id": null,
            "model_type": "Internal",
            "name": "My Company",
            "value": "My Company"
        },
        "modelCom": {
            "icon": "globe-americas",
            "id": null,
            "model_type": "Anybody",
            "name": "Anybody",
            "value": "Anybody"
        }
    }
}
 

Request   

GET api/reports/ratio

Query Parameters

from  string optional  

The start date of your request in the format "YYYY-MM-DD". Must be less than or equal to "to".

to  string optional  

The end date of your request in the format "YYYY-MM-DD". Must be greater than or equal to "from".

model  string optional  

Name, email address or domain you want statistics for. Use the models endpoint to get a list.

model_type  string optional  

Model Type of the model being queried. Use "Contact" for email address and domain.

exclude_cc  boolean optional  

Should we exclude CC messages from the statistics.

model_com  string optional  

Model Communicating With, same as Model, except now for who/what the Model is communicating with.

model_type_com  string optional  

Model Type of the model you are communicating with. Use "Contact" for email address and domain.

exclude_cc_com  boolean optional  

Should we exclude CC messages from the statistics for the communicating with model.

exclusive  boolean optional  

Should we only focus on statistics where exclusively Model and ModelCom were involved?.

search  string optional  

Search a specific email subject line (warning this is very slow!).

label  string optional  

Label, if your mail provider supports labels/categories, you can filter your results using them.

thread_type  string optional  

This field is provided simply for compatibility with other methods. It will always be set to "inbound" for this report.

thread_status  string optional  

A comma separated list (no spaces) of any combination of the following: internal,await-customer,closed,await-agent.

has_replies  string optional  

A comma separated list (no spaces) of any combination of the following: hasReplies,hasForwards,hasNoRepliesOrForwards.

classification  string optional  

A comma separated list (no spaces) of any combination of the following: calculating,first,reply,reply-all,forward.

messageType  string optional  

A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.

replies_over  integer optional  

Limit results to conversations with first reply times over X minutes. Should not be used at same time as message_replies_over.

message_replies_over  integer optional  

Limit results to messages where the reply time was over X minutes. Should not be used at same time as replies_over.

no_reply_for  integer optional  

Limit results to messages that have not had a reply for at least X minutes.

per_page  integer optional  

For paginated results, how many results per page. Max 200.

sort_by  string optional  

Field Name to sort agents by. Defaults to threads.total.

direction  string optional  

Direction in which to sort paginated results. Must be either asc or desc.

page  integer optional  

For paginated results, which page to get.

SLA - Report

requires authentication

SLA Report Data

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/reports/sla"
);

const params = {
    "from": "2020-01-01",
    "to": "2020-01-08",
    "model": "timetoreply.com",
    "model_type": "Contact",
    "exclude_cc": "",
    "model_com": "Top Revenue Contacts",
    "model_type_com": "Contact Group",
    "exclude_cc_com": "",
    "exclusive": "",
    "label": "INBOX",
    "thread_type": "inbound,outbound,internal",
    "thread_status": "internal,await-customer,closed,await-agent",
    "has_replies": "hasReplies,hasForwards,hasNoRepliesOrForwards",
    "classification": "calculating,first,reply,reply-all,forward",
    "messageType": "inbound,outbound,internal",
    "replies_over": "15",
    "message_replies_over": "15",
    "no_reply_for": "15",
    "per_page": "2",
    "sort_by": "threads.total",
    "direction": "desc",
    "page": "1",
    "init_ttr_goal": "02:00:00",
    "overall_ttr_goal": "02:00:00",
    "overall_ttc_goal": "02:00:00",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://portal.timetoreply.com/api/reports/sla',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'from'=> '2020-01-01',
            'to'=> '2020-01-08',
            'model'=> 'timetoreply.com',
            'model_type'=> 'Contact',
            'exclude_cc'=> '',
            'model_com'=> 'Top Revenue Contacts',
            'model_type_com'=> 'Contact Group',
            'exclude_cc_com'=> '',
            'exclusive'=> '',
            'label'=> 'INBOX',
            'thread_type'=> 'inbound,outbound,internal',
            'thread_status'=> 'internal,await-customer,closed,await-agent',
            'has_replies'=> 'hasReplies,hasForwards,hasNoRepliesOrForwards',
            'classification'=> 'calculating,first,reply,reply-all,forward',
            'messageType'=> 'inbound,outbound,internal',
            'replies_over'=> '15',
            'message_replies_over'=> '15',
            'no_reply_for'=> '15',
            'per_page'=> '2',
            'sort_by'=> 'threads.total',
            'direction'=> 'desc',
            'page'=> '1',
            'init_ttr_goal'=> '02:00:00',
            'overall_ttr_goal'=> '02:00:00',
            'overall_ttc_goal'=> '02:00:00',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "stats": {
        "threads": {
            "total": 147,
            "internal": 15,
            "inbound": 114,
            "outbound": 18,
            "sentInternally": 23,
            "awaitCustomer": 50,
            "awaitAgent": 66,
            "closed": 8,
            "haveReplies": 109,
            "haveRepliesFromAgents": 102,
            "completionRatio": {
                "ratio": "0.00%",
                "numerator": 90,
                "denominator": 0
            }
        },
        "messages": {
            "count": 370,
            "initial": 137,
            "replies": 200,
            "replyAll": 24,
            "forward": 9,
            "received": {
                "count": 239,
                "initial": 119,
                "replies": 88,
                "replyAll": 23,
                "forward": 9,
                "initialReplies": 0,
                "dayOfWeek": {
                    "Friday": 27.5,
                    "Monday": 34,
                    "Saturday": 1,
                    "Sunday": 2,
                    "Thursday": 55,
                    "Tuesday": 46,
                    "Wednesday": 46
                },
                "hourOfDay": {
                    "00:00": 0.143,
                    "01:00": 0.143,
                    "02:00": 0,
                    "03:00": 0,
                    "04:00": 0.286,
                    "05:00": 0,
                    "06:00": 0.286,
                    "07:00": 0,
                    "08:00": 0.286,
                    "09:00": 0.286,
                    "10:00": 2.286,
                    "11:00": 3.714,
                    "12:00": 4.286,
                    "13:00": 3.286,
                    "14:00": 3,
                    "15:00": 4.571,
                    "16:00": 4.286,
                    "17:00": 6,
                    "18:00": 1.143,
                    "19:00": 0.143,
                    "20:00": 0,
                    "21:00": 0,
                    "22:00": 0,
                    "23:00": 0
                }
            },
            "sent": {
                "count": 181,
                "initial": 31,
                "replies": 125,
                "replyAll": 16,
                "forward": 9,
                "initialReplies": 90,
                "dayOfWeek": {
                    "Friday": 19.5,
                    "Monday": 26,
                    "Saturday": 1,
                    "Sunday": 0,
                    "Thursday": 45,
                    "Tuesday": 37,
                    "Wednesday": 33
                },
                "hourOfDay": {
                    "00:00": 0,
                    "01:00": 0,
                    "02:00": 0,
                    "03:00": 0,
                    "04:00": 0,
                    "05:00": 0,
                    "06:00": 0,
                    "07:00": 0,
                    "08:00": 0.143,
                    "09:00": 0.286,
                    "10:00": 1.143,
                    "11:00": 4,
                    "12:00": 3.571,
                    "13:00": 3.143,
                    "14:00": 2,
                    "15:00": 3.143,
                    "16:00": 3.286,
                    "17:00": 4.286,
                    "18:00": 0.714,
                    "19:00": 0,
                    "20:00": 0,
                    "21:00": 0,
                    "22:00": 0.143,
                    "23:00": 0
                }
            }
        },
        "overallTTR": {
            "friendly": "02h:52m",
            "raw": 10341.765957446809,
            "friendlyNoBusiness": "12h:10m",
            "rawNoBusiness": 43858.34751773049,
            "percentileRanks": [
                {
                    "key": "02h:00m",
                    "value": "79.57%"
                }
            ],
            "percentileRanksRaw": [
                {
                    "key": "02h:00m",
                    "value": "78.86%"
                }
            ]
        },
        "initialTTR": {
            "friendly": "03h:35m",
            "raw": 12927.133333333333,
            "friendlyNoBusiness": "15h:31m",
            "rawNoBusiness": 55874.044444444444,
            "percentileRanks": [
                {
                    "key": "02h:00m",
                    "value": "75.19%"
                }
            ],
            "percentileRanksRaw": [
                {
                    "key": "02h:00m",
                    "value": "74.16%"
                }
            ]
        },
        "overallTTF": {
            "friendly": "43m:06s",
            "raw": 2586.777777777778,
            "friendlyNoBusiness": "04h:07m",
            "rawNoBusiness": 14820,
            "percentileRanks": [
                {
                    "key": "02h:00m",
                    "value": "87.35%"
                }
            ],
            "percentileRanksRaw": [
                {
                    "key": "02h:00m",
                    "value": "68.35%"
                }
            ]
        },
        "overallTTC": {
            "friendly": "03h:14m",
            "raw": 11655.5,
            "friendlyNoBusiness": "15h:05m",
            "rawNoBusiness": 54304,
            "percentileRanks": [
                {
                    "key": "02h:00m",
                    "value": "56.67%"
                }
            ],
            "percentileRanksRaw": [
                {
                    "key": "02h:00m",
                    "value": "29.40%"
                }
            ]
        },
        "dailyStats": [
            {
                "timestamp": 1628204400000,
                "date": "Fri, 6th Aug",
                "messages": {
                    "sent": 38,
                    "forward": 3,
                    "reply": 29,
                    "received": 54
                },
                "overallTTR": {
                    "raw": 15532.758620689656,
                    "rawNoBusiness": 59937.89655172414
                },
                "overallTTF": {
                    "raw": 2153,
                    "rawNoBusiness": 20111.666666666668
                },
                "initialTTR": {
                    "raw": 9074.6,
                    "rawNoBusiness": 29381.45
                },
                "threads": {
                    "total": 30,
                    "haveRepliesFromAgents": 11,
                    "noReplyFromAgents": 0,
                    "completionRatio": 36.67
                }
            },
            {
                "timestamp": 1628290800000,
                "date": "Sat, 7th Aug",
                "messages": {
                    "sent": 1,
                    "forward": 0,
                    "reply": 1,
                    "received": 1
                },
                "overallTTR": {
                    "raw": 30366,
                    "rawNoBusiness": 145390
                },
                "overallTTF": {
                    "raw": null,
                    "rawNoBusiness": null
                },
                "initialTTR": {
                    "raw": null,
                    "rawNoBusiness": null
                },
                "threads": {
                    "total": 0,
                    "haveRepliesFromAgents": 0,
                    "noReplyFromAgents": 0,
                    "completionRatio": 0
                }
            },
            {
                "timestamp": 1628377200000,
                "date": "Sun, 8th Aug",
                "messages": {
                    "sent": 0,
                    "forward": 0,
                    "reply": 0,
                    "received": 2
                },
                "overallTTR": {
                    "raw": null,
                    "rawNoBusiness": null
                },
                "overallTTF": {
                    "raw": null,
                    "rawNoBusiness": null
                },
                "initialTTR": {
                    "raw": null,
                    "rawNoBusiness": null
                },
                "threads": {
                    "total": 1,
                    "haveRepliesFromAgents": 0,
                    "noReplyFromAgents": 0,
                    "completionRatio": 0
                }
            },
            {
                "timestamp": 1628463600000,
                "date": "Mon, 9th Aug",
                "messages": {
                    "sent": 26,
                    "forward": 2,
                    "reply": 20,
                    "received": 34
                },
                "overallTTR": {
                    "raw": 10665,
                    "rawNoBusiness": 62185.9
                },
                "overallTTF": {
                    "raw": 1182.5,
                    "rawNoBusiness": 1182.5
                },
                "initialTTR": {
                    "raw": 25982.833333333332,
                    "rawNoBusiness": 132431.83333333334
                },
                "threads": {
                    "total": 23,
                    "haveRepliesFromAgents": 10,
                    "noReplyFromAgents": 0,
                    "completionRatio": 43.48
                }
            },
            {
                "timestamp": 1628550000000,
                "date": "Tue, 10th Aug",
                "messages": {
                    "sent": 37,
                    "forward": 2,
                    "reply": 26,
                    "received": 46
                },
                "overallTTR": {
                    "raw": 8550.153846153846,
                    "rawNoBusiness": 38270.269230769234
                },
                "overallTTF": {
                    "raw": 6683.5,
                    "rawNoBusiness": 34795
                },
                "initialTTR": {
                    "raw": 11444.333333333334,
                    "rawNoBusiness": 65009
                },
                "threads": {
                    "total": 26,
                    "haveRepliesFromAgents": 12,
                    "noReplyFromAgents": 0,
                    "completionRatio": 46.15
                }
            },
            {
                "timestamp": 1628636400000,
                "date": "Wed, 11th Aug",
                "messages": {
                    "sent": 33,
                    "forward": 1,
                    "reply": 27,
                    "received": 46
                },
                "overallTTR": {
                    "raw": 10545.074074074075,
                    "rawNoBusiness": 40593.03703703704
                },
                "overallTTF": {
                    "raw": 901,
                    "rawNoBusiness": 901
                },
                "initialTTR": {
                    "raw": 13653.105263157895,
                    "rawNoBusiness": 54344
                },
                "threads": {
                    "total": 29,
                    "haveRepliesFromAgents": 11,
                    "noReplyFromAgents": 0,
                    "completionRatio": 37.93
                }
            },
            {
                "timestamp": 1628722800000,
                "date": "Thu, 12th Aug",
                "messages": {
                    "sent": 45,
                    "forward": 1,
                    "reply": 37,
                    "received": 55
                },
                "overallTTR": {
                    "raw": 6928.621621621622,
                    "rawNoBusiness": 26080.756756756757
                },
                "overallTTF": {
                    "raw": 189,
                    "rawNoBusiness": 189
                },
                "initialTTR": {
                    "raw": 10515.961538461539,
                    "rawNoBusiness": 39908.769230769234
                },
                "threads": {
                    "total": 37,
                    "haveRepliesFromAgents": 16,
                    "noReplyFromAgents": 0,
                    "completionRatio": 43.24
                }
            },
            {
                "timestamp": 1628809200000,
                "date": "Fri, 13th Aug",
                "messages": {
                    "sent": 1,
                    "forward": 0,
                    "reply": 1,
                    "received": 1
                },
                "overallTTR": {
                    "raw": 693,
                    "rawNoBusiness": 693
                },
                "overallTTF": {
                    "raw": null,
                    "rawNoBusiness": null
                },
                "initialTTR": {
                    "raw": 0,
                    "rawNoBusiness": 1581
                },
                "threads": {
                    "total": 1,
                    "haveRepliesFromAgents": 1,
                    "noReplyFromAgents": 0,
                    "completionRatio": 100
                }
            }
        ]
    },
    "previous_period": {
        "threads": {
            "total": 186,
            "internal": 14,
            "inbound": 145,
            "outbound": 27,
            "sentInternally": 24,
            "awaitCustomer": 58,
            "awaitAgent": 93,
            "closed": 11,
            "haveReplies": 138,
            "haveRepliesFromAgents": 128,
            "completionRatio": {
                "ratio": "0.00%",
                "numerator": 113,
                "denominator": 0
            }
        },
        "messages": {
            "count": 479,
            "initial": 186,
            "replies": 228,
            "replyAll": 55,
            "forward": 10,
            "received": {
                "count": 323,
                "initial": 159,
                "replies": 104,
                "replyAll": 50,
                "forward": 10,
                "initialReplies": 0,
                "dayOfWeek": {
                    "Friday": 47.5,
                    "Monday": 56,
                    "Saturday": 4,
                    "Sunday": 1,
                    "Thursday": 62,
                    "Tuesday": 45,
                    "Wednesday": 60
                },
                "hourOfDay": {
                    "00:00": 0,
                    "01:00": 0.429,
                    "02:00": 0,
                    "03:00": 0.143,
                    "04:00": 0.143,
                    "05:00": 0,
                    "06:00": 0.143,
                    "07:00": 0,
                    "08:00": 0,
                    "09:00": 0,
                    "10:00": 2.857,
                    "11:00": 5.714,
                    "12:00": 5.429,
                    "13:00": 4.429,
                    "14:00": 3.714,
                    "15:00": 5.429,
                    "16:00": 7.857,
                    "17:00": 8,
                    "18:00": 1.429,
                    "19:00": 0.143,
                    "20:00": 0,
                    "21:00": 0.143,
                    "22:00": 0,
                    "23:00": 0.143
                }
            },
            "sent": {
                "count": 223,
                "initial": 41,
                "replies": 144,
                "replyAll": 28,
                "forward": 10,
                "initialReplies": 113,
                "dayOfWeek": {
                    "Friday": 33,
                    "Monday": 35,
                    "Saturday": 0,
                    "Sunday": 0,
                    "Thursday": 49,
                    "Tuesday": 30,
                    "Wednesday": 43
                },
                "hourOfDay": {
                    "00:00": 0,
                    "01:00": 0.143,
                    "02:00": 0,
                    "03:00": 0,
                    "04:00": 0,
                    "05:00": 0,
                    "06:00": 0,
                    "07:00": 0,
                    "08:00": 0.143,
                    "09:00": 0.143,
                    "10:00": 1,
                    "11:00": 3.571,
                    "12:00": 4,
                    "13:00": 4.714,
                    "14:00": 2.429,
                    "15:00": 3.143,
                    "16:00": 6,
                    "17:00": 5.429,
                    "18:00": 0.714,
                    "19:00": 0.143,
                    "20:00": 0.143,
                    "21:00": 0,
                    "22:00": 0,
                    "23:00": 0.143
                }
            }
        },
        "overallTTR": {
            "friendly": "01h:44m",
            "raw": 6296.8488372093025,
            "friendlyNoBusiness": "06h:25m",
            "rawNoBusiness": 23148.79069767442,
            "percentileRanks": [
                {
                    "key": "02h:00m",
                    "value": "86.44%"
                }
            ],
            "percentileRanksRaw": [
                {
                    "key": "02h:00m",
                    "value": "83.54%"
                }
            ]
        },
        "initialTTR": {
            "friendly": "02h:05m",
            "raw": 7540.194690265486,
            "friendlyNoBusiness": "07h:19m",
            "rawNoBusiness": 26368.858407079646,
            "percentileRanks": [
                {
                    "key": "02h:00m",
                    "value": "84.68%"
                }
            ],
            "percentileRanksRaw": [
                {
                    "key": "02h:00m",
                    "value": "81.14%"
                }
            ]
        },
        "overallTTF": {
            "friendly": "27m:49s",
            "raw": 1669.8,
            "friendlyNoBusiness": "02h:01m",
            "rawNoBusiness": 7301.5,
            "percentileRanks": [
                {
                    "key": "02h:00m",
                    "value": "100.00%"
                }
            ],
            "percentileRanksRaw": [
                {
                    "key": "02h:00m",
                    "value": "81.37%"
                }
            ]
        },
        "overallTTC": {
            "friendly": "04h:09m",
            "raw": 14995,
            "friendlyNoBusiness": "20h:01m",
            "rawNoBusiness": 72078.85714285714,
            "percentileRanks": [
                {
                    "key": "02h:00m",
                    "value": "58.86%"
                }
            ],
            "percentileRanksRaw": [
                {
                    "key": "02h:00m",
                    "value": "57.59%"
                }
            ]
        },
        "dailyStats": [
            {
                "timestamp": 1628204400000,
                "date": "Fri, 6th Aug",
                "messages": {
                    "sent": 38,
                    "forward": 3,
                    "reply": 29,
                    "received": 54
                },
                "overallTTR": {
                    "raw": 15532.758620689656,
                    "rawNoBusiness": 59937.89655172414
                },
                "overallTTF": {
                    "raw": 2153,
                    "rawNoBusiness": 20111.666666666668
                },
                "initialTTR": {
                    "raw": 8267.681818181818,
                    "rawNoBusiness": 26862.227272727272
                },
                "threads": {
                    "total": 30,
                    "haveRepliesFromAgents": 11,
                    "noReplyFromAgents": 0,
                    "completionRatio": 36.67
                }
            },
            {
                "timestamp": 1628290800000,
                "date": "Sat, 7th Aug",
                "messages": {
                    "sent": 0,
                    "forward": 0,
                    "reply": 0,
                    "received": 0
                },
                "overallTTR": {
                    "raw": null,
                    "rawNoBusiness": null
                },
                "overallTTF": {
                    "raw": null,
                    "rawNoBusiness": null
                },
                "initialTTR": {
                    "raw": null,
                    "rawNoBusiness": null
                },
                "threads": {
                    "total": 0,
                    "haveRepliesFromAgents": 0,
                    "noReplyFromAgents": 0,
                    "completionRatio": 0
                }
            },
            {
                "timestamp": 1628377200000,
                "date": "Sun, 8th Aug",
                "messages": {
                    "sent": 0,
                    "forward": 0,
                    "reply": 0,
                    "received": 0
                },
                "overallTTR": {
                    "raw": null,
                    "rawNoBusiness": null
                },
                "overallTTF": {
                    "raw": null,
                    "rawNoBusiness": null
                },
                "initialTTR": {
                    "raw": null,
                    "rawNoBusiness": null
                },
                "threads": {
                    "total": 0,
                    "haveRepliesFromAgents": 0,
                    "noReplyFromAgents": 0,
                    "completionRatio": 0
                }
            },
            {
                "timestamp": 1628463600000,
                "date": "Mon, 9th Aug",
                "messages": {
                    "sent": 0,
                    "forward": 0,
                    "reply": 0,
                    "received": 0
                },
                "overallTTR": {
                    "raw": null,
                    "rawNoBusiness": null
                },
                "overallTTF": {
                    "raw": null,
                    "rawNoBusiness": null
                },
                "initialTTR": {
                    "raw": 64814,
                    "rawNoBusiness": 276330.5
                },
                "threads": {
                    "total": 0,
                    "haveRepliesFromAgents": 0,
                    "noReplyFromAgents": 0,
                    "completionRatio": 0
                }
            },
            {
                "timestamp": 1628550000000,
                "date": "Tue, 10th Aug",
                "messages": {
                    "sent": 0,
                    "forward": 0,
                    "reply": 0,
                    "received": 0
                },
                "overallTTR": {
                    "raw": null,
                    "rawNoBusiness": null
                },
                "overallTTF": {
                    "raw": null,
                    "rawNoBusiness": null
                },
                "initialTTR": {
                    "raw": 7408,
                    "rawNoBusiness": 7408
                },
                "threads": {
                    "total": 0,
                    "haveRepliesFromAgents": 0,
                    "noReplyFromAgents": 0,
                    "completionRatio": 0
                }
            },
            {
                "timestamp": 1628636400000,
                "date": "Wed, 11th Aug",
                "messages": {
                    "sent": 0,
                    "forward": 0,
                    "reply": 0,
                    "received": 0
                },
                "overallTTR": {
                    "raw": null,
                    "rawNoBusiness": null
                },
                "overallTTF": {
                    "raw": null,
                    "rawNoBusiness": null
                },
                "initialTTR": {
                    "raw": null,
                    "rawNoBusiness": null
                },
                "threads": {
                    "total": 0,
                    "haveRepliesFromAgents": 0,
                    "noReplyFromAgents": 0,
                    "completionRatio": 0
                }
            },
            {
                "timestamp": 1628722800000,
                "date": "Thu, 12th Aug",
                "messages": {
                    "sent": 0,
                    "forward": 0,
                    "reply": 0,
                    "received": 0
                },
                "overallTTR": {
                    "raw": null,
                    "rawNoBusiness": null
                },
                "overallTTF": {
                    "raw": null,
                    "rawNoBusiness": null
                },
                "initialTTR": {
                    "raw": 8371,
                    "rawNoBusiness": 8371
                },
                "threads": {
                    "total": 0,
                    "haveRepliesFromAgents": 0,
                    "noReplyFromAgents": 0,
                    "completionRatio": 0
                }
            }
        ]
    },
    "all_agent_stats": {
        "maxima": {
            "threads.total": 81,
            "threads.internal": 15,
            "threads.inbound": 56,
            "threads.outbound": 10,
            "threads.sentInternally": 23,
            "threads.awaitCustomer": 24,
            "threads.awaitAgent": 33,
            "threads.closed": 6,
            "threads.haveReplies": 63,
            "messages.received.count": 110,
            "messages.received.initial": 50,
            "messages.received.replies": 45,
            "messages.received.replyAll": 14,
            "messages.received.forward": 6,
            "messages.sent.count": 86,
            "messages.sent.initial": 15,
            "messages.sent.replies": 59,
            "messages.sent.replyAll": 7,
            "messages.sent.forward": 8
        },
        "data": [
            {
                "name": "j.heathcote@timetoreply.com",
                "threads": {
                    "total": 81,
                    "internal": 15,
                    "inbound": 56,
                    "outbound": 10,
                    "sentInternally": 23,
                    "awaitCustomer": 24,
                    "awaitAgent": 33,
                    "closed": 1,
                    "haveReplies": 63,
                    "haveInitialReplies": 42
                },
                "messages": {
                    "received": {
                        "count": 110,
                        "initial": 50,
                        "replies": 45,
                        "replyAll": 14,
                        "forward": 1,
                        "initialReplies": 0,
                        "dailyStats": {
                            "2021-08-06 00:00:00": 20,
                            "2021-08-07 00:00:00": 1,
                            "2021-08-08 00:00:00": 0,
                            "2021-08-09 00:00:00": 14,
                            "2021-08-10 00:00:00": 22,
                            "2021-08-11 00:00:00": 17,
                            "2021-08-12 00:00:00": 35,
                            "2021-08-13 00:00:00": 1
                        }
                    },
                    "sent": {
                        "count": 86,
                        "initial": 15,
                        "replies": 59,
                        "replyAll": 4,
                        "forward": 8,
                        "initialReplies": 0,
                        "dailyStats": {
                            "2021-08-06 00:00:00": 20,
                            "2021-08-07 00:00:00": 0,
                            "2021-08-08 00:00:00": 0,
                            "2021-08-09 00:00:00": 10,
                            "2021-08-10 00:00:00": 16,
                            "2021-08-11 00:00:00": 13,
                            "2021-08-12 00:00:00": 26,
                            "2021-08-13 00:00:00": 1
                        }
                    }
                },
                "initialTTR": {
                    "friendly": "03h:15m",
                    "raw": 11756.785714285714,
                    "friendlyNoBusiness": "13h:21m",
                    "rawNoBusiness": 48084.26190476191,
                    "percentileRanks": [
                        {
                            "key": "02h:00m",
                            "value": "75.19%"
                        }
                    ],
                    "percentileRanksRaw": [
                        {
                            "key": "02h:00m",
                            "value": "73.15%"
                        }
                    ]
                },
                "overallTTF": {
                    "friendly": "45m:27s",
                    "raw": 2727.5,
                    "friendlyNoBusiness": "04h:34m",
                    "rawNoBusiness": 16489.875,
                    "percentileRanks": [
                        {
                            "key": "02h:00m",
                            "value": "85.77%"
                        }
                    ],
                    "percentileRanksRaw": [
                        {
                            "key": "02h:00m",
                            "value": "64.39%"
                        }
                    ]
                },
                "overallTTR": {
                    "friendly": "02h:37m",
                    "raw": 9451.666666666666,
                    "friendlyNoBusiness": "10h:36m",
                    "rawNoBusiness": 38192.46031746032,
                    "percentileRanks": [
                        {
                            "key": "02h:00m",
                            "value": "76.49%"
                        }
                    ],
                    "percentileRanksRaw": [
                        {
                            "key": "02h:00m",
                            "value": "74.90%"
                        }
                    ]
                },
                "overallTTC": {
                    "friendly": "N\/A",
                    "raw": null,
                    "friendlyNoBusiness": "N\/A",
                    "rawNoBusiness": null
                }
            },
            {
                "name": "j.considine@timetoreply.com",
                "threads": {
                    "total": 49,
                    "internal": 12,
                    "inbound": 33,
                    "outbound": 4,
                    "sentInternally": 14,
                    "awaitCustomer": 14,
                    "awaitAgent": 18,
                    "closed": 3,
                    "haveReplies": 38,
                    "haveInitialReplies": 23
                },
                "messages": {
                    "received": {
                        "count": 58,
                        "initial": 28,
                        "replies": 22,
                        "replyAll": 6,
                        "forward": 2,
                        "initialReplies": 0,
                        "dailyStats": {
                            "2021-08-06 00:00:00": 15,
                            "2021-08-07 00:00:00": 0,
                            "2021-08-08 00:00:00": 1,
                            "2021-08-09 00:00:00": 6,
                            "2021-08-10 00:00:00": 7,
                            "2021-08-11 00:00:00": 14,
                            "2021-08-12 00:00:00": 15
                        }
                    },
                    "sent": {
                        "count": 48,
                        "initial": 9,
                        "replies": 31,
                        "replyAll": 7,
                        "forward": 1,
                        "initialReplies": 0,
                        "dailyStats": {
                            "2021-08-06 00:00:00": 10,
                            "2021-08-07 00:00:00": 0,
                            "2021-08-08 00:00:00": 0,
                            "2021-08-09 00:00:00": 6,
                            "2021-08-10 00:00:00": 10,
                            "2021-08-11 00:00:00": 13,
                            "2021-08-12 00:00:00": 9
                        }
                    }
                },
                "initialTTR": {
                    "friendly": "03h:16m",
                    "raw": 11788.91304347826,
                    "friendlyNoBusiness": "15h:11m",
                    "rawNoBusiness": 54708.30434782609,
                    "percentileRanks": [
                        {
                            "key": "02h:00m",
                            "value": "83.03%"
                        }
                    ],
                    "percentileRanksRaw": [
                        {
                            "key": "02h:00m",
                            "value": "82.65%"
                        }
                    ]
                },
                "overallTTF": {
                    "friendly": "24m:21s",
                    "raw": 1461,
                    "friendlyNoBusiness": "24m:21s",
                    "rawNoBusiness": 1461,
                    "percentileRanks": [
                        {
                            "key": "02h:00m",
                            "value": "100.00%"
                        }
                    ],
                    "percentileRanksRaw": [
                        {
                            "key": "02h:00m",
                            "value": "100.00%"
                        }
                    ]
                },
                "overallTTR": {
                    "friendly": "03h:03m",
                    "raw": 11016.28947368421,
                    "friendlyNoBusiness": "13h:37m",
                    "rawNoBusiness": 49056.36842105263,
                    "percentileRanks": [
                        {
                            "key": "02h:00m",
                            "value": "87.09%"
                        }
                    ],
                    "percentileRanksRaw": [
                        {
                            "key": "02h:00m",
                            "value": "86.87%"
                        }
                    ]
                },
                "overallTTC": {
                    "friendly": "06h:06m",
                    "raw": 21968,
                    "friendlyNoBusiness": "29h:25m",
                    "rawNoBusiness": 105953
                }
            }
        ]
    },
    "all_domain_stats": [
        {
            "name": "timetoreply.com",
            "threads": {
                "total": 147,
                "internal": 15,
                "inbound": 114,
                "outbound": 18,
                "sentInternally": 23,
                "awaitCustomer": 50,
                "awaitAgent": 66,
                "closed": 8,
                "haveReplies": 141,
                "haveInitialReplies": 90
            },
            "messages": {
                "received": {
                    "count": 239,
                    "initial": 119,
                    "replies": 88,
                    "replyAll": 23,
                    "forward": 9,
                    "initialReplies": 0,
                    "dailyStats": []
                },
                "sent": {
                    "count": 181,
                    "initial": 31,
                    "replies": 125,
                    "replyAll": 16,
                    "forward": 9,
                    "initialReplies": 0,
                    "dailyStats": []
                }
            },
            "initialTTR": {
                "friendly": "03h:35m",
                "raw": 12927.133333333333,
                "friendlyNoBusiness": "15h:31m",
                "rawNoBusiness": 55874.044444444444,
                "percentileRanks": [
                    {
                        "key": "02h:00m",
                        "value": "75.19%"
                    }
                ],
                "percentileRanksRaw": [
                    {
                        "key": "02h:00m",
                        "value": "74.16%"
                    }
                ]
            },
            "overallTTF": {
                "friendly": "43m:06s",
                "raw": 2586.777777777778,
                "friendlyNoBusiness": "04h:07m",
                "rawNoBusiness": 14820,
                "percentileRanks": [
                    {
                        "key": "02h:00m",
                        "value": "87.35%"
                    }
                ],
                "percentileRanksRaw": [
                    {
                        "key": "02h:00m",
                        "value": "68.35%"
                    }
                ]
            },
            "overallTTR": {
                "friendly": "02h:52m",
                "raw": 10341.765957446809,
                "friendlyNoBusiness": "12h:10m",
                "rawNoBusiness": 43858.34751773049,
                "percentileRanks": [
                    {
                        "key": "02h:00m",
                        "value": "79.57%"
                    }
                ],
                "percentileRanksRaw": [
                    {
                        "key": "02h:00m",
                        "value": "78.86%"
                    }
                ]
            },
            "overallTTC": {
                "friendly": "03h:14m",
                "raw": 11655.5,
                "friendlyNoBusiness": "15h:05m",
                "rawNoBusiness": 54304
            }
        }
    ],
    "all_customer_stats": [],
    "total": 2,
    "page": 1,
    "args": {
        "model": {
            "id": null,
            "name": "timetoreply.com",
            "email_usernames": [
                "timetoreply.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        "modelCom": {
            "icon": "globe-americas",
            "id": null,
            "model_type": "Anybody",
            "name": "Anybody",
            "value": "Anybody"
        },
        "init_ttr_goal": 7200,
        "overall_ttr_goal": 7200,
        "overall_ttc_goal": 7200
    }
}
 

Request   

GET api/reports/sla

Query Parameters

from  string optional  

The start date of your request in the format "YYYY-MM-DD". Must be less than or equal to "to".

to  string optional  

The end date of your request in the format "YYYY-MM-DD". Must be greater than or equal to "from".

model  string optional  

Name, email address or domain you want statistics for. Use the models endpoint to get a list.

model_type  string optional  

Model Type of the model being queried. Use "Contact" for email address and domain.

exclude_cc  boolean optional  

Should we exclude CC messages from the statistics.

model_com  string optional  

Model Communicating With, same as Model, except now for who/what the Model is communicating with.

model_type_com  string optional  

Model Type of the model you are communicating with. Use "Contact" for email address and domain.

exclude_cc_com  boolean optional  

Should we exclude CC messages from the statistics for the communicating with model.

exclusive  boolean optional  

Should we only focus on statistics where exclusively Model and ModelCom were involved?.

search  string optional  

Search a specific email subject line (warning this is very slow!).

label  string optional  

Label, if your mail provider supports labels/categories, you can filter your results using them.

thread_type  string optional  

A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.

thread_status  string optional  

A comma separated list (no spaces) of any combination of the following: internal,await-customer,closed,await-agent.

has_replies  string optional  

A comma separated list (no spaces) of any combination of the following: hasReplies,hasForwards,hasNoRepliesOrForwards.

classification  string optional  

A comma separated list (no spaces) of any combination of the following: calculating,first,reply,reply-all,forward.

messageType  string optional  

A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.

replies_over  integer optional  

Limit results to conversations with first reply times over X minutes. Should not be used at same time as message_replies_over.

message_replies_over  integer optional  

Limit results to messages where the reply time was over X minutes. Should not be used at same time as replies_over.

no_reply_for  integer optional  

Limit results to messages that have not had a reply for at least X minutes.

per_page  integer optional  

For paginated results, how many results per page. Max 200.

sort_by  string optional  

Field Name to sort by. Defaults to threads.total.

direction  string optional  

Direction in which to sort paginated results. Must be either asc or desc.

page  integer optional  

For paginated results, which page to get.

init_ttr_goal  string optional  

Time string in the format "HH:MM:SS" of your initial reply time goal.

overall_ttr_goal  string optional  

Time string in the format "HH:MM:SS" of your overall reply time goal.

overall_ttc_goal  string optional  

Time string in the format "HH:MM:SS" of your overall time to close goal.

Trend - Report

requires authentication

Trend Report Data

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/reports/trend"
);

const params = {
    "model": "My Company",
    "model_type": "Internal",
    "exclude_cc": "",
    "model_com": "Top Revenue Contacts",
    "model_type_com": "Contact Group",
    "exclude_cc_com": "",
    "exclusive": "",
    "label": "INBOX",
    "thread_type": "inbound,outbound,internal",
    "thread_status": "internal,await-customer,closed,await-agent",
    "has_replies": "hasReplies,hasForwards,hasNoRepliesOrForwards",
    "classification": "calculating,first,reply,reply-all,forward",
    "messageType": "inbound,outbound,internal",
    "replies_over": "15",
    "message_replies_over": "15",
    "no_reply_for": "15",
    "date": "2020-01-01",
    "periods": "12",
    "period_type": "Months",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://portal.timetoreply.com/api/reports/trend',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'model'=> 'My Company',
            'model_type'=> 'Internal',
            'exclude_cc'=> '',
            'model_com'=> 'Top Revenue Contacts',
            'model_type_com'=> 'Contact Group',
            'exclude_cc_com'=> '',
            'exclusive'=> '',
            'label'=> 'INBOX',
            'thread_type'=> 'inbound,outbound,internal',
            'thread_status'=> 'internal,await-customer,closed,await-agent',
            'has_replies'=> 'hasReplies,hasForwards,hasNoRepliesOrForwards',
            'classification'=> 'calculating,first,reply,reply-all,forward',
            'messageType'=> 'inbound,outbound,internal',
            'replies_over'=> '15',
            'message_replies_over'=> '15',
            'no_reply_for'=> '15',
            'date'=> '2020-01-01',
            'periods'=> '12',
            'period_type'=> 'Months',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "stats": {
        "messages.received.count": {
            "title": "Emails Received",
            "type": "number",
            "data": [
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
            ],
            "agentData": [],
            "colour": "#262626"
        },
        "messages.sent.count": {
            "title": "Emails Sent",
            "type": "number",
            "data": [
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
            ],
            "agentData": [],
            "colour": "#737373"
        },
        "messages.sent.initial": {
            "title": "New Emails Sent",
            "type": "number",
            "data": [
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
            ],
            "agentData": [],
            "colour": "#32cc5d"
        },
        "messages.sent.allReplies": {
            "title": "Replies Sent",
            "type": "number",
            "data": [
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
            ],
            "agentData": [],
            "colour": "#4597E4"
        },
        "messages.sent.forward": {
            "title": "Forwards Sent",
            "type": "number",
            "data": [
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
            ],
            "agentData": [],
            "colour": "#CC3232"
        },
        "initialTTR.raw": {
            "title": "Avg. First Reply Time",
            "type": "replyTime",
            "data": [
                null,
                null,
                null,
                null,
                null,
                null,
                null,
                null,
                null,
                null,
                null,
                null
            ],
            "agentData": [],
            "colour": "#262626"
        },
        "overallTTR.raw": {
            "title": "Avg. Overall Reply Time",
            "type": "replyTime",
            "data": [
                null,
                null,
                null,
                null,
                null,
                null,
                null,
                null,
                null,
                null,
                null,
                null
            ],
            "agentData": [],
            "colour": "#737373"
        },
        "threads.have_initial_reply_rate": {
            "title": "First Reply Ratio",
            "type": "percentage",
            "data": [
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
            ],
            "agentData": [],
            "colour": "#32cc5d"
        },
        "threads.total": {
            "title": "Conversations",
            "type": "number",
            "data": [
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
            ],
            "agentData": [],
            "colour": "#4597E4"
        },
        "threads.ttr_ratio": {
            "title": "timetoreply Ratio",
            "type": "number",
            "data": [
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
            ],
            "agentData": [],
            "colour": "#CC3232"
        },
        "threads.success_rate": {
            "title": "Contact Success Rate",
            "type": "percentage",
            "data": [
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
            ],
            "agentData": [],
            "colour": "#262626"
        },
        "threads.success_time": {
            "title": "Avg Time to Contact Success",
            "type": "replyTime",
            "data": [
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
            ],
            "agentData": [],
            "colour": "#737373"
        }
    },
    "dates": [
        "Feb 2019",
        "Mar 2019",
        "Apr 2019",
        "May 2019",
        "Jun 2019",
        "Jul 2019",
        "Aug 2019",
        "Sep 2019",
        "Oct 2019",
        "Nov 2019",
        "Dec 2019",
        "Jan to date"
    ],
    "total": 0,
    "page": 1
}
 

Request   

GET api/reports/trend

Query Parameters

model  string optional  

Name, email address or domain you want statistics for. Use the models endpoint to get a list.

model_type  string optional  

Model Type of the model being queried. Use "Contact" for email address and domain.

exclude_cc  boolean optional  

Should we exclude CC messages from the statistics.

model_com  string optional  

Model Communicating With, same as Model, except now for who/what the Model is communicating with.

model_type_com  string optional  

Model Type of the model you are communicating with. Use "Contact" for email address and domain.

exclude_cc_com  boolean optional  

Should we exclude CC messages from the statistics for the communicating with model.

exclusive  boolean optional  

Should we only focus on statistics where exclusively Model and ModelCom were involved?.

search  string optional  

Search a specific email subject line (warning this is very slow!).

label  string optional  

Label, if your mail provider supports labels/categories, you can filter your results using them.

thread_type  string optional  

A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.

thread_status  string optional  

A comma separated list (no spaces) of any combination of the following: internal,await-customer,closed,await-agent.

has_replies  string optional  

A comma separated list (no spaces) of any combination of the following: hasReplies,hasForwards,hasNoRepliesOrForwards.

classification  string optional  

A comma separated list (no spaces) of any combination of the following: calculating,first,reply,reply-all,forward.

messageType  string optional  

A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.

replies_over  integer optional  

Limit results to conversations with first reply times over X minutes. Should not be used at same time as message_replies_over.

message_replies_over  integer optional  

Limit results to messages where the reply time was over X minutes. Should not be used at same time as replies_over.

no_reply_for  integer optional  

Limit results to messages that have not had a reply for at least X minutes.

date  string optional  

The date you want the report to go up to in the format "YYYY-MM-DD".

periods  integer optional  

The number of date periods to show in the trend report. Must be less than 53 if choosing "Weeks" and less than 13 if choosing "Months".

period_type  string optional  

The type of date period to break the report down into. Can be either "Weeks" or "Months".

Tools

Advanced Filters - Delete

requires authentication

Delete an Advanced Filter

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/tools/settings/message-filters/advanced/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://portal.timetoreply.com/api/tools/settings/message-filters/advanced/1',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "status": "Advanced filter deleted."
}
 

Request   

DELETE api/tools/settings/message-filters/advanced/{message_filter_group}

URL Parameters

message_filter_group  integer  

The ID of the Advanced Filter to delete.

Advanced Filters - List

requires authentication

List all Advanced filters

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/tools/settings/message-filters/advanced"
);

const params = {
    "per_page": "15",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://portal.timetoreply.com/api/tools/settings/message-filters/advanced',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'per_page'=> '15',
            'page'=> '1',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "current_page": 1,
    "data": [
        {
            "id": 1,
            "company_id": 1,
            "name": "example message filter group",
            "active": false,
            "message_filters_count": 1,
            "message_filters": [
                {
                    "id": 1,
                    "message_filter_group_id": 1,
                    "field": "Subject",
                    "operator": "does not equal",
                    "type": "and",
                    "value": "example message filter"
                }
            ]
        }
    ],
    "first_page_url": "https:\/\/portal.timetoreply.com\/api\/tools\/settings\/message-filters\/advanced?page=1",
    "from": 1,
    "last_page": 1,
    "last_page_url": "https:\/\/portal.timetoreply.com\/api\/tools\/settings\/message-filters\/advanced?page=1",
    "links": [
        {
            "url": null,
            "label": "&laquo; Previous",
            "active": false
        },
        {
            "url": "https:\/\/portal.timetoreply.com\/api\/tools\/settings\/message-filters\/advanced?page=1",
            "label": "1",
            "active": true
        },
        {
            "url": null,
            "label": "Next &raquo;",
            "active": false
        }
    ],
    "next_page_url": null,
    "path": "https:\/\/portal.timetoreply.com\/api\/tools\/settings\/message-filters\/advanced",
    "per_page": 2,
    "prev_page_url": null,
    "to": 1,
    "total": 1
}
 

Request   

GET api/tools/settings/message-filters/advanced

Query Parameters

per_page  number optional  

The number of mailboxes to show per page.

page  number optional  

The page number.

Advanced Filters - Store

requires authentication

Add a new Advanced Filter

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/tools/settings/message-filters/advanced"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "filterName": "From Does Not Contain no-reply",
    "filters": [
        {
            "field": "From",
            "operator": "does not contain",
            "type": "and",
            "value": "no-reply"
        },
        {
            "field": "From",
            "operator": "does not contain",
            "type": "and",
            "value": "no-reply"
        }
    ]
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://portal.timetoreply.com/api/tools/settings/message-filters/advanced',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'filterName' => 'From Does Not Contain no-reply',
            'filters' => [
                [
                    'field' => 'From',
                    'operator' => 'does not contain',
                    'type' => 'and',
                    'value' => 'no-reply',
                ],
                [
                    'field' => 'From',
                    'operator' => 'does not contain',
                    'type' => 'and',
                    'value' => 'no-reply',
                ],
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "id": 5,
    "company_id": 1,
    "name": "From Does Not Contain no-reply",
    "active": true
}
 

Request   

POST api/tools/settings/message-filters/advanced

Body Parameters

filterName  string  

The name of the Advanced Filter.

filters  object[] optional  

An array of Filters objects.

filters[].field  string  

The field to filter on. Can be From, To, Cc, Subject or Label.

filters[].operator  string  

The operator for the filter. Can be does not begin with, does not end with, does not equal, does not contain, begins with, ends with, equals or contains.

filters[].type  string  

The boolean logic type of the advanced filter. Can be and or or.

filters[].value  string  

The value of the filter.

Advanced Filters - Toggle

requires authentication

Toggle on/off an Advanced Filter

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/tools/settings/message-filters/advanced/1/toggle"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PATCH",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->patch(
    'https://portal.timetoreply.com/api/tools/settings/message-filters/advanced/1/toggle',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "id": 1,
    "company_id": 1,
    "name": "example message filter group",
    "active": true
}
 

Request   

PATCH api/tools/settings/message-filters/advanced/{message_filter_group}/toggle

URL Parameters

message_filter_group  integer  

The ID of the Advanced Filter to toggle.

Advanced Filters - Update

requires authentication

Update an Advanced Filter

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/tools/settings/message-filters/advanced/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "filterName": "From Does Not Contain no-reply",
    "filters": [
        {
            "field": "From",
            "operator": "does not contain",
            "type": "and",
            "value": "no-reply"
        },
        {
            "field": "From",
            "operator": "does not contain",
            "type": "and",
            "value": "no-reply"
        }
    ]
}

fetch(url, {
    method: "PATCH",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->patch(
    'https://portal.timetoreply.com/api/tools/settings/message-filters/advanced/1',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'filterName' => 'From Does Not Contain no-reply',
            'filters' => [
                [
                    'field' => 'From',
                    'operator' => 'does not contain',
                    'type' => 'and',
                    'value' => 'no-reply',
                ],
                [
                    'field' => 'From',
                    'operator' => 'does not contain',
                    'type' => 'and',
                    'value' => 'no-reply',
                ],
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "id": 1,
    "company_id": 1,
    "name": "From Does Not Contain no-reply",
    "active": false,
    "message_filters": [
        {
            "id": 16,
            "message_filter_group_id": 1,
            "field": "From",
            "operator": "does not contain",
            "type": "and",
            "value": "no-reply"
        },
        {
            "id": 17,
            "message_filter_group_id": 1,
            "field": "From",
            "operator": "does not contain",
            "type": "and",
            "value": "no-reply"
        }
    ]
}
 

Request   

PATCH api/tools/settings/message-filters/advanced/{message_filter_group}

URL Parameters

message_filter_group  integer  

The ID of the Advanced Filter to update.

Body Parameters

filterName  string  

The name of the Advanced Filter.

filters  object[] optional  

An array of Filters objects.

filters[].field  string  

The field to filter on. Can be From, To, Cc, Subject or Label.

filters[].operator  string  

The operator for the filter. Can be does not begin with, does not end with, does not equal, does not contain, begins with, ends with, equals or contains.

filters[].type  string  

The boolean logic type of the advanced filter. Can be and or or.

filters[].value  string  

The value of the filter.

Alerts - Delete

requires authentication

Delete an alert

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/tools/alerts/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://portal.timetoreply.com/api/tools/alerts/1',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "status": "Alert deleted successfully"
}
 

Request   

DELETE api/tools/alerts/{id}

URL Parameters

alert  integer  

The ID of the alert you would like to delete.

Alerts - Show

requires authentication

Show a single Alert

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/tools/alerts/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://portal.timetoreply.com/api/tools/alerts/1',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "id": 1,
    "name": "Top Customers Alert",
    "hours": 1,
    "type": "external",
    "notify_types": [
        "custom_emails",
        "all_agents"
    ],
    "custom_emails": [
        "custom_alert_email@timetoreply.com"
    ],
    "enabled": true,
    "create_crm_tasks": false,
    "selected_entities": [
        {
            "id": 1,
            "name": "UNREAD",
            "model_type": "Label",
            "icon": "tag"
        },
        {
            "id": 5,
            "name": "STARRED",
            "model_type": "Label",
            "icon": "tag"
        },
        {
            "id": 1,
            "name": "top@customer.com",
            "email_usernames": [
                "top@customer.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 1,
            "name": "Top Revenue Customers",
            "email_usernames": [
                "jklein@fay.com",
                "grunolfsdottir@mraz.com"
            ],
            "customer_domains": [
                "champlin.biz",
                "towne.com"
            ],
            "model_type": "Contact Group",
            "icon": "user-friends"
        }
    ],
    "selected_model": null,
    "in_conversation": false,
    "exclude_emails": [],
    "exclude_domains": []
}
 

Request   

GET api/tools/alerts/{id}

URL Parameters

alert  integer  

The ID of the alert.

Alerts - Store

requires authentication

Save an Alert

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/tools/alerts"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "Important Contacts Alert",
    "hours": 1,
    "notify_types": [
        "all_agents",
        "custom_emails"
    ],
    "custom_emails": [
        "custom@timetoreply.com"
    ],
    "enabled": true,
    "create_crm_tasks": false,
    "type": "external",
    "selected_model": {
        "type": "Team",
        "id": 1
    },
    "selected_entities": [
        {
            "type": "Label",
            "id": 1
        },
        {
            "type": "Label",
            "id": 1
        }
    ],
    "send_to_customers": false,
    "in_conversation": false,
    "exclude_emails": [
        "notifications@example.com"
    ],
    "exclude_domains": [
        "example.com"
    ],
    "internal": false
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://portal.timetoreply.com/api/tools/alerts',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'name' => 'Important Contacts Alert',
            'hours' => 1,
            'notify_types' => [
                'all_agents',
                'custom_emails',
            ],
            'custom_emails' => [
                'custom@timetoreply.com',
            ],
            'enabled' => true,
            'create_crm_tasks' => false,
            'type' => 'external',
            'selected_model' => [
                'type' => 'Team',
                'id' => 1,
            ],
            'selected_entities' => [
                [
                    'type' => 'Label',
                    'id' => 1,
                ],
                [
                    'type' => 'Label',
                    'id' => 1,
                ],
            ],
            'send_to_customers' => false,
            'in_conversation' => false,
            'exclude_emails' => [
                'notifications@example.com',
            ],
            'exclude_domains' => [
                'example.com',
            ],
            'internal' => false,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 

{
    "id": 6,
    "name": "Important Contacts Alert",
    "hours": 1,
    "type": "external",
    "notify_types": [
        "all_agents",
        "custom_emails"
    ],
    "custom_emails": [
        "custom@timetoreply.com"
    ],
    "enabled": true,
    "create_crm_tasks": false,
    "selected_entities": [
        {
            "id": 1,
            "name": "UNREAD",
            "model_type": "Label",
            "icon": "tag"
        }
    ],
    "selected_model": {
        "id": 1,
        "name": "US Sales Team",
        "email_usernames": [
            "j.considine@timetoreply.com",
            "l.ziemann@timetoreply.com",
            "j.heathcote@timetoreply.com"
        ],
        "model_type": "Team",
        "icon": "handshake"
    },
    "in_conversation": false,
    "exclude_emails": [],
    "exclude_domains": []
}
 

Request   

POST api/tools/alerts

Body Parameters

name  string  

The name of the alert.

hours  integer  

The number of hours since the last email before we should send a report.

notify_types  string[]  

An array of the notify types.

custom_emails  string[] optional  

An array of custom email addresses to send notification to. Only applies when "custom_emails" is selected.

enabled  boolean  

Whether the alert should be enabled or not.

create_crm_tasks  boolean optional  

type  string  

The type of Alert. Must be one of external,internal,anybody.

selected_model  object  

selected_model.type  string  

The type of entity within your company that the alert should fire for.

selected_model.id  integer optional  

The ID of the entity within your company that you want the alert to fire for. Leave as null when selecting "Internal" above.

selected_entities  object[] optional  

An array of objects describing which entities should trigger the alert.

selected_entities[].type  string  

The type of entity.

selected_entities[].id  integer  

The id of the entity.