MENU navbar-image

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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request DELETE \
    "https://portal.timetoreply.com/api/entities/agents/invite/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request PATCH \
    "https://portal.timetoreply.com/api/entities/agents/remind/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'domain' => 'example.com',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request PATCH \
    "https://portal.timetoreply.com/api/entities/contact-groups/1/pushDomain" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"domain\": \"example.com\"
}"

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 
{
    "id": 1,
    "name": "Top Revenue Customers",
    "members": {
        "emails": [
            "[email protected]",
            "[email protected]"
        ],
        "domains": [
            "fay.info",
            "stokes.net",
            "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": "[email protected]"
};

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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'email' => '[email protected]',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request PATCH \
    "https://portal.timetoreply.com/api/entities/contact-groups/1/pushEmail" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"email\": \"[email protected]\"
}"

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 
{
    "id": 1,
    "name": "Top Revenue Customers",
    "members": {
        "emails": [
            "[email protected]",
            "[email protected]",
            "[email protected]"
        ],
        "domains": [
            "fay.info",
            "stokes.net"
        ]
    }
}
 

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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request DELETE \
    "https://portal.timetoreply.com/api/entities/contact-groups/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'domain' => 'example.com',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request PATCH \
    "https://portal.timetoreply.com/api/entities/contact-groups/1/removeDomain" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"domain\": \"example.com\"
}"

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 
{
    "id": 1,
    "name": "Top Revenue Customers",
    "members": {
        "emails": [
            "[email protected]",
            "[email protected]"
        ],
        "domains": [
            "fay.info",
            "stokes.net"
        ]
    }
}
 

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": "[email protected]"
};

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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'email' => '[email protected]',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request PATCH \
    "https://portal.timetoreply.com/api/entities/contact-groups/1/removeEmail" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"email\": \"[email protected]\"
}"

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 
{
    "id": 1,
    "name": "Top Revenue Customers",
    "members": {
        "emails": [
            "[email protected]",
            "[email protected]"
        ],
        "domains": [
            "fay.info",
            "stokes.net"
        ]
    }
}
 

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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sort_by'=> 'name',
            'direction'=> 'asc',
            'per_page'=> '15',
            'page'=> '1',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://portal.timetoreply.com/api/entities/contact-groups?sort_by=name&direction=asc&per_page=15&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

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": "Top Revenue Customers",
            "crm_type": null,
            "customer_emails": [
                "[email protected]",
                "[email protected]"
            ],
            "customer_domains": [
                "fay.info",
                "stokes.net"
            ],
            "user_permissions": [
                7
            ],
            "search_string": "Top Revenue Customers [email protected] [email protected] fay.info stokes.net"
        },
        {
            "id": 2,
            "company_id": 1,
            "name": "Hubspot Customer Group",
            "crm_type": "hubspot",
            "customer_emails": [
                "[email protected]",
                "[email protected]"
            ],
            "customer_domains": [
                "cronin.com",
                "walter.com"
            ],
            "user_permissions": [],
            "search_string": "Hubspot Customer Group [email protected] [email protected] cronin.com walter.com"
        }
    ],
    "first_page_url": "https://portal.timetoreply.com/api/entities/contact-groups?page=1",
    "from": 1,
    "last_page": 4,
    "last_page_url": "https://portal.timetoreply.com/api/entities/contact-groups?page=4",
    "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=4",
            "label": "4",
            "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": 7
}
 

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": [
        "voluptatem"
    ]
};

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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'membersToRemove' => [
                'voluptatem',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request PATCH \
    "https://portal.timetoreply.com/api/entities/contact-groups/1/removeMembers" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"membersToRemove\": [
        \"voluptatem\"
    ]
}"

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 
{
    "id": 1,
    "name": "Top Revenue Customers",
    "members": {
        "emails": [
            "[email protected]",
            "[email protected]"
        ],
        "domains": [
            "fay.info",
            "stokes.net"
        ]
    }
}
 

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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://portal.timetoreply.com/api/entities/contact-groups/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 
{
    "id": 1,
    "name": "Top Revenue Customers",
    "email_usernames": [
        "[email protected]",
        "[email protected]"
    ],
    "customer_domains": [
        "fay.info",
        "stokes.net"
    ],
    "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": [
        "[email protected]"
    ],
    "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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'name' => 'Top Contacts',
            'emails' => [
                '[email protected]',
            ],
            'domains' => [
                'example.com',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
    "https://portal.timetoreply.com/api/entities/contact-groups" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"Top Contacts\",
    \"emails\": [
        \"[email protected]\"
    ],
    \"domains\": [
        \"example.com\"
    ]
}"

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 
{
    "id": 8,
    "name": "Top Contacts",
    "members": {
        "emails": [
            "[email protected]"
        ],
        "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": [
        "[email protected]"
    ],
    "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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'name' => 'Top Contacts',
            'emails' => [
                '[email protected]',
            ],
            'domains' => [
                'example.com',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request PUT \
    "https://portal.timetoreply.com/api/entities/contact-groups/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"Top Contacts\",
    \"emails\": [
        \"[email protected]\"
    ],
    \"domains\": [
        \"example.com\"
    ]
}"

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 
{
    "id": 1,
    "name": "Top Contacts",
    "members": {
        "emails": [
            "[email protected]"
        ],
        "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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request DELETE \
    "https://portal.timetoreply.com/api/entities/contacts/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'per_page'=> '25',
            'page'=> '1',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://portal.timetoreply.com/api/entities/contacts?per_page=25&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 
{
    "current_page": 1,
    "data": [
        {
            "id": 1,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "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": 236,
    "last_page_url": "https://portal.timetoreply.com/api/entities/contacts?page=236",
    "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=235",
            "label": "235",
            "active": false
        },
        {
            "url": "https://portal.timetoreply.com/api/entities/contacts?page=236",
            "label": "236",
            "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": 471
}
 

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": "[email protected]"
};

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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'name' => '[email protected]',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
    "https://portal.timetoreply.com/api/entities/contacts" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"[email protected]\"
}"

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 
{
    "id": 472,
    "name": "[email protected]",
    "email_usernames": [
        "[email protected]"
    ],
    "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": "[email protected]",
    "message": "aut"
};

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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'name' => 'Peter Rabbit',
            'email' => '[email protected]',
            'message' => 'aut',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
    "https://portal.timetoreply.com/api/entities/agents/it-help" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"Peter Rabbit\",
    \"email\": \"[email protected]\",
    \"message\": \"aut\"
}"

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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'per_page'=> '2',
            'page'=> '1',
            'search'=> 'Top Revenue',
            'type'=> 'all',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://portal.timetoreply.com/api/entities/search?per_page=2&page=1&search=Top+Revenue&type=all" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 
{
    "current_page": 1,
    "data": [
        {
            "id": 1,
            "name": "Top Revenue Customers",
            "email_usernames": [
                "[email protected]",
                "[email protected]"
            ],
            "customer_domains": [
                "fay.info",
                "stokes.net"
            ],
            "model_type": "Contact Group",
            "icon": "user-friends"
        },
        {
            "id": 1,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        }
    ],
    "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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://portal.timetoreply.com/api/tools/settings/message-filters/all-thread-filter-data" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

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": "Rosa Harvey",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Mailbox",
            "icon": "user-plus"
        },
        {
            "id": 2,
            "name": "Ewell Raynor",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Mailbox",
            "icon": "user-plus"
        },
        {
            "id": 3,
            "name": "John Weissnat",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Mailbox",
            "icon": "user-plus"
        }
    ],
    "teams": [
        {
            "id": 1,
            "name": "US Sales Team",
            "email_usernames": [
                "[email protected]",
                "[email protected]"
            ],
            "model_type": "Team",
            "icon": "handshake"
        },
        {
            "id": 2,
            "name": "EU Sales Team",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Team",
            "icon": "handshake"
        }
    ],
    "group_mailboxes": [
        {
            "id": 1,
            "name": "Support",
            "email_usernames": [
                "[email protected]",
                "[email protected]",
                "[email protected]"
            ],
            "model_type": "Group Mailbox",
            "icon": "users"
        },
        {
            "id": 2,
            "name": "Info",
            "email_usernames": [
                "[email protected]",
                "[email protected]"
            ],
            "model_type": "Group Mailbox",
            "icon": "users"
        }
    ],
    "customer_groups": [
        {
            "id": 1,
            "name": "Top Revenue Customers",
            "email_usernames": [
                "[email protected]",
                "[email protected]"
            ],
            "customer_domains": [
                "fay.info",
                "stokes.net"
            ],
            "model_type": "Contact Group",
            "icon": "user-friends"
        },
        {
            "id": 2,
            "name": "Hubspot Customer Group",
            "email_usernames": [
                "[email protected]",
                "[email protected]"
            ],
            "customer_domains": [
                "cronin.com",
                "walter.com"
            ],
            "model_type": "Contact Group",
            "icon": "user-friends"
        },
        {
            "id": 3,
            "name": "Active Campaign Customer Group",
            "email_usernames": [
                "[email protected]",
                "[email protected]"
            ],
            "customer_domains": [
                "lockman.info",
                "mohr.com"
            ],
            "model_type": "Contact Group",
            "icon": "user-friends"
        },
        {
            "id": 4,
            "name": "Maropost Customer Group",
            "email_usernames": [
                "[email protected]",
                "[email protected]"
            ],
            "customer_domains": [
                "will.biz",
                "walter.com"
            ],
            "model_type": "Contact Group",
            "icon": "user-friends"
        },
        {
            "id": 5,
            "name": "Constant Contact Customer Group",
            "email_usernames": [
                "[email protected]",
                "[email protected]"
            ],
            "customer_domains": [
                "reynolds.com",
                "altenwerth.biz"
            ],
            "model_type": "Contact Group",
            "icon": "user-friends"
        },
        {
            "id": 6,
            "name": "Salesforce Customer Group",
            "email_usernames": [
                "[email protected]",
                "[email protected]"
            ],
            "customer_domains": [
                "schaden.com",
                "weissnat.org"
            ],
            "model_type": "Contact Group",
            "icon": "user-friends"
        },
        {
            "id": 7,
            "name": "Zoho Customer Group",
            "email_usernames": [
                "[email protected]",
                "[email protected]"
            ],
            "customer_domains": [
                "roob.com",
                "morissette.com"
            ],
            "model_type": "Contact Group",
            "icon": "user-friends"
        }
    ],
    "customers": [
        {
            "id": 1,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 2,
            "name": "customer.com",
            "email_usernames": [
                "customer.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 3,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 4,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 5,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 6,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 7,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 8,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 9,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 10,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 11,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]icki.com"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 12,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 13,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 14,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 15,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 16,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 17,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 18,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 19,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 20,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 21,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 22,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 23,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 24,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 25,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 26,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 27,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 28,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 29,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 30,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 31,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 32,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 33,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 34,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 35,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 36,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 37,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 38,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 39,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 40,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 41,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 42,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 43,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 44,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 45,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 46,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 47,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 48,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 49,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 50,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 51,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 52,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 53,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 54,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 55,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 56,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 57,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 58,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 59,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 60,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 61,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 62,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 63,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 64,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 65,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 66,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 67,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 68,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 69,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 70,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 71,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 72,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 73,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 74,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 75,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 76,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 77,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 78,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 79,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 80,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 81,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 82,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 83,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 84,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 85,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 86,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 87,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 88,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 89,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 90,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 91,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 92,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 93,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 94,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 95,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 96,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 97,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 98,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 99,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 100,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 101,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 102,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 103,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 104,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 105,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 106,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 107,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 108,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 109,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 110,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 111,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 112,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 113,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 114,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 115,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 116,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 117,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 118,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 119,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 120,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 121,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 122,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 123,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 124,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 125,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 126,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 127,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 128,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 129,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 130,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 131,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 132,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 133,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 134,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 135,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 136,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 137,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 138,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 139,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 140,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 141,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 142,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 143,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 144,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 145,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 146,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 147,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 148,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 149,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 150,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 151,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 152,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 153,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 154,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 155,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 156,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 157,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 158,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 159,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 160,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 161,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 162,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 163,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 164,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 165,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 166,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 167,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 168,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 169,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 170,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 171,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 172,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 173,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 174,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 175,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 176,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 177,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 178,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 179,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 180,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 181,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 182,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 183,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 184,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 185,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "model_type": "Contact",
            "icon": "user"
        },
        {
            "id": 186,
            "name": "[email protected]",
            "email_usernames": [
                "[email protected]"
            ],
            "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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'ids' => [
                1,
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request DELETE \
    "https://portal.timetoreply.com/api/entities/group-mailboxes/1/agents" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"ids\": [
        1
    ]
}"

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 
{
    "current_page": 1,
    "data": [
        {
            "email": "[email protected]",
            "type": 1,
            "existing": true
        },
        {
            "email": "[email protected]",
            "type": 1,
            "existing": true
        }
    ],
    "first_page_url": "/?page=1",
    "from": 1,
    "last_page": 1,
    "last_page_url": "/?page=1",
    "links": [
        {
            "url": null,
            "label": "« Previous",
            "active": false
        },
        {
            "url": "/?page=1",
            "label": "1",
            "active": true
        },
        {
            "url": null,
            "label": "Next »",
            "active": false
        }
    ],
    "next_page_url": null,
    "path": "/",
    "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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sort_by'=> 'name',
            'direction'=> 'asc',
            'per_page'=> '2',
            'page'=> '1',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://portal.timetoreply.com/api/entities/group-mailboxes/1/agents?sort_by=name&direction=asc&per_page=2&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 
{
    "current_page": 1,
    "data": [
        {
            "email": "[email protected]",
            "type": 1,
            "existing": true
        },
        {
            "email": "[email protected]",
            "type": 1,
            "existing": true
        }
    ],
    "first_page_url": "/?page=1",
    "from": 1,
    "last_page": 1,
    "last_page_url": "/?page=1",
    "links": [
        {
            "url": null,
            "label": "« Previous",
            "active": false
        },
        {
            "url": "/?page=1",
            "label": "1",
            "active": true
        },
        {
            "url": null,
            "label": "Next »",
            "active": false
        }
    ],
    "next_page_url": null,
    "path": "/",
    "per_page": 2,
    "prev_page_url": null,
    "to": 2,
    "total": 2
}
 

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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'ids' => [
                1,
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
    "https://portal.timetoreply.com/api/entities/group-mailboxes/1/agents" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"ids\": [
        1
    ]
}"

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 
{
    "current_page": 1,
    "data": [
        {
            "email": "[email protected]",
            "type": 1,
            "existing": true
        },
        {
            "email": "[email protected]",
            "type": 1,
            "existing": true
        },
        {
            "email": "[email protected]",
            "type": 1,
            "existing": true
        }
    ],
    "first_page_url": "/?page=1",
    "from": 1,
    "last_page": 1,
    "last_page_url": "/?page=1",
    "links": [
        {
            "url": null,
            "label": "« Previous",
            "active": false
        },
        {
            "url": "/?page=1",
            "label": "1",
            "active": true
        },
        {
            "url": null,
            "label": "Next »",
            "active": false
        }
    ],
    "next_page_url": null,
    "path": "/",
    "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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request DELETE \
    "https://portal.timetoreply.com/api/entities/group-mailboxes/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'per_page'=> '25',
            'page'=> '1',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://portal.timetoreply.com/api/entities/group-mailboxes?per_page=25&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

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": [
                "[email protected]",
                "[email protected]",
                "[email protected]"
            ],
            "model_type": "Group Mailbox",
            "icon": "users"
        },
        {
            "id": 2,
            "name": "Info",
            "email_usernames": [
                "[email protected]",
                "[email protected]"
            ],
            "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": 2,
    "total": 2
}
 

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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://portal.timetoreply.com/api/entities/group-mailboxes/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 
{
    "id": 1,
    "name": "Support",
    "email_usernames": [
        "[email protected]",
        "[email protected]",
        "[email protected]"
    ],
    "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": "[email protected]",
    "aliases": [
        "[email protected]"
    ]
};

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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'name' => 'Sales Mailbox',
            'groupMailboxAddress' => '[email protected]',
            'aliases' => [
                '[email protected]',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
    "https://portal.timetoreply.com/api/entities/group-mailboxes" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"Sales Mailbox\",
    \"groupMailboxAddress\": \"[email protected]\",
    \"aliases\": [
        \"[email protected]\"
    ]
}"

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 
{
    "id": 3,
    "company_id": 1,
    "name": "Sales Mailbox",
    "first_reply_time_goal": 0,
    "overall_reply_time_goal": 0,
    "time_to_close_goal": 0,
    "created_at": "2022-01-04 11:39:10",
    "updated_at": "2022-01-04 11:39:10",
    "members": {
        "current_page": 1,
        "data": [],
        "first_page_url": "/?page=1",
        "from": null,
        "last_page": 1,
        "last_page_url": "/?page=1",
        "links": [
            {
                "url": null,
                "label": "« Previous",
                "active": false
            },
            {
                "url": "/?page=1",
                "label": "1",
                "active": true
            },
            {
                "url": null,
                "label": "Next »",
                "active": false
            }
        ],
        "next_page_url": null,
        "path": "/",
        "per_page": 2,
        "prev_page_url": null,
        "to": null,
        "total": 0
    },
    "model_type": "Group Mailbox",
    "group_mailbox_address": "[email protected]",
    "email_usernames": [
        "[email protected]",
        "[email protected]"
    ],
    "pending_invites": []
}
 

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": "[email protected]",
    "aliases": [
        "[email protected]"
    ]
};

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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'name' => 'Sales Mailbox',
            'groupMailboxAddress' => '[email protected]',
            'aliases' => [
                '[email protected]',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request PUT \
    "https://portal.timetoreply.com/api/entities/group-mailboxes/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"Sales Mailbox\",
    \"groupMailboxAddress\": \"[email protected]\",
    \"aliases\": [
        \"[email protected]\"
    ]
}"

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 
{
    "id": 1,
    "company_id": 1,
    "name": "Sales Mailbox",
    "first_reply_time_goal": 0,
    "overall_reply_time_goal": 0,
    "time_to_close_goal": 0,
    "created_at": "2022-01-04 11:38:41",
    "updated_at": "2022-01-04 11:39:10",
    "members": {
        "current_page": 1,
        "data": [
            {
                "email": "[email protected]",
                "type": 1,
                "existing": true
            },
            {
                "email": "[email protected]",
                "type": 1,
                "existing": true
            }
        ],
        "first_page_url": "/?page=1",
        "from": 1,
        "last_page": 1,
        "last_page_url": "/?page=1",
        "links": [
            {
                "url": null,
                "label": "« Previous",
                "active": false
            },
            {
                "url": "/?page=1",
                "label": "1",
                "active": true
            },
            {
                "url": null,
                "label": "Next »",
                "active": false
            }
        ],
        "next_page_url": null,
        "path": "/",
        "per_page": 2,
        "prev_page_url": null,
        "to": 2,
        "total": 2
    },
    "model_type": "Group Mailbox",
    "group_mailbox_address": "[email protected]",
    "email_usernames": [
        "[email protected]",
        "[email protected]"
    ],
    "pending_invites": []
}
 

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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request DELETE \
    "https://portal.timetoreply.com/api/entities/agents/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

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": "[email protected]",
    "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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'name' => 'Peter Rabbit',
            'type' => 1,
            'email' => '[email protected]',
            'message' => 'Hey Pete, please accept this invite.',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
    "https://portal.timetoreply.com/api/entities/agents/invite" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"Peter Rabbit\",
    \"type\": 1,
    \"email\": \"[email protected]\",
    \"message\": \"Hey Pete, please accept this invite.\"
}"

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 
{
    "success": true,
    "authURL": "https://portal.timetoreply.com/authenticate/2?expires=1641469148&signature=12c19807052a540e9f3e093955fdd3e66806fe970d370e0352f2098985435975"
}
 

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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'ids' => [
                1,
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
    "https://portal.timetoreply.com/api/tools/users/invite-as-users" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"ids\": [
        1
    ]
}"

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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sort_by'=> 'name',
            'direction'=> 'asc',
            'per_page'=> '2',
            'page'=> '1',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://portal.timetoreply.com/api/entities/agents?sort_by=name&direction=asc&per_page=2&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

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": "Rosa Harvey",
            "email": "[email protected]",
            "main_type": "Google",
            "active": true,
            "created_at": "2021-12-28 11:38:41",
            "last_used_addon": null,
            "email_usernames": [
                "[email protected]"
            ],
            "time_zone": {
                "id": 29,
                "php_timezone": "Europe/London",
                "friendly_name": "Greenwich Mean Time =>  Dublin, Edinburgh, Lisbon, London"
            },
            "newest_message_date": null,
            "ingestion_started_date": "2021-09-19 17:42:11",
            "ingestion_completed_date": "2021-04-05 11:42:30",
            "ingestion_duration": "In Progress",
            "ingestion_duration_seconds": null,
            "user_permissions": [
                7
            ],
            "search_string": "Rosa Harvey [email protected]",
            "leave_days": [],
            "work_days": [],
            "business_hours": [],
            "is_user": false
        },
        {
            "id": 2,
            "company_id": 1,
            "company_name": "timetoreply",
            "name": "Ewell Raynor",
            "email": "[email protected]",
            "main_type": "Google",
            "active": true,
            "created_at": "2021-12-28 11:38:41",
            "last_used_addon": null,
            "email_usernames": [
                "[email protected]"
            ],
            "time_zone": {
                "id": 29,
                "php_timezone": "Europe/London",
                "friendly_name": "Greenwich Mean Time =>  Dublin, Edinburgh, Lisbon, London"
            },
            "newest_message_date": null,
            "ingestion_started_date": "2021-03-04 12:09:54",
            "ingestion_completed_date": "2021-03-01 10:14:11",
            "ingestion_duration": "In Progress",
            "ingestion_duration_seconds": null,
            "user_permissions": [],
            "search_string": "Ewell Raynor [email protected]",
            "leave_days": [],
            "work_days": [],
            "business_hours": [],
            "is_user": false
        }
    ],
    "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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://portal.timetoreply.com/api/entities/agents/1/re-auth" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

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 Rosa Harvey. 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": [
        "[email protected]"
    ]
};

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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'name' => 'Peter Rabbit',
            'timeZone' => 1,
            'aliases' => [
                '[email protected]',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request PATCH \
    "https://portal.timetoreply.com/api/entities/agents/1/update" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"Peter Rabbit\",
    \"timeZone\": 1,
    \"aliases\": [
        \"[email protected]\"
    ]
}"

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 -EWS - Update

requires authentication

Update Imap Mailbox

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

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

let body = {
    "host": "outlook.office365.com\/EWS\/Exchange.asmx",
    "version": "Exchange2013",
    "username": "[email protected]",
    "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/ews',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'host' => 'outlook.office365.com/EWS/Exchange.asmx',
            'version' => 'Exchange2013',
            'username' => '[email protected]',
            'password' => 'secret',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request PATCH \
    "https://portal.timetoreply.com/api/entities/agents/1/ews" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"host\": \"outlook.office365.com\\/EWS\\/Exchange.asmx\",
    \"version\": \"Exchange2013\",
    \"username\": \"[email protected]\",
    \"password\": \"secret\"
}"

Example response (200):

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

Request   

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

URL Parameters

agent  integer  

The ID of the agent/mailbox to update.

Body Parameters

host  string  

The EWS Host.

version  string  

The EWS host version.

username  string  

The EWS username.

password  string  

The EWS password.

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": "[email protected]",
    "service_account_password": "secret",
    "emails": [
        "[email protected]"
    ]
};

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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'service_account_email' => '[email protected]',
            'service_account_password' => 'secret',
            'emails' => [
                '[email protected]',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
    "https://portal.timetoreply.com/api/entities/agents/store-bulk-exchange" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"service_account_email\": \"[email protected]\",
    \"service_account_password\": \"secret\",
    \"emails\": [
        \"[email protected]\"
    ]
}"

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.

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  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.

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": "[email protected]ail.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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'users' => [
                [
                    'email' => '[email protected]',
                    'name' => 'Peter Rabbit',
                ],
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
    "https://portal.timetoreply.com/api/entities/agents/gmail/select-bulk" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"users\": [
        {
            \"email\": \"[email protected]\",
            \"name\": \"Peter Rabbit\"
        }
    ]
}"

Example response (200):

[
    "[email protected]"
]
 

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/gmail/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/gmail/load-bulk-agents',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://portal.timetoreply.com/api/entities/agents/gmail/load-bulk-agents" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Example response (200):

No-example
 

Request   

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

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": "[email protected]",
    "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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'host' => 'mail.example.com',
            'port' => 143,
            'encryption' => 'tls',
            'username' => '[email protected]',
            'password' => 'secret',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request PATCH \
    "https://portal.timetoreply.com/api/entities/agents/1/imap" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"host\": \"mail.example.com\",
    \"port\": 143,
    \"encryption\": \"tls\",
    \"username\": \"[email protected]\",
    \"password\": \"secret\"
}"

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": [
        "[email protected]"
    ]
};

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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'emails' => [
                '[email protected]',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
    "https://portal.timetoreply.com/api/entities/agents/mimecast/select-bulk" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"emails\": [
        \"[email protected]\"
    ]
}"

Example response (200):

[
    "[email protected]"
]
 

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/mimecast/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/mimecast/load-bulk-agents',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://portal.timetoreply.com/api/entities/agents/mimecast/load-bulk-agents" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Example response (200):

No-example
 

Request   

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

Mailboxes -Mimecast - Search

requires authentication

Search potential Mimecast Mailboxes

Example request:
const url = new URL(
    "https://portal.timetoreply.com/api/entities/agents/mimecast/search-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/mimecast/search-agents',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
    "https://portal.timetoreply.com/api/entities/agents/mimecast/search-agents" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Example response (200):

No-example
 

Request   

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

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": "[email protected]",
    "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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'username' => '[email protected]',
            'password' => 'secret',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
    "https://portal.timetoreply.com/api/entities/agents/mimecast/auth" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"username\": \"[email protected]\",
    \"password\": \"secret\"
}"

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/mimecast/force-sync-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/mimecast/force-sync-agents',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
    "https://portal.timetoreply.com/api/entities/agents/mimecast/force-sync-agents" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Example response (200):

No-example
 

Request   

POST api/entities/agents/mimecast/force-sync-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/microsoft/select-bulk"
);

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

let body = {
    "users": [
        {
            "id": "12345-12345-12345",
            "mail": "[email protected]",
            "name": "Peter Rabbit",
            "userPrincipalName": "[email protected]"
        }
    ]
};

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/microsoft/select-bulk',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'users' => [
                [
                    'id' => '12345-12345-12345',
                    'mail' => '[email protected]',
                    'name' => 'Peter Rabbit',
                    'userPrincipalName' => '[email protected]',
                ],
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
    "https://portal.timetoreply.com/api/entities/agents/microsoft/select-bulk" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"users\": [
        {
            \"id\": \"12345-12345-12345\",
            \"mail\": \"[email protected]\",
            \"name\": \"Peter Rabbit\",
            \"userPrincipalName\": \"[email protected]\"
        }
    ]
}"

Example response (200):

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

Request   

POST api/entities/agents/microsoft/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/microsoft/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/microsoft/load-bulk-agents',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://portal.timetoreply.com/api/entities/agents/microsoft/load-bulk-agents" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Example response (200):

{
    "name": "Peter Rabbit",
    "id": "12345abcd",
    "mail": "[email protected]",
    "userPrincipalName": "[email protected]"
}
 

Request   

GET api/entities/agents/microsoft/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/microsoft/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/microsoft/search-bulk-agents',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'search'=> 'peter',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://portal.timetoreply.com/api/entities/agents/microsoft/search-bulk-agents?search=peter" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Example response (200):

No-example
 

Request   

GET api/entities/agents/microsoft/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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'ids' => [
                1,
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request DELETE \
    "https://portal.timetoreply.com/api/entities/teams/1/agents" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"ids\": [
        1
    ]
}"

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 
{
    "current_page": 1,
    "data": [
        {
            "email": "[email protected]",
            "type": 1,
            "existing": true
        },
        {
            "email": "[email protected]",
            "type": 1,
            "existing": true
        }
    ],
    "first_page_url": "/?page=1",
    "from": 1,
    "last_page": 1,
    "last_page_url": "/?page=1",
    "links": [
        {
            "url": null,
            "label": "« Previous",
            "active": false
        },
        {
            "url": "/?page=1",
            "label": "1",
            "active": true
        },
        {
            "url": null,
            "label": "Next »",
            "active": false
        }
    ],
    "next_page_url": null,
    "path": "/",
    "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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sort_by'=> 'name',
            'direction'=> 'asc',
            'per_page'=> '2',
            'page'=> '1',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://portal.timetoreply.com/api/entities/teams/1/agents?sort_by=name&direction=asc&per_page=2&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 
{
    "current_page": 1,
    "data": [
        {
            "email": "[email protected]",
            "type": 1,
            "existing": true
        },
        {
            "email": "[email protected]",
            "type": 1,
            "existing": true
        }
    ],
    "first_page_url": "/?page=1",
    "from": 1,
    "last_page": 1,
    "last_page_url": "/?page=1",
    "links": [
        {
            "url": null,
            "label": "« Previous",
            "active": false
        },
        {
            "url": "/?page=1",
            "label": "1",
            "active": true
        },
        {
            "url": null,
            "label": "Next »",
            "active": false
        }
    ],
    "next_page_url": null,
    "path": "/",
    "per_page": 2,
    "prev_page_url": null,
    "to": 2,
    "total": 2
}
 

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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'ids' => [
                1,
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
    "https://portal.timetoreply.com/api/entities/teams/1/agents" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"ids\": [
        1
    ]
}"

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 
{
    "current_page": 1,
    "data": [
        {
            "email": "[email protected]",
            "type": 1,
            "existing": true
        },
        {
            "email": "[email protected]",
            "type": 1,
            "existing": true
        },
        {
            "email": "[email protected]",
            "type": 1,
            "existing": true
        }
    ],
    "first_page_url": "/?page=1",
    "from": 1,
    "last_page": 1,
    "last_page_url": "/?page=1",
    "links": [
        {
            "url": null,
            "label": "« Previous",
            "active": false
        },
        {
            "url": "/?page=1",
            "label": "1",
            "active": true
        },
        {
            "url": null,
            "label": "Next »",
            "active": false
        }
    ],
    "next_page_url": null,
    "path": "/",
    "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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request DELETE \
    "https://portal.timetoreply.com/api/entities/teams/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'per_page'=> '25',
            'page'=> '1',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://portal.timetoreply.com/api/entities/teams?per_page=25&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

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": [
                "[email protected]",
                "[email protected]"
            ],
            "model_type": "Team",
            "icon": "handshake"
        },
        {
            "id": 2,
            "name": "EU Sales Team",
            "email_usernames": [
                "[email protected]"
            ],
            "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": 2,
    "total": 2
}
 

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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://portal.timetoreply.com/api/entities/teams/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 
{
    "id": 1,
    "name": "US Sales Team",
    "email_usernames": [
        "[email protected]",
        "[email protected]"
    ],
    "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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'name' => 'US Support Team',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
    "https://portal.timetoreply.com/api/entities/teams" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"US Support Team\"
}"

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 
{
    "id": 3,
    "company_id": 1,
    "name": "US Support Team",
    "first_reply_time_goal": 0,
    "overall_reply_time_goal": 0,
    "time_to_close_goal": 0,
    "created_at": "2022-01-04 11:39:10",
    "updated_at": "2022-01-04 11:39:10",
    "members": {
        "current_page": 1,
        "data": [],
        "first_page_url": "/?page=1",
        "from": null,
        "last_page": 1,
        "last_page_url": "/?page=1",
        "links": [
            {
                "url": null,
                "label": "« Previous",
                "active": false
            },
            {
                "url": "/?page=1",
                "label": "1",
                "active": true
            },
            {
                "url": null,
                "label": "Next »",
                "active": false
            }
        ],
        "next_page_url": null,
        "path": "/",
        "per_page": 25,
        "prev_page_url": null,
        "to": null,
        "total": 0
    },
    "model_type": "Team",
    "members_count": 0,
    "pending_invites": []
}
 

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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'name' => 'US Support Team',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request PUT \
    "https://portal.timetoreply.com/api/entities/teams/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"US Support Team\"
}"

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 
{
    "id": 1,
    "company_id": 1,
    "name": "US Support Team",
    "first_reply_time_goal": 0,
    "overall_reply_time_goal": 0,
    "time_to_close_goal": 0,
    "created_at": "2022-01-04 11:38:41",
    "updated_at": "2022-01-04 11:39:10",
    "members": {
        "current_page": 1,
        "data": [
            {
                "email": "[email protected]",
                "type": 1,
                "existing": true
            },
            {
                "email": "[email protected]",
                "type": 1,
                "existing": true
            }
        ],
        "first_page_url": "/?page=1",
        "from": 1,
        "last_page": 1,
        "last_page_url": "/?page=1",
        "links": [
            {
                "url": null,
                "label": "« Previous",
                "active": false
            },
            {
                "url": "/?page=1",
                "label": "1",
                "active": true
            },
            {
                "url": null,
                "label": "Next »",
                "active": false
            }
        ],
        "next_page_url": null,
        "path": "/",
        "per_page": 25,
        "prev_page_url": null,
        "to": 2,
        "total": 2
    },
    "model_type": "Team",
    "members_count": 2,
    "pending_invites": []
}
 

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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'ids' => [
                8,
                6,
                7,
                5,
                3,
                0,
                9,
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
    "https://portal.timetoreply.com/api/logs/conversations/mark-closed" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"ids\": [
        8,
        6,
        7,
        5,
        3,
        0,
        9
    ]
}"

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": "[email protected]",
};
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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'internet_message_id'=> '[email protected]',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://portal.timetoreply.com/api/logs/conversations/get-by-internet-message-id?internet_message_id=1601678270iYOoAwCjDD%40TnlYu0KwPhwXxhcTAeHFJMHlI.DrfT" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 
{
    "id": 33,
    "init_agent_reply_time": 12233,
    "init_agent_action_time": 12233,
    "total_agent_reply_time": 14041,
    "last_received_at_date_time": "Dec 23rd 2021 15:12:27",
    "thread_type": "inbound",
    "thread_status": "closed",
    "raw_init_agent_reply_time": 12233,
    "init_agent_reply_message_id": "[email protected]",
    "init_reply_agent_id": 1,
    "time_to_close": 15082,
    "raw_time_to_close": 15082,
    "friendly_initial_reply_time": "03h:23m:53s",
    "friendly_raw_initial_reply_time": "03h:23m:53s",
    "friendly_total_reply_time": "03h:54m:01s",
    "microsoft_conversations": [],
    "email_usernames": [
        "[email protected]",
        "[email protected]",
        "[email protected]"
    ],
    "email_usernames_from": [
        "[email protected]",
        "[email protected]"
    ],
    "email_usernames_to": [
        "[email protected]",
        "[email protected]",
        "[email protected]"
    ],
    "email_usernames_received": [
        "[email protected]",
        "[email protected]",
        "[email protected]"
    ],
    "email_domains": [
        "hessel.org",
        "timetoreply.com"
    ],
    "date_times": [
        "2021-12-23 11:01:05",
        "2021-12-23 14:24:58",
        "2021-12-23 14:55:06",
        "2021-12-23 15:12:27"
    ],
    "message_classifications": [
        "first",
        "reply",
        "forward"
    ],
    "message_subjects": [
        "Et optio et et vel tempora facere.",
        "RE: Et optio et et vel tempora facere.",
        "FW: Et optio et et vel tempora facere."
    ],
    "messages": [
        {
            "internet_message_id": "[email protected]",
            "date_time": "Dec 23rd 2021 15:12:27",
            "subject": "FW: Et optio et et vel tempora facere. (Excluded from statistics because it's a closing email)",
            "references": [
                "[email protected]",
                "[email protected]",
                "[email protected]",
                "[email protected]",
                "[email protected]",
                "[email protected]",
                "[email protected]",
                "[email protected]"
            ],
            "replytime": null,
            "classification": "forward",
            "raw_replytime": null,
            "friendly_reply_time": "Pending",
            "friendly_raw_reply_time": "Pending",
            "email_domains": [
                "timetoreply.com"
            ],
            "email_domains_from": [
                "timetoreply.com"
            ],
            "email_domains_to": [
                "timetoreply.com"
            ],
            "email_domains_received": [
                "timetoreply.com"
            ],
            "email_usernames": [
                "[email protected]",
                "[email protected]"
            ],
            "email_usernames_from": [
                "[email protected]"
            ],
            "email_usernames_to": [
                "[email protected]"
            ],
            "email_usernames_cc": [],
            "email_usernames_received": [
                "[email protected]"
            ],
            "is_initial_reply": false,
            "thread_ids": [
                33
            ],
            "message_type": "internal",
            "labels": [],
            "is_closing_email": true,
            "is_included_in_stats": true,
            "timestamp": 1640272347,
            "reply_is_relevant": true,
            "reply_is_outlier": false,
            "agents_read_status": []
        },
        {
            "internet_message_id": "[email protected]",
            "date_time": "Dec 23rd 2021 14:55:06",
            "subject": "RE: Et optio et et vel tempora facere.",
            "references": [
                "[email protected]",
                "[email protected]",
                "[email protected]",
                "[email protected]",
                "[email protected]",
                "1477220780igaz9H[email protected]",
                "[email protected]"
            ],
            "replytime": 1808,
            "classification": "reply",
            "raw_replytime": 1808,
            "friendly_reply_time": "30m:08s",
            "friendly_raw_reply_time": "30m:08s",
            "email_domains": [
                "hessel.org",
                "timetoreply.com"
            ],
            "email_domains_from": [
                "hessel.org"
            ],
            "email_domains_to": [
                "timetoreply.com"
            ],
            "email_domains_received": [
                "timetoreply.com"
            ],
            "email_usernames": [
                "[email protected]",
                "[email protected]"
            ],
            "email_usernames_from": [
                "[email protected]"
            ],
            "email_usernames_to": [
                "[email protected]"
            ],
            "email_usernames_cc": [],
            "email_usernames_received": [
                "[email protected]"
            ],
            "is_initial_reply": false,
            "thread_ids": [
                33
            ],
            "message_type": "inbound",
            "labels": [],
            "is_closing_email": false,
            "is_included_in_stats": true,
            "timestamp": 1640271306,
            "reply_is_relevant": false,
            "reply_is_outlier": false,
            "agents_read_status": {
                "[email protected]": true
            }
        },
        {
            "internet_message_id": "[email protected]",
            "date_time": "Dec 23rd 2021 14:24:58",
            "subject": "RE: Et optio et et vel tempora facere.",
            "references": [
                "[email protected]",
                "[email protected]",
                "[email protected]",
                "[email protected]",
                "[email protected]",
                "[email protected]"
            ],
            "replytime": 12233,
            "classification": "reply",
            "raw_replytime": 12233,
            "friendly_reply_time": "03h:23m:53s",
            "friendly_raw_reply_time": "03h:23m:53s",
            "email_domains": [
                "timetoreply.com",
                "hessel.org"
            ],
            "email_domains_from": [
                "timetoreply.com"
            ],
            "email_domains_to": [
                "hessel.org"
            ],
            "email_domains_received": [
                "hessel.org"
            ],
            "email_usernames": [
                "[email protected]",
                "[email protected]"
            ],
            "email_usernames_from": [
                "[email protected]"
            ],
            "email_usernames_to": [
                "[email protected]"
            ],
            "email_usernames_cc": [],
            "email_usernames_received": [
                "arely.to[email protected]"
            ],
            "is_initial_reply": true,
            "thread_ids": [
                33
            ],
            "message_type": "outbound",
            "labels": [],
            "is_closing_email": false,
            "is_included_in_stats": true,
            "timestamp": 1640269498,
            "reply_is_relevant": true,
            "reply_is_outlier": false,
            "agents_read_status": []
        },
        {
            "internet_message_id": "[email protected]",
            "date_time": "Dec 23rd 2021 11:01:05",
            "subject": "Et optio et et vel tempora facere.",
            "references": [
                "[email protected]",
                "[email protected]",
                "[email protected]",
                "[email protected]",
                "[email protected]"
            ],
            "replytime": null,
            "classification": "first",
            "raw_replytime": null,
            "friendly_reply_time": "N/A",
            "friendly_raw_reply_time": "N/A",
            "email_domains": [
                "hessel.org",
                "timetoreply.com"
            ],
            "email_domains_from": [
                "hessel.org"
            ],
            "email_domains_to": [
                "timetoreply.com"
            ],
            "email_domains_received": [
                "timetoreply.com"
            ],
            "email_usernames": [
                "[email protected]",
                "[email protected]"
            ],
            "email_usernames_from": [
                "[email protected]"
            ],
            "email_usernames_to": [
                "[email protected]"
            ],
            "email_usernames_cc": [],
            "email_usernames_received": [
                "[email protected]"
            ],
            "is_initial_reply": false,
            "thread_ids": [
                33
            ],
            "message_type": "inbound",
            "labels": [
                "UNREAD"
            ],
            "is_closing_email": false,
            "is_included_in_stats": true,
            "timestamp": 1640257265,
            "reply_is_relevant": false,
            "reply_is_outlier": false,
            "agents_read_status": {
                "[email protected]": false
            }
        }
    ],
    "labels": [
        "UNREAD"
    ],
    "has_contact_success": true,
    "contact_success_time": 14041,
    "contact_reply_time": 1808,
    "subject": "FW: Et optio et et vel tempora facere.",
    "initial_reply_is_relevant": true,
    "initial_reply_is_outlier": false,
    "friendly_time_to_close": "04h:11m",
    "friendly_raw_time_to_close": "04h:11m"
}
 

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": "0",
    "model_com": "Top Revenue Contacts",
    "model_type_com": "Contact Group",
    "exclude_cc_com": "0",
    "exclusive": "0",
    "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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'from'=> '2020-01-01',
            'to'=> '2020-01-08',
            'model'=> 'My Company',
            'model_type'=> 'Internal',
            'exclude_cc'=> '0',
            'model_com'=> 'Top Revenue Contacts',
            'model_type_com'=> 'Contact Group',
            'exclude_cc_com'=> '0',
            'exclusive'=> '0',
            '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));
curl --request GET \
    --get "https://portal.timetoreply.com/api/logs/conversations?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%2Coutbound%2Cinternal&thread_status=internal%2Cawait-customer%2Cclosed%2Cawait-agent&has_replies=hasReplies%2ChasForwards%2ChasNoRepliesOrForwards&classification=calculating%2Cfirst%2Creply%2Creply-all%2Cforward&messageType=inbound%2Coutbound%2Cinternal&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" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 
{
    "threads": {
        "current_page": 1,
        "data": [
            {
                "id": 327,
                "init_agent_reply_time": null,
                "init_agent_action_time": null,
                "total_agent_reply_time": 0,
                "last_received_at_date_time": "Jan 4th 2022 01:10:12",
                "thread_type": "inbound",
                "thread_status": "await-agent",
                "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": [
                    "[email protected]",
                    "[email protected]"
                ],
                "email_usernames_from": [
                    "[email protected]"
                ],
                "email_usernames_to": [
                    "[email protected]"
                ],
                "email_usernames_received": [
                    "[email protected]"
                ],
                "email_domains": [
                    "hill.com",
                    "timetoreply.com"
                ],
                "date_times": [
                    "2022-01-04 01:10:12"
                ],
                "message_classifications": [
                    "first"
                ],
                "message_subjects": [
                    "Minus voluptates voluptatibus veritatis ea corporis sit molestias."
                ],
                "messages": [
                    {
                        "internet_message_id": "[email protected]",
                        "date_time": "Jan 4th 2022 01:10:12",
                        "subject": "Minus voluptates voluptatibus veritatis ea corporis sit molestias.",
                        "references": null,
                        "replytime": null,
                        "classification": "first",
                        "raw_replytime": null,
                        "friendly_reply_time": "N/A",
                        "friendly_raw_reply_time": "N/A",
                        "email_domains": [
                            "hill.com",
                            "timetoreply.com"
                        ],
                        "email_domains_from": [
                            "hill.com"
                        ],
                        "email_domains_to": [
                            "timetoreply.com"
                        ],
                        "email_domains_received": [
                            "timetoreply.com"
                        ],
                        "email_usernames": [
                            "[email protected]",
                            "[email protected]"
                        ],
                        "email_usernames_from": [
                            "[email protected]"
                        ],
                        "email_usernames_to": [
                            "[email protected]"
                        ],
                        "email_usernames_cc": [],
                        "email_usernames_received": [
                            "[email protected]"
                        ],
                        "is_initial_reply": false,
                        "thread_ids": [
                            327
                        ],
                        "message_type": "inbound",
                        "labels": [],
                        "is_closing_email": false,
                        "is_included_in_stats": true,
                        "timestamp": 1641258612,
                        "reply_is_relevant": false,
                        "reply_is_outlier": false,
                        "agents_read_status": []
                    }
                ],
                "labels": [],
                "has_contact_success": false,
                "contact_success_time": null,
                "contact_reply_time": null,
                "subject": "Minus voluptates voluptatibus veritatis ea corporis sit molestias.",
                "initial_reply_is_relevant": true,
                "initial_reply_is_outlier": false,
                "friendly_time_to_close": "N/A",
                "friendly_raw_time_to_close": "N/A"
            },
            {
                "id": 20,
                "init_agent_reply_time": 0,
                "init_agent_action_time": 0,
                "total_agent_reply_time": 180,
                "last_received_at_date_time": "Jan 3rd 2022 17:57:27",
                "thread_type": "inbound",
                "thread_status": "await-customer",
                "raw_init_agent_reply_time": 1758,
                "init_agent_reply_message_id": "[email protected]",
                "init_reply_agent_id": 1,
                "time_to_close": null,
                "raw_time_to_close": null,
                "friendly_initial_reply_time": "00s",
                "friendly_raw_initial_reply_time": "29m:18s",
                "friendly_total_reply_time": "03m:00s",
                "microsoft_conversations": [
                    "T680QHLAl9IODeaw2f",
                    "02IDrWSJe723kgWktV",
                    "YpqfNQrTRZc0nNcRfc"
                ],
                "email_usernames": [
                    "[email protected]",
                    "[email protected]"
                ],
                "email_usernames_from": [
                    "[email protected]",
                    "[email protected]"
                ],
                "email_usernames_to": [
                    "[email protected]",
                    "[email protected]"
                ],
                "email_usernames_received": [
                    "[email protected]",
                    "[email protected]"
                ],
                "email_domains": [
                    "veum.com",
                    "timetoreply.com"
                ],
                "date_times": [
                    "2022-01-03 17:23:33",
                    "2022-01-03 17:52:51",
                    "2022-01-03 17:55:51",
                    "2022-01-03 17:57:27"
                ],
                "message_classifications": [
                    "first",
                    "reply"
                ],
                "message_subjects": [
                    "Deserunt eaque iusto consequatur laudantium sequi.",
                    "RE: Deserunt eaque iusto consequatur laudantium sequi."
                ],
                "messages": [
                    {
                        "internet_message_id": "[email protected]",
                        "date_time": "Jan 3rd 2022 17:57:27",
                        "subject": "RE: Deserunt eaque iusto consequatur laudantium sequi.",
                        "references": [
                            "[email protected]",
                            "[email protected]",
                            "[email protected]"
                        ],
                        "replytime": 0,
                        "classification": "reply",
                        "raw_replytime": 96,
                        "friendly_reply_time": "00s",
                        "friendly_raw_reply_time": "01m:36s",
                        "email_domains": [
                            "timetoreply.com",
                            "veum.com"
                        ],
                        "email_domains_from": [
                            "timetoreply.com"
                        ],
                        "email_domains_to": [
                            "veum.com"
                        ],
                        "email_domains_received": [
                            "veum.com"
                        ],
                        "email_usernames": [
                            "[email protected]",
                            "[email protected]"
                        ],
                        "email_usernames_from": [
                            "[email protected]"
                        ],
                        "email_usernames_to": [
                            "[email protected]"
                        ],
                        "email_usernames_cc": [],
                        "email_usernames_received": [
                            "[email protected]"
                        ],
                        "is_initial_reply": false,
                        "thread_ids": [
                            20
                        ],
                        "message_type": "outbound",
                        "labels": [],
                        "is_closing_email": false,
                        "is_included_in_stats": true,
                        "timestamp": 1641232647,
                        "reply_is_relevant": true,
                        "reply_is_outlier": false,
                        "agents_read_status": []
                    },
                    {
                        "internet_message_id": "[email protected]",
                        "date_time": "Jan 3rd 2022 17:55:51",
                        "subject": "RE: Deserunt eaque iusto consequatur laudantium sequi.",
                        "references": [
                            "[email protected]",
                            "[email protected]"
                        ],
                        "replytime": 180,
                        "classification": "reply",
                        "raw_replytime": 180,
                        "friendly_reply_time": "03m:00s",
                        "friendly_raw_reply_time": "03m:00s",
                        "email_domains": [
                            "veum.com",
                            "timetoreply.com"
                        ],
                        "email_domains_from": [
                            "veum.com"
                        ],
                        "email_domains_to": [
                            "timetoreply.com"
                        ],
                        "email_domains_received": [
                            "timetoreply.com"
                        ],
                        "email_usernames": [
                            "[email protected]",
                            "[email protected]"
                        ],
                        "email_usernames_from": [
                            "[email protected]"
                        ],
                        "email_usernames_to": [
                            "[email protected]"
                        ],
                        "email_usernames_cc": [],
                        "email_usernames_received": [
                            "[email protected]"
                        ],
                        "is_initial_reply": false,
                        "thread_ids": [
                            20
                        ],
                        "message_type": "inbound",
                        "labels": [],
                        "is_closing_email": false,
                        "is_included_in_stats": true,
                        "timestamp": 1641232551,
                        "reply_is_relevant": false,
                        "reply_is_outlier": false,
                        "agents_read_status": {
                            "[email protected]": true
                        }
                    },
                    {
                        "internet_message_id": "[email protected]",
                        "date_time": "Jan 3rd 2022 17:52:51",
                        "subject": "RE: Deserunt eaque iusto consequatur laudantium sequi.",
                        "references": [
                            "[email protected]"
                        ],
                        "replytime": 0,
                        "classification": "reply",
                        "raw_replytime": 1758,
                        "friendly_reply_time": "00s",
                        "friendly_raw_reply_time": "29m:18s",
                        "email_domains": [
                            "timetoreply.com",
                            "veum.com"
                        ],
                        "email_domains_from": [
                            "timetoreply.com"
                        ],
                        "email_domains_to": [
                            "veum.com"
                        ],
                        "email_domains_received": [
                            "veum.com"
                        ],
                        "email_usernames": [
                            "[email protected]",
                            "[email protected]"
                        ],
                        "email_usernames_from": [
                            "[email protected]"
                        ],
                        "email_usernames_to": [
                            "[email protected]"
                        ],
                        "email_usernames_cc": [],
                        "email_usernames_received": [
                            "[email protected]"
                        ],
                        "is_initial_reply": true,
                        "thread_ids": [
                            20
                        ],
                        "message_type": "outbound",
                        "labels": [
                            "UNREAD"
                        ],
                        "is_closing_email": false,
                        "is_included_in_stats": true,
                        "timestamp": 1641232371,
                        "reply_is_relevant": true,
                        "reply_is_outlier": false,
                        "agents_read_status": []
                    },
                    {
                        "internet_message_id": "[email protected]",
                        "date_time": "Jan 3rd 2022 17:23:33",
                        "subject": "Deserunt eaque iusto consequatur laudantium sequi.",
                        "references": null,
                        "replytime": null,
                        "classification": "first",
                        "raw_replytime": null,
                        "friendly_reply_time": "N/A",
                        "friendly_raw_reply_time": "N/A",
                        "email_domains": [
                            "veum.com",
                            "timetoreply.com"
                        ],
                        "email_domains_from": [
                            "veum.com"
                        ],
                        "email_domains_to": [
                            "timetoreply.com"
                        ],
                        "email_domains_received": [
                            "timetoreply.com"
                        ],
                        "email_usernames": [
                            "[email protected]",
                            "[email protected]"
                        ],
                        "email_usernames_from": [
                            "[email protected]"
                        ],
                        "email_usernames_to": [
                            "[email protected]"
                        ],
                        "email_usernames_cc": [],
                        "email_usernames_received": [
                            "[email protected]"
                        ],
                        "is_initial_reply": false,
                        "thread_ids": [
                            20
                        ],
                        "message_type": "inbound",
                        "labels": [
                            "UNREAD"
                        ],
                        "is_closing_email": false,
                        "is_included_in_stats": true,
                        "timestamp": 1641230613,
                        "reply_is_relevant": false,
                        "reply_is_outlier": false,
                        "agents_read_status": {
                            "[email protected]": false
                        }
                    }
                ],
                "labels": [
                    "UNREAD"
                ],
                "has_contact_success": true,
                "contact_success_time": 180,
                "contact_reply_time": 180,
                "subject": "RE: Deserunt eaque iusto consequatur laudantium sequi.",
                "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": 95,
        "last_page_url": "https://portal.timetoreply.com/api/logs/conversations?page=95",
        "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=94",
                "label": "94",
                "active": false
            },
            {
                "url": "https://portal.timetoreply.com/api/logs/conversations?page=95",
                "label": "95",
                "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": 189
    },
    "stats": {
        "threads": {
            "total": 189,
            "internal": 14,
            "inbound": 150,
            "outbound": 25,
            "sent_internally": 0,
            "await_customer": 0,
            "await_agent": 0,
            "closed": 0,
            "have_replies": 148,
            "have_replies_from_agents": 141,
            "completionRatio": {
                "ratio": "83.33%",
                "numerator": 125,
                "denominator": 150
            }
        },
        "messages": {
            "count": 0,
            "initial": 0,
            "replies": 0,
            "reply_all": 0,
            "forward": 0,
            "follow_up": 0,
            "received": {
                "count": 0,
                "initial": 0,
                "replies": 0,
                "reply_all": 0,
                "forward": 0,
                "follow_up": 0,
                "initial_replies": 0,
                "dayOfWeek": {
                    "Monday": 0,
                    "Tuesday": 0,
                    "Wednesday": 0,
                    "Thursday": 0,
                    "Friday": 0,
                    "Saturday": 0,
                    "Sunday": 0
                },
                "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,
                    "10:00": 0,
                    "11:00": 0,
                    "12:00": 0,
                    "13:00": 0,
                    "14:00": 0,
                    "15:00": 0,
                    "16:00": 0,
                    "17:00": 0,
                    "18:00": 0,
                    "19:00": 0,
                    "20:00": 0,
                    "21:00": 0,
                    "22:00": 0,
                    "23:00": 0
                }
            },
            "sent": {
                "count": 0,
                "initial": 0,
                "replies": 0,
                "reply_all": 0,
                "forward": 0,
                "follow_up": 0,
                "initial_replies": 125,
                "dayOfWeek": {
                    "Monday": 0,
                    "Tuesday": 0,
                    "Wednesday": 0,
                    "Thursday": 0,
                    "Friday": 0,
                    "Saturday": 0,
                    "Sunday": 0
                },
                "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,
                    "10:00": 0,
                    "11:00": 0,
                    "12:00": 0,
                    "13:00": 0,
                    "14:00": 0,
                    "15:00": 0,
                    "16:00": 0,
                    "17:00": 0,
                    "18:00": 0,
                    "19:00": 0,
                    "20:00": 0,
                    "21:00": 0,
                    "22:00": 0,
                    "23:00": 0
                }
            }
        },
        "overallTTR": {
            "friendly": "N/A",
            "raw": null,
            "friendly_no_business": "N/A",
            "raw_no_business": null,
            "percentileRanks": [],
            "percentileRanksRaw": [],
            "within_sla": 0,
            "sla_breach": 0
        },
        "initialTTR": {
            "friendly": "01h:14m",
            "raw": 4494.648,
            "friendly_no_business": "03h:37m",
            "raw_no_business": 13027.032,
            "percentileRanks": [],
            "percentileRanksRaw": [],
            "closed_within_sla": 0,
            "closed_sla_breach": 0,
            "in_progress_within_sla": 0,
            "in_progress_sla_breach": 0,
            "unhandled_within_sla": 0,
            "unhandled_sla_breach": 0,
            "within_sla": 0,
            "sla_breach": 0
        },
        "overallTTF": {
            "friendly": "N/A",
            "raw": null,
            "friendly_no_business": "N/A",
            "raw_no_business": null
        },
        "overallTTC": {
            "friendly": "N/A",
            "raw": null,
            "friendly_no_business": "N/A",
            "raw_no_business": null,
            "percentileRanks": [],
            "percentileRanksRaw": [],
            "closed_within_sla": 0,
            "closed_sla_breach": 0,
            "in_progress_within_sla": 0,
            "in_progress_sla_breach": 0,
            "unhandled_within_sla": 0,
            "unhandled_sla_breach": 0,
            "within_sla": 0,
            "sla_breach": 0
        },
        "dailyStats": []
    }
}
 

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,follow-up.

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": "0",
    "model_com": "Top Revenue Contacts",
    "model_type_com": "Contact Group",
    "exclude_cc_com": "0",
    "exclusive": "0",
    "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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'from'=> '2020-01-01',
            'to'=> '2020-01-08',
            'model'=> 'My Company',
            'model_type'=> 'Internal',
            'exclude_cc'=> '0',
            'model_com'=> 'Top Revenue Contacts',
            'model_type_com'=> 'Contact Group',
            'exclude_cc_com'=> '0',
            'exclusive'=> '0',
            '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));
curl --request GET \
    --get "https://portal.timetoreply.com/api/logs/messages?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%2Coutbound%2Cinternal&thread_status=internal%2Cawait-customer%2Cclosed%2Cawait-agent&has_replies=hasReplies%2ChasForwards%2ChasNoRepliesOrForwards&classification=calculating%2Cfirst%2Creply%2Creply-all%2Cforward&messageType=inbound%2Coutbound%2Cinternal&replies_over=15&message_replies_over=15&no_reply_for=15&per_page=2&sort_by=date_time&direction=desc&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 
{
    "stats": {
        "threads": {
            "total": 0,
            "internal": 0,
            "inbound": 0,
            "outbound": 0,
            "sent_internally": 0,
            "await_customer": 0,
            "await_agent": 0,
            "closed": 0,
            "have_replies": 0,
            "have_replies_from_agents": 0,
            "completionRatio": {
                "ratio": "0.00%",
                "numerator": 0,
                "denominator": 0
            }
        },
        "messages": {
            "count": 488,
            "initial": 0,
            "replies": 0,
            "reply_all": 0,
            "forward": 0,
            "follow_up": 0,
            "received": {
                "count": 322,
                "initial": 159,
                "replies": 114,
                "reply_all": 43,
                "forward": 6,
                "follow_up": 0,
                "initial_replies": 0,
                "dayOfWeek": {
                    "Monday": 0,
                    "Tuesday": 0,
                    "Wednesday": 0,
                    "Thursday": 0,
                    "Friday": 0,
                    "Saturday": 0,
                    "Sunday": 0
                },
                "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,
                    "10:00": 0,
                    "11:00": 0,
                    "12:00": 0,
                    "13:00": 0,
                    "14:00": 0,
                    "15:00": 0,
                    "16:00": 0,
                    "17:00": 0,
                    "18:00": 0,
                    "19:00": 0,
                    "20:00": 0,
                    "21:00": 0,
                    "22:00": 0,
                    "23:00": 0
                }
            },
            "sent": {
                "count": 230,
                "initial": 37,
                "replies": 159,
                "reply_all": 28,
                "forward": 6,
                "follow_up": 0,
                "initial_replies": 0,
                "dayOfWeek": {
                    "Monday": 0,
                    "Tuesday": 0,
                    "Wednesday": 0,
                    "Thursday": 0,
                    "Friday": 0,
                    "Saturday": 0,
                    "Sunday": 0
                },
                "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,
                    "10:00": 0,
                    "11:00": 0,
                    "12:00": 0,
                    "13:00": 0,
                    "14:00": 0,
                    "15:00": 0,
                    "16:00": 0,
                    "17:00": 0,
                    "18:00": 0,
                    "19:00": 0,
                    "20:00": 0,
                    "21:00": 0,
                    "22:00": 0,
                    "23:00": 0
                }
            }
        },
        "overallTTR": {
            "friendly": "01h:34m",
            "raw": 5682.850267379679,
            "friendly_no_business": "04h:28m",
            "raw_no_business": 16138.417112299465,
            "percentileRanks": [],
            "percentileRanksRaw": [],
            "within_sla": 0,
            "sla_breach": 230
        },
        "initialTTR": {
            "friendly": "N/A",
            "raw": null,
            "friendly_no_business": "N/A",
            "raw_no_business": null,
            "percentileRanks": [],
            "percentileRanksRaw": [],
            "closed_within_sla": 0,
            "closed_sla_breach": 0,
            "in_progress_within_sla": 0,
            "in_progress_sla_breach": 0,
            "unhandled_within_sla": 0,
            "unhandled_sla_breach": 0,
            "within_sla": 0,
            "sla_breach": 0
        },
        "overallTTF": {
            "friendly": "N/A",
            "raw": null,
            "friendly_no_business": "N/A",
            "raw_no_business": null
        },
        "overallTTC": {
            "friendly": "N/A",
            "raw": null,
            "friendly_no_business": "N/A",
            "raw_no_business": null,
            "percentileRanks": [],
            "percentileRanksRaw": [],
            "closed_within_sla": 0,
            "closed_sla_breach": 0,
            "in_progress_within_sla": 0,
            "in_progress_sla_breach": 0,
            "unhandled_within_sla": 0,
            "unhandled_sla_breach": 0,
            "within_sla": 0,
            "sla_breach": 0
        },
        "dailyStats": []
    },
    "messages": {
        "current_page": 1,
        "data": [
            {
                "internet_message_id": "[email protected]",
                "date_time": "Jan 4th 2022 01:10:12",
                "subject": "Minus voluptates voluptatibus veritatis ea corporis sit molestias.",
                "references": null,
                "replytime": null,
                "classification": "first",
                "raw_replytime": null,
                "friendly_reply_time": "N/A",
                "friendly_raw_reply_time": "N/A",
                "email_domains": [
                    "hill.com",
                    "timetoreply.com"
                ],
                "email_domains_from": [
                    "hill.com"
                ],
                "email_domains_to": [
                    "timetoreply.com"
                ],
                "email_domains_received": [
                    "timetoreply.com"
                ],
                "email_usernames": [
                    "[email protected]",
                    "[email protected]"
                ],
                "email_usernames_from": [
                    "[email protected]"
                ],
                "email_usernames_to": [
                    "[email protected]"
                ],
                "email_usernames_cc": [],
                "email_usernames_received": [
                    "[email protected]"
                ],
                "is_initial_reply": false,
                "thread_ids": [
                    327
                ],
                "message_type": "inbound",
                "labels": [],
                "is_closing_email": false,
                "is_included_in_stats": true,
                "timestamp": 1641258612,
                "reply_is_relevant": false,
                "reply_is_outlier": false,
                "agents_read_status": [],
                "thread_message_count": 1
            },
            {
                "internet_message_id": "[email protected]",
                "date_time": "Jan 3rd 2022 17:57:27",
                "subject": "RE: Deserunt eaque iusto consequatur laudantium sequi.",
                "references": [
                    "[email protected]",
                    "[email protected]",
                    "[email protected]"
                ],
                "replytime": 0,
                "classification": "reply",
                "raw_replytime": 96,
                "friendly_reply_time": "00s",
                "friendly_raw_reply_time": "01m:36s",
                "email_domains": [
                    "timetoreply.com",
                    "veum.com"
                ],
                "email_domains_from": [
                    "timetoreply.com"
                ],
                "email_domains_to": [
                    "veum.com"
                ],
                "email_domains_received": [
                    "veum.com"
                ],
                "email_usernames": [
                    "[email protected]",
                    "[email protected]"
                ],
                "email_usernames_from": [
                    "[email protected]"
                ],
                "email_usernames_to": [
                    "[email protected]"
                ],
                "email_usernames_cc": [],
                "email_usernames_received": [
                    "[email protected]"
                ],
                "is_initial_reply": false,
                "thread_ids": [
                    20
                ],
                "message_type": "outbound",
                "labels": [],
                "is_closing_email": false,
                "is_included_in_stats": true,
                "timestamp": 1641232647,
                "reply_is_relevant": true,
                "reply_is_outlier": false,
                "agents_read_status": [],
                "thread_message_count": 4
            }
        ],
        "first_page_url": "https://portal.timetoreply.com/api/logs/messages?page=1",
        "from": 1,
        "last_page": 244,
        "last_page_url": "https://portal.timetoreply.com/api/logs/messages?page=244",
        "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=243",
                "label": "243",
                "active": false
            },
            {
                "url": "https://portal.timetoreply.com/api/logs/messages?page=244",
                "label": "244",
                "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": 488
    }
}
 

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,follow-up.

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": "0",
    "model_com": "Top Revenue Contacts",
    "model_type_com": "Contact Group",
    "exclude_cc_com": "0",
    "exclusive": "0",
    "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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'from'=> '2020-01-01',
            'to'=> '2020-01-08',
            'model'=> 'My Company',
            'model_type'=> 'Internal',
            'exclude_cc'=> '0',
            'model_com'=> 'Top Revenue Contacts',
            'model_type_com'=> 'Contact Group',
            'exclude_cc_com'=> '0',
            'exclusive'=> '0',
            '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));
curl --request GET \
    --get "https://portal.timetoreply.com/api/reports/comparative?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%2Coutbound%2Cinternal&thread_status=internal%2Cawait-customer%2Cclosed%2Cawait-agent&has_replies=hasReplies%2ChasForwards%2ChasNoRepliesOrForwards&classification=calculating%2Cfirst%2Creply%2Creply-all%2Cforward&messageType=inbound%2Coutbound%2Cinternal&replies_over=15&message_replies_over=15&no_reply_for=15&per_page=2&direction=desc&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 
{
    "replyTimePercentages": {
        "categories": [
            "[email protected]",
            "[email protected]"
        ],
        "series": [
            {
                "name": "Replies in under 15m:00s",
                "data": [
                    48.19,
                    41.9
                ],
                "index": 5,
                "legendIndex": 0,
                "stringKey": "15m:00s"
            },
            {
                "name": "Replies in under 01h:00m",
                "data": [
                    37.13,
                    44.07
                ],
                "index": 4,
                "legendIndex": 1,
                "stringKey": "01h:00m"
            },
            {
                "name": "Replies in under 02h:00m",
                "data": [
                    7.19,
                    1.63
                ],
                "index": 3,
                "legendIndex": 2,
                "stringKey": "02h:00m"
            },
            {
                "name": "Replies in under 04h:00m",
                "data": [
                    3.57,
                    2.1
                ],
                "index": 2,
                "legendIndex": 3,
                "stringKey": "04h:00m"
            },
            {
                "name": "Replies in under 08h:00m",
                "data": [
                    3.92,
                    5.14
                ],
                "index": 1,
                "legendIndex": 4,
                "stringKey": "08h:00m"
            },
            {
                "name": "Replies in under 24h:00m",
                "data": [
                    0,
                    5.16
                ],
                "index": 0,
                "legendIndex": 5,
                "stringKey": "24h:00m"
            }
        ]
    },
    "forwardTimePercentages": {
        "categories": [
            "[email protected]",
            "[email protected]"
        ],
        "series": [
            {
                "name": "Forwards in under 15m:00s",
                "data": [
                    0,
                    0
                ],
                "index": 5,
                "legendIndex": 0,
                "stringKey": "15m:00s"
            },
            {
                "name": "Forwards in under 01h:00m",
                "data": [
                    0,
                    0
                ],
                "index": 4,
                "legendIndex": 1,
                "stringKey": "01h:00m"
            },
            {
                "name": "Forwards in under 02h:00m",
                "data": [
                    0,
                    0
                ],
                "index": 3,
                "legendIndex": 2,
                "stringKey": "02h:00m"
            },
            {
                "name": "Forwards in under 04h:00m",
                "data": [
                    0,
                    0
                ],
                "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"
            }
        ]
    },
    "agentStats": {
        "initialTTR.raw": [
            {
                "name": "[email protected]",
                "threads": {
                    "total": 58,
                    "internal": 11,
                    "inbound": 36,
                    "outbound": 11,
                    "sent_internally": 0,
                    "await_customer": 0,
                    "await_agent": 0,
                    "closed": 8,
                    "have_replies": 50,
                    "have_initial_replies": 29
                },
                "messages": {
                    "sent": {
                        "count": 67,
                        "initial": 17,
                        "replies": 47,
                        "reply_all": 3,
                        "forward": 0,
                        "follow_up": 0,
                        "initial_replies": 0,
                        "dailyStats": []
                    },
                    "received": {
                        "count": 83,
                        "initial": 38,
                        "replies": 30,
                        "reply_all": 12,
                        "forward": 3,
                        "follow_up": 0,
                        "initial_replies": 0,
                        "dailyStats": []
                    }
                },
                "overallTTR": {
                    "friendly": "38m:55s",
                    "raw": 2335.62,
                    "friendly_no_business": "01h:10m",
                    "raw_no_business": 4201.78,
                    "percentileRanks": [
                        {
                            "key": "15m:00s",
                            "value": "48.19%"
                        },
                        {
                            "key": "01h:00m",
                            "value": "85.32%"
                        },
                        {
                            "key": "02h:00m",
                            "value": "92.51%"
                        },
                        {
                            "key": "04h:00m",
                            "value": "96.08%"
                        },
                        {
                            "key": "08h:00m",
                            "value": "100.00%"
                        },
                        {
                            "key": "24h:00m",
                            "value": "100.00%"
                        }
                    ],
                    "percentileRanksRaw": [],
                    "within_sla": 0,
                    "sla_breach": 67
                },
                "overallTTF": {
                    "friendly": "N/A",
                    "raw": null,
                    "friendly_no_business": "N/A",
                    "raw_no_business": null
                },
                "initialTTR": {
                    "friendly": "32m:44s",
                    "raw": 1964.3103448275863,
                    "friendly_no_business": "50m:47s",
                    "raw_no_business": 3047.5172413793102,
                    "percentileRanks": [],
                    "percentileRanksRaw": [],
                    "closed_within_sla": 0,
                    "closed_sla_breach": 0,
                    "in_progress_within_sla": 0,
                    "in_progress_sla_breach": 0,
                    "unhandled_within_sla": 0,
                    "unhandled_sla_breach": 0,
                    "within_sla": 0,
                    "sla_breach": 0
                },
                "overallTTC": {
                    "friendly": "41m:33s",
                    "raw": 2493.6666666666665,
                    "friendly_no_business": "49m:37s",
                    "raw_no_business": 2977.6666666666665,
                    "closed_within_sla": 0,
                    "closed_sla_breach": 0,
                    "in_progress_within_sla": 0,
                    "in_progress_sla_breach": 0,
                    "unhandled_within_sla": 0,
                    "unhandled_sla_breach": 0,
                    "within_sla": 0,
                    "sla_breach": 0,
                    "percentileRanks": [],
                    "percentileRanksRaw": []
                }
            },
            {
                "name": "[email protected]",
                "threads": {
                    "total": 59,
                    "internal": 13,
                    "inbound": 44,
                    "outbound": 2,
                    "sent_internally": 0,
                    "await_customer": 0,
                    "await_agent": 0,
                    "closed": 6,
                    "have_replies": 56,
                    "have_initial_replies": 40
                },
                "messages": {
                    "sent": {
                        "count": 62,
                        "initial": 4,
                        "replies": 41,
                        "reply_all": 15,
                        "forward": 2,
                        "follow_up": 0,
                        "initial_replies": 0,
                        "dailyStats": []
                    },
                    "received": {
                        "count": 71,
                        "initial": 25,
                        "replies": 33,
                        "reply_all": 12,
                        "forward": 1,
                        "follow_up": 0,
                        "initial_replies": 0,
                        "dailyStats": []
                    }
                },
                "overallTTR": {
                    "friendly": "01h:26m",
                    "raw": 5172.553571428572,
                    "friendly_no_business": "03h:38m",
                    "raw_no_business": 13111.232142857143,
                    "percentileRanks": [
                        {
                            "key": "15m:00s",
                            "value": "41.90%"
                        },
                        {
                            "key": "01h:00m",
                            "value": "85.97%"
                        },
                        {
                            "key": "02h:00m",
                            "value": "87.60%"
                        },
                        {
                            "key": "04h:00m",
                            "value": "89.70%"
                        },
                        {
                            "key": "08h:00m",
                            "value": "94.84%"
                        },
                        {
                            "key": "24h:00m",
                            "value": "100.00%"
                        }
                    ],
                    "percentileRanksRaw": [],
                    "within_sla": 0,
                    "sla_breach": 62
                },
                "overallTTF": {
                    "friendly": "14m:25s",
                    "raw": 865.5,
                    "friendly_no_business": "14m:25s",
                    "raw_no_business": 865.5
                },
                "initialTTR": {
                    "friendly": "01h:07m",
                    "raw": 4054.7,
                    "friendly_no_business": "02h:36m",
                    "raw_no_business": 9364.575,
                    "percentileRanks": [],
                    "percentileRanksRaw": [],
                    "closed_within_sla": 0,
                    "closed_sla_breach": 0,
                    "in_progress_within_sla": 0,
                    "in_progress_sla_breach": 0,
                    "unhandled_within_sla": 0,
                    "unhandled_sla_breach": 0,
                    "within_sla": 0,
                    "sla_breach": 0
                },
                "overallTTC": {
                    "friendly": "13m:24s",
                    "raw": 804.5,
                    "friendly_no_business": "24m:40s",
                    "raw_no_business": 1480,
                    "closed_within_sla": 0,
                    "closed_sla_breach": 0,
                    "in_progress_within_sla": 0,
                    "in_progress_sla_breach": 0,
                    "unhandled_within_sla": 0,
                    "unhandled_sla_breach": 0,
                    "within_sla": 0,
                    "sla_breach": 0,
                    "percentileRanks": [],
                    "percentileRanksRaw": []
                }
            }
        ],
        "messages.received.count": [
            {
                "name": "[email protected]",
                "threads": {
                    "total": 89,
                    "internal": 13,
                    "inbound": 64,
                    "outbound": 12,
                    "sent_internally": 0,
                    "await_customer": 0,
                    "await_agent": 0,
                    "closed": 10,
                    "have_replies": 81,
                    "have_initial_replies": 56
                },
                "messages": {
                    "sent": {
                        "count": 101,
                        "initial": 16,
                        "replies": 71,
                        "reply_all": 10,
                        "forward": 4,
                        "follow_up": 0,
                        "initial_replies": 0,
                        "dailyStats": []
                    },
                    "received": {
                        "count": 117,
                        "initial": 52,
                        "replies": 51,
                        "reply_all": 12,
                        "forward": 2,
                        "follow_up": 0,
                        "initial_replies": 0,
                        "dailyStats": []
                    }
                },
                "overallTTR": {
                    "friendly": "02h:15m",
                    "raw": 8101.83950617284,
                    "friendly_no_business": "07h:06m",
                    "raw_no_business": 25599.58024691358,
                    "percentileRanks": [
                        {
                            "key": "15m:00s",
                            "value": "36.73%"
                        },
                        {
                            "key": "01h:00m",
                            "value": "79.00%"
                        },
                        {
                            "key": "02h:00m",
                            "value": "81.98%"
                        },
                        {
                            "key": "04h:00m",
                            "value": "90.26%"
                        },
                        {
                            "key": "08h:00m",
                            "value": "92.27%"
                        },
                        {
                            "key": "24h:00m",
                            "value": "96.95%"
                        }
                    ],
                    "percentileRanksRaw": [],
                    "within_sla": 0,
                    "sla_breach": 101
                },
                "overallTTF": {
                    "friendly": "06m:35s",
                    "raw": 395.75,
                    "friendly_no_business": "08m:19s",
                    "raw_no_business": 499.5
                },
                "initialTTR": {
                    "friendly": "01h:41m",
                    "raw": 6119.25,
                    "friendly_no_business": "05h:46m",
                    "raw_no_business": 20811.035714285714,
                    "percentileRanks": [],
                    "percentileRanksRaw": [],
                    "closed_within_sla": 0,
                    "closed_sla_breach": 0,
                    "in_progress_within_sla": 0,
                    "in_progress_sla_breach": 0,
                    "unhandled_within_sla": 0,
                    "unhandled_sla_breach": 0,
                    "within_sla": 0,
                    "sla_breach": 0
                },
                "overallTTC": {
                    "friendly": "01h:27m",
                    "raw": 5223.75,
                    "friendly_no_business": "01h:27m",
                    "raw_no_business": 5223.75,
                    "closed_within_sla": 0,
                    "closed_sla_breach": 0,
                    "in_progress_within_sla": 0,
                    "in_progress_sla_breach": 0,
                    "unhandled_within_sla": 0,
                    "unhandled_sla_breach": 0,
                    "within_sla": 0,
                    "sla_breach": 0,
                    "percentileRanks": [],
                    "percentileRanksRaw": []
                }
            },
            {
                "name": "[email protected]",
                "threads": {
                    "total": 58,
                    "internal": 11,
                    "inbound": 36,
                    "outbound": 11,
                    "sent_internally": 0,
                    "await_customer": 0,
                    "await_agent": 0,
                    "closed": 8,
                    "have_replies": 50,
                    "have_initial_replies": 29
                },
                "messages": {
                    "sent": {
                        "count": 67,
                        "initial": 17,
                        "replies": 47,
                        "reply_all": 3,
                        "forward": 0,
                        "follow_up": 0,
                        "initial_replies": 0,
                        "dailyStats": []
                    },
                    "received": {
                        "count": 83,
                        "initial": 38,
                        "replies": 30,
                        "reply_all": 12,
                        "forward": 3,
                        "follow_up": 0,
                        "initial_replies": 0,
                        "dailyStats": []
                    }
                },
                "overallTTR": {
                    "friendly": "38m:55s",
                    "raw": 2335.62,
                    "friendly_no_business": "01h:10m",
                    "raw_no_business": 4201.78,
                    "percentileRanks": [
                        {
                            "key": "15m:00s",
                            "value": "48.19%"
                        },
                        {
                            "key": "01h:00m",
                            "value": "85.32%"
                        },
                        {
                            "key": "02h:00m",
                            "value": "92.51%"
                        },
                        {
                            "key": "04h:00m",
                            "value": "96.08%"
                        },
                        {
                            "key": "08h:00m",
                            "value": "100.00%"
                        },
                        {
                            "key": "24h:00m",
                            "value": "100.00%"
                        }
                    ],
                    "percentileRanksRaw": [],
                    "within_sla": 0,
                    "sla_breach": 67
                },
                "overallTTF": {
                    "friendly": "N/A",
                    "raw": null,
                    "friendly_no_business": "N/A",
                    "raw_no_business": null
                },
                "initialTTR": {
                    "friendly": "32m:44s",
                    "raw": 1964.3103448275863,
                    "friendly_no_business": "50m:47s",
                    "raw_no_business": 3047.5172413793102,
                    "percentileRanks": [],
                    "percentileRanksRaw": [],
                    "closed_within_sla": 0,
                    "closed_sla_breach": 0,
                    "in_progress_within_sla": 0,
                    "in_progress_sla_breach": 0,
                    "unhandled_within_sla": 0,
                    "unhandled_sla_breach": 0,
                    "within_sla": 0,
                    "sla_breach": 0
                },
                "overallTTC": {
                    "friendly": "41m:33s",
                    "raw": 2493.6666666666665,
                    "friendly_no_business": "49m:37s",
                    "raw_no_business": 2977.6666666666665,
                    "closed_within_sla": 0,
                    "closed_sla_breach": 0,
                    "in_progress_within_sla": 0,
                    "in_progress_sla_breach": 0,
                    "unhandled_within_sla": 0,
                    "unhandled_sla_breach": 0,
                    "within_sla": 0,
                    "sla_breach": 0,
                    "percentileRanks": [],
                    "percentileRanksRaw": []
                }
            }
        ],
        "messages.sent.any_replies": [
            {
                "name": "[email protected]",
                "threads": {
                    "total": 89,
                    "internal": 13,
                    "inbound": 64,
                    "outbound": 12,
                    "sent_internally": 0,
                    "await_customer": 0,
                    "await_agent": 0,
                    "closed": 10,
                    "have_replies": 81,
                    "have_initial_replies": 56
                },
                "messages": {
                    "sent": {
                        "count": 101,
                        "initial": 16,
                        "replies": 71,
                        "reply_all": 10,
                        "forward": 4,
                        "follow_up": 0,
                        "initial_replies": 0,
                        "dailyStats": []
                    },
                    "received": {
                        "count": 117,
                        "initial": 52,
                        "replies": 51,
                        "reply_all": 12,
                        "forward": 2,
                        "follow_up": 0,
                        "initial_replies": 0,
                        "dailyStats": []
                    }
                },
                "overallTTR": {
                    "friendly": "02h:15m",
                    "raw": 8101.83950617284,
                    "friendly_no_business": "07h:06m",
                    "raw_no_business": 25599.58024691358,
                    "percentileRanks": [
                        {
                            "key": "15m:00s",
                            "value": "36.73%"
                        },
                        {
                            "key": "01h:00m",
                            "value": "79.00%"
                        },
                        {
                            "key": "02h:00m",
                            "value": "81.98%"
                        },
                        {
                            "key": "04h:00m",
                            "value": "90.26%"
                        },
                        {
                            "key": "08h:00m",
                            "value": "92.27%"
                        },
                        {
                            "key": "24h:00m",
                            "value": "96.95%"
                        }
                    ],
                    "percentileRanksRaw": [],
                    "within_sla": 0,
                    "sla_breach": 101
                },
                "overallTTF": {
                    "friendly": "06m:35s",
                    "raw": 395.75,
                    "friendly_no_business": "08m:19s",
                    "raw_no_business": 499.5
                },
                "initialTTR": {
                    "friendly": "01h:41m",
                    "raw": 6119.25,
                    "friendly_no_business": "05h:46m",
                    "raw_no_business": 20811.035714285714,
                    "percentileRanks": [],
                    "percentileRanksRaw": [],
                    "closed_within_sla": 0,
                    "closed_sla_breach": 0,
                    "in_progress_within_sla": 0,
                    "in_progress_sla_breach": 0,
                    "unhandled_within_sla": 0,
                    "unhandled_sla_breach": 0,
                    "within_sla": 0,
                    "sla_breach": 0
                },
                "overallTTC": {
                    "friendly": "01h:27m",
                    "raw": 5223.75,
                    "friendly_no_business": "01h:27m",
                    "raw_no_business": 5223.75,
                    "closed_within_sla": 0,
                    "closed_sla_breach": 0,
                    "in_progress_within_sla": 0,
                    "in_progress_sla_breach": 0,
                    "unhandled_within_sla": 0,
                    "unhandled_sla_breach": 0,
                    "within_sla": 0,
                    "sla_breach": 0,
                    "percentileRanks": [],
                    "percentileRanksRaw": []
                }
            },
            {
                "name": "[email protected]",
                "threads": {
                    "total": 59,
                    "internal": 13,
                    "inbound": 44,
                    "outbound": 2,
                    "sent_internally": 0,
                    "await_customer": 0,
                    "await_agent": 0,
                    "closed": 6,
                    "have_replies": 56,
                    "have_initial_replies": 40
                },
                "messages": {
                    "sent": {
                        "count": 62,
                        "initial": 4,
                        "replies": 41,
                        "reply_all": 15,
                        "forward": 2,
                        "follow_up": 0,
                        "initial_replies": 0,
                        "dailyStats": []
                    },
                    "received": {
                        "count": 71,
                        "initial": 25,
                        "replies": 33,
                        "reply_all": 12,
                        "forward": 1,
                        "follow_up": 0,
                        "initial_replies": 0,
                        "dailyStats": []
                    }
                },
                "overallTTR": {
                    "friendly": "01h:26m",
                    "raw": 5172.553571428572,
                    "friendly_no_business": "03h:38m",
                    "raw_no_business": 13111.232142857143,
                    "percentileRanks": [
                        {
                            "key": "15m:00s",
                            "value": "41.90%"
                        },
                        {
                            "key": "01h:00m",
                            "value": "85.97%"
                        },
                        {
                            "key": "02h:00m",
                            "value": "87.60%"
                        },
                        {
                            "key": "04h:00m",
                            "value": "89.70%"
                        },
                        {
                            "key": "08h:00m",
                            "value": "94.84%"
                        },
                        {
                            "key": "24h:00m",
                            "value": "100.00%"
                        }
                    ],
                    "percentileRanksRaw": [],
                    "within_sla": 0,
                    "sla_breach": 62
                },
                "overallTTF": {
                    "friendly": "14m:25s",
                    "raw": 865.5,
                    "friendly_no_business": "14m:25s",
                    "raw_no_business": 865.5
                },
                "initialTTR": {
                    "friendly": "01h:07m",
                    "raw": 4054.7,
                    "friendly_no_business": "02h:36m",
                    "raw_no_business": 9364.575,
                    "percentileRanks": [],
                    "percentileRanksRaw": [],
                    "closed_within_sla": 0,
                    "closed_sla_breach": 0,
                    "in_progress_within_sla": 0,
                    "in_progress_sla_breach": 0,
                    "unhandled_within_sla": 0,
                    "unhandled_sla_breach": 0,
                    "within_sla": 0,
                    "sla_breach": 0
                },
                "overallTTC": {
                    "friendly": "13m:24s",
                    "raw": 804.5,
                    "friendly_no_business": "24m:40s",
                    "raw_no_business": 1480,
                    "closed_within_sla": 0,
                    "closed_sla_breach": 0,
                    "in_progress_within_sla": 0,
                    "in_progress_sla_breach": 0,
                    "unhandled_within_sla": 0,
                    "unhandled_sla_breach": 0,
                    "within_sla": 0,
                    "sla_breach": 0,
                    "percentileRanks": [],
                    "percentileRanksRaw": []
                }
            }
        ],
        "messages.sent.count": [
            {
                "name": "[email protected]",
                "threads": {
                    "total": 89,
                    "internal": 13,
                    "inbound": 64,
                    "outbound": 12,
                    "sent_internally": 0,
                    "await_customer": 0,
                    "await_agent": 0,
                    "closed": 10,
                    "have_replies": 81,
                    "have_initial_replies": 56
                },
                "messages": {
                    "sent": {
                        "count": 101,
                        "initial": 16,
                        "replies": 71,
                        "reply_all": 10,
                        "forward": 4,
                        "follow_up": 0,
                        "initial_replies": 0,
                        "dailyStats": []
                    },
                    "received": {
                        "count": 117,
                        "initial": 52,
                        "replies": 51,
                        "reply_all": 12,
                        "forward": 2,
                        "follow_up": 0,
                        "initial_replies": 0,
                        "dailyStats": []
                    }
                },
                "overallTTR": {
                    "friendly": "02h:15m",
                    "raw": 8101.83950617284,
                    "friendly_no_business": "07h:06m",
                    "raw_no_business": 25599.58024691358,
                    "percentileRanks": [
                        {
                            "key": "15m:00s",
                            "value": "36.73%"
                        },
                        {
                            "key": "01h:00m",
                            "value": "79.00%"
                        },
                        {
                            "key": "02h:00m",
                            "value": "81.98%"
                        },
                        {
                            "key": "04h:00m",
                            "value": "90.26%"
                        },
                        {
                            "key": "08h:00m",
                            "value": "92.27%"
                        },
                        {
                            "key": "24h:00m",
                            "value": "96.95%"
                        }
                    ],
                    "percentileRanksRaw": [],
                    "within_sla": 0,
                    "sla_breach": 101
                },
                "overallTTF": {
                    "friendly": "06m:35s",
                    "raw": 395.75,
                    "friendly_no_business": "08m:19s",
                    "raw_no_business": 499.5
                },
                "initialTTR": {
                    "friendly": "01h:41m",
                    "raw": 6119.25,
                    "friendly_no_business": "05h:46m",
                    "raw_no_business": 20811.035714285714,
                    "percentileRanks": [],
                    "percentileRanksRaw": [],
                    "closed_within_sla": 0,
                    "closed_sla_breach": 0,
                    "in_progress_within_sla": 0,
                    "in_progress_sla_breach": 0,
                    "unhandled_within_sla": 0,
                    "unhandled_sla_breach": 0,
                    "within_sla": 0,
                    "sla_breach": 0
                },
                "overallTTC": {
                    "friendly": "01h:27m",
                    "raw": 5223.75,
                    "friendly_no_business": "01h:27m",
                    "raw_no_business": 5223.75,
                    "closed_within_sla": 0,
                    "closed_sla_breach": 0,
                    "in_progress_within_sla": 0,
                    "in_progress_sla_breach": 0,
                    "unhandled_within_sla": 0,
                    "unhandled_sla_breach": 0,
                    "within_sla": 0,
                    "sla_breach": 0,
                    "percentileRanks": [],
                    "percentileRanksRaw": []
                }
            },
            {
                "name": "[email protected]",
                "threads": {
                    "total": 58,
                    "internal": 11,
                    "inbound": 36,
                    "outbound": 11,
                    "sent_internally": 0,
                    "await_customer": 0,
                    "await_agent": 0,
                    "closed": 8,
                    "have_replies": 50,
                    "have_initial_replies": 29
                },
                "messages": {
                    "sent": {
                        "count": 67,
                        "initial": 17,
                        "replies": 47,
                        "reply_all": 3,
                        "forward": 0,
                        "follow_up": 0,
                        "initial_replies": 0,
                        "dailyStats": []
                    },
                    "received": {
                        "count": 83,
                        "initial": 38,
                        "replies": 30,
                        "reply_all": 12,
                        "forward": 3,
                        "follow_up": 0,
                        "initial_replies": 0,
                        "dailyStats": []
                    }
                },
                "overallTTR": {
                    "friendly": "38m:55s",
                    "raw": 2335.62,
                    "friendly_no_business": "01h:10m",
                    "raw_no_business": 4201.78,
                    "percentileRanks": [
                        {
                            "key": "15m:00s",
                            "value": "48.19%"
                        },
                        {
                            "key": "01h:00m",
                            "value": "85.32%"
                        },
                        {
                            "key": "02h:00m",
                            "value": "92.51%"
                        },
                        {
                            "key": "04h:00m",
                            "value": "96.08%"
                        },
                        {
                            "key": "08h:00m",
                            "value": "100.00%"
                        },
                        {
                            "key": "24h:00m",
                            "value": "100.00%"
                        }
                    ],
                    "percentileRanksRaw": [],
                    "within_sla": 0,
                    "sla_breach": 67
                },
                "overallTTF": {
                    "friendly": "N/A",
                    "raw": null,
                    "friendly_no_business": "N/A",
                    "raw_no_business": null
                },
                "initialTTR": {
                    "friendly": "32m:44s",
                    "raw": 1964.3103448275863,
                    "friendly_no_business": "50m:47s",
                    "raw_no_business": 3047.5172413793102,
                    "percentileRanks": [],
                    "percentileRanksRaw": [],
                    "closed_within_sla": 0,
                    "closed_sla_breach": 0,
                    "in_progress_within_sla": 0,
                    "in_progress_sla_breach": 0,
                    "unhandled_within_sla": 0,
                    "unhandled_sla_breach": 0,
                    "within_sla": 0,
                    "sla_breach": 0
                },
                "overallTTC": {
                    "friendly": "41m:33s",
                    "raw": 2493.6666666666665,
                    "friendly_no_business": "49m:37s",
                    "raw_no_business": 2977.6666666666665,
                    "closed_within_sla": 0,
                    "closed_sla_breach": 0,
                    "in_progress_within_sla": 0,
                    "in_progress_sla_breach": 0,
                    "unhandled_within_sla": 0,
                    "unhandled_sla_breach": 0,
                    "within_sla": 0,
                    "sla_breach": 0,
                    "percentileRanks": [],
                    "percentileRanksRaw": []
                }
            }
        ],
        "messages.sent.forward": [
            {
                "name": "[email protected]",
                "threads": {
                    "total": 89,
                    "internal": 13,
                    "inbound": 64,
                    "outbound": 12,
                    "sent_internally": 0,
                    "await_customer": 0,
                    "await_agent": 0,
                    "closed": 10,
                    "have_replies": 81,
                    "have_initial_replies": 56
                },
                "messages": {
                    "sent": {
                        "count": 101,
                        "initial": 16,
                        "replies": 71,
                        "reply_all": 10,
                        "forward": 4,
                        "follow_up": 0,
                        "initial_replies": 0,
                        "dailyStats": []
                    },
                    "received": {
                        "count": 117,
                        "initial": 52,
                        "replies": 51,
                        "reply_all": 12,
                        "forward": 2,
                        "follow_up": 0,
                        "initial_replies": 0,
                        "dailyStats": []
                    }
                },
                "overallTTR": {
                    "friendly": "02h:15m",
                    "raw": 8101.83950617284,
                    "friendly_no_business": "07h:06m",
                    "raw_no_business": 25599.58024691358,
                    "percentileRanks": [
                        {
                            "key": "15m:00s",
                            "value": "36.73%"
                        },
                        {
                            "key": "01h:00m",
                            "value": "79.00%"
                        },
                        {
                            "key": "02h:00m",
                            "value": "81.98%"
                        },
                        {
                            "key": "04h:00m",
                            "value": "90.26%"
                        },
                        {
                            "key": "08h:00m",
                            "value": "92.27%"
                        },
                        {
                            "key": "24h:00m",
                            "value": "96.95%"
                        }
                    ],
                    "percentileRanksRaw": [],
                    "within_sla": 0,
                    "sla_breach": 101
                },
                "overallTTF": {
                    "friendly": "06m:35s",
                    "raw": 395.75,
                    "friendly_no_business": "08m:19s",
                    "raw_no_business": 499.5
                },
                "initialTTR": {
                    "friendly": "01h:41m",
                    "raw": 6119.25,
                    "friendly_no_business": "05h:46m",
                    "raw_no_business": 20811.035714285714,
                    "percentileRanks": [],
                    "percentileRanksRaw": [],
                    "closed_within_sla": 0,
                    "closed_sla_breach": 0,
                    "in_progress_within_sla": 0,
                    "in_progress_sla_breach": 0,
                    "unhandled_within_sla": 0,
                    "unhandled_sla_breach": 0,
                    "within_sla": 0,
                    "sla_breach": 0
                },
                "overallTTC": {
                    "friendly": "01h:27m",
                    "raw": 5223.75,
                    "friendly_no_business": "01h:27m",
                    "raw_no_business": 5223.75,
                    "closed_within_sla": 0,
                    "closed_sla_breach": 0,
                    "in_progress_within_sla": 0,
                    "in_progress_sla_breach": 0,
                    "unhandled_within_sla": 0,
                    "unhandled_sla_breach": 0,
                    "within_sla": 0,
                    "sla_breach": 0,
                    "percentileRanks": [],
                    "percentileRanksRaw": []
                }
            },
            {
                "name": "[email protected]",
                "threads": {
                    "total": 59,
                    "internal": 13,
                    "inbound": 44,
                    "outbound": 2,
                    "sent_internally": 0,
                    "await_customer": 0,
                    "await_agent": 0,
                    "closed": 6,
                    "have_replies": 56,
                    "have_initial_replies": 40
                },
                "messages": {
                    "sent": {
                        "count": 62,
                        "initial": 4,
                        "replies": 41,
                        "reply_all": 15,
                        "forward": 2,
                        "follow_up": 0,
                        "initial_replies": 0,
                        "dailyStats": []
                    },
                    "received": {
                        "count": 71,
                        "initial": 25,
                        "replies": 33,
                        "reply_all": 12,
                        "forward": 1,
                        "follow_up": 0,
                        "initial_replies": 0,
                        "dailyStats": []
                    }
                },
                "overallTTR": {
                    "friendly": "01h:26m",
                    "raw": 5172.553571428572,
                    "friendly_no_business": "03h:38m",
                    "raw_no_business": 13111.232142857143,
                    "percentileRanks": [
                        {
                            "key": "15m:00s",
                            "value": "41.90%"
                        },
                        {
                            "key": "01h:00m",
                            "value": "85.97%"
                        },
                        {
                            "key": "02h:00m",
                            "value": "87.60%"
                        },
                        {
                            "key": "04h:00m",
                            "value": "89.70%"
                        },
                        {
                            "key": "08h:00m",
                            "value": "94.84%"
                        },
                        {
                            "key": "24h:00m",
                            "value": "100.00%"
                        }
                    ],
                    "percentileRanksRaw": [],
                    "within_sla": 0,
                    "sla_breach": 62
                },
                "overallTTF": {
                    "friendly": "14m:25s",
                    "raw": 865.5,
                    "friendly_no_business": "14m:25s",
                    "raw_no_business": 865.5
                },
                "initialTTR": {
                    "friendly": "01h:07m",
                    "raw": 4054.7,
                    "friendly_no_business": "02h:36m",
                    "raw_no_business": 9364.575,
                    "percentileRanks": [],
                    "percentileRanksRaw": [],
                    "closed_within_sla": 0,
                    "closed_sla_breach": 0,
                    "in_progress_within_sla": 0,
                    "in_progress_sla_breach": 0,
                    "unhandled_within_sla": 0,
                    "unhandled_sla_breach": 0,
                    "within_sla": 0,
                    "sla_breach": 0
                },
                "overallTTC": {
                    "friendly": "13m:24s",
                    "raw": 804.5,
                    "friendly_no_business": "24m:40s",
                    "raw_no_business": 1480,
                    "closed_within_sla": 0,
                    "closed_sla_breach": 0,
                    "in_progress_within_sla": 0,
                    "in_progress_sla_breach": 0,
                    "unhandled_within_sla": 0,
                    "unhandled_sla_breach": 0,
                    "within_sla": 0,
                    "sla_breach": 0,
                    "percentileRanks": [],
                    "percentileRanksRaw": []
                }
            }
        ],
        "overallTTC.raw": [
            {
                "name": "[email protected]",
                "threads": {
                    "total": 42,
                    "internal": 0,
                    "inbound": 42,
                    "outbound": 0,
                    "sent_internally": 0,
                    "await_customer": 0,
                    "await_agent": 0,
                    "closed": 3,
                    "have_replies": 0,
                    "have_initial_replies": 0
                },
                "messages": {
                    "sent": {
                        "count": 0,
                        "initial": 0,
                        "replies": 0,
                        "reply_all": 0,
                        "forward": 0,
                        "follow_up": 0,
                        "initial_replies": 0,
                        "dailyStats": null
                    },
                    "received": {
                        "count": 61,
                        "initial": 42,
                        "replies": 0,
                        "reply_all": 19,
                        "forward": 0,
                        "follow_up": 0,
                        "initial_replies": 0,
                        "dailyStats": []
                    }
                },
                "overallTTR": {
                    "friendly": "N/A",
                    "raw": null,
                    "friendly_no_business": "N/A",
                    "raw_no_business": null,
                    "percentileRanks": [],
                    "percentileRanksRaw": [],
                    "within_sla": 0,
                    "sla_breach": 0
                },
                "overallTTF": {
                    "friendly": "N/A",
                    "raw": null,
                    "friendly_no_business": "N/A",
                    "raw_no_business": null
                },
                "initialTTR": {
                    "friendly": "N/A",
                    "raw": null,
                    "friendly_no_business": "N/A",
                    "raw_no_business": null,
                    "percentileRanks": [],
                    "percentileRanksRaw": [],
                    "closed_within_sla": 0,
                    "closed_sla_breach": 0,
                    "in_progress_within_sla": 0,
                    "in_progress_sla_breach": 0,
                    "unhandled_within_sla": 0,
                    "unhandled_sla_breach": 0,
                    "within_sla": 0,
                    "sla_breach": 0
                },
                "overallTTC": {
                    "friendly": "09m:01s",
                    "raw": 541.6666666666666,
                    "friendly_no_business": "24m:02s",
                    "raw_no_business": 1442.3333333333333,
                    "closed_within_sla": 0,
                    "closed_sla_breach": 0,
                    "in_progress_within_sla": 0,
                    "in_progress_sla_breach": 0,
                    "unhandled_within_sla": 0,
                    "unhandled_sla_breach": 0,
                    "within_sla": 0,
                    "sla_breach": 0,
                    "percentileRanks": [],
                    "percentileRanksRaw": []
                }
            },
            {
                "name": "[email protected]",
                "threads": {
                    "total": 59,
                    "internal": 13,
                    "inbound": 44,
                    "outbound": 2,
                    "sent_internally": 0,
                    "await_customer": 0,
                    "await_agent": 0,
                    "closed": 6,
                    "have_replies": 56,
                    "have_initial_replies": 40
                },
                "messages": {
                    "sent": {
                        "count": 62,
                        "initial": 4,
                        "replies": 41,
                        "reply_all": 15,
                        "forward": 2,
                        "follow_up": 0,
                        "initial_replies": 0,
                        "dailyStats": []
                    },
                    "received": {
                        "count": 71,
                        "initial": 25,
                        "replies": 33,
                        "reply_all": 12,
                        "forward": 1,
                        "follow_up": 0,
                        "initial_replies": 0,
                        "dailyStats": []
                    }
                },
                "overallTTR": {
                    "friendly": "01h:26m",
                    "raw": 5172.553571428572,
                    "friendly_no_business": "03h:38m",
                    "raw_no_business": 13111.232142857143,
                    "percentileRanks": [
                        {
                            "key": "15m:00s",
                            "value": "41.90%"
                        },
                        {
                            "key": "01h:00m",
                            "value": "85.97%"
                        },
                        {
                            "key": "02h:00m",
                            "value": "87.60%"
                        },
                        {
                            "key": "04h:00m",
                            "value": "89.70%"
                        },
                        {
                            "key": "08h:00m",
                            "value": "94.84%"
                        },
                        {
                            "key": "24h:00m",
                            "value": "100.00%"
                        }
                    ],
                    "percentileRanksRaw": [],
                    "within_sla": 0,
                    "sla_breach": 62
                },
                "overallTTF": {
                    "friendly": "14m:25s",
                    "raw": 865.5,
                    "friendly_no_business": "14m:25s",
                    "raw_no_business": 865.5
                },
                "initialTTR": {
                    "friendly": "01h:07m",
                    "raw": 4054.7,
                    "friendly_no_business": "02h:36m",
                    "raw_no_business": 9364.575,
                    "percentileRanks": [],
                    "percentileRanksRaw": [],
                    "closed_within_sla": 0,
                    "closed_sla_breach": 0,
                    "in_progress_within_sla": 0,
                    "in_progress_sla_breach": 0,
                    "unhandled_within_sla": 0,
                    "unhandled_sla_breach": 0,
                    "within_sla": 0,
                    "sla_breach": 0
                },
                "overallTTC": {
                    "friendly": "13m:24s",
                    "raw": 804.5,
                    "friendly_no_business": "24m:40s",
                    "raw_no_business": 1480,
                    "closed_within_sla": 0,
                    "closed_sla_breach": 0,
                    "in_progress_within_sla": 0,
                    "in_progress_sla_breach": 0,
                    "unhandled_within_sla": 0,
                    "unhandled_sla_breach": 0,
                    "within_sla": 0,
                    "sla_breach": 0,
                    "percentileRanks": [],
                    "percentileRanksRaw": []
                }
            }
        ],
        "overallTTF.raw": [
            {
                "name": "[email protected]",
                "threads": {
                    "total": 89,
                    "internal": 13,
                    "inbound": 64,
                    "outbound": 12,
                    "sent_internally": 0,
                    "await_customer": 0,
                    "await_agent": 0,
                    "closed": 10,
                    "have_replies": 81,
                    "have_initial_replies": 56
                },
                "messages": {
                    "sent": {
                        "count": 101,
                        "initial": 16,
                        "replies": 71,
                        "reply_all": 10,
                        "forward": 4,
                        "follow_up": 0,
                        "initial_replies": 0,
                        "dailyStats": []
                    },
                    "received": {
                        "count": 117,
                        "initial": 52,
                        "replies": 51,
                        "reply_all": 12,
                        "forward": 2,
                        "follow_up": 0,
                        "initial_replies": 0,
                        "dailyStats": []
                    }
                },
                "overallTTR": {
                    "friendly": "02h:15m",
                    "raw": 8101.83950617284,
                    "friendly_no_business": "07h:06m",
                    "raw_no_business": 25599.58024691358,
                    "percentileRanks": [
                        {
                            "key": "15m:00s",
                            "value": "36.73%"
                        },
                        {
                            "key": "01h:00m",
                            "value": "79.00%"
                        },
                        {
                            "key": "02h:00m",
                            "value": "81.98%"
                        },
                        {
                            "key": "04h:00m",
                            "value": "90.26%"
                        },
                        {
                            "key": "08h:00m",
                            "value": "92.27%"
                        },
                        {
                            "key": "24h:00m",
                            "value": "96.95%"
                        }
                    ],
                    "percentileRanksRaw": [],
                    "within_sla": 0,
                    "sla_breach": 101
                },
                "overallTTF": {
                    "friendly": "06m:35s",
                    "raw": 395.75,
                    "friendly_no_business": "08m:19s",
                    "raw_no_business": 499.5
                },
                "initialTTR": {
                    "friendly": "01h:41m",
                    "raw": 6119.25,
                    "friendly_no_business": "05h:46m",
                    "raw_no_business": 20811.035714285714,
                    "percentileRanks": [],
                    "percentileRanksRaw": [],
                    "closed_within_sla": 0,
                    "closed_sla_breach": 0,
                    "in_progress_within_sla": 0,
                    "in_progress_sla_breach": 0,
                    "unhandled_within_sla": 0,
                    "unhandled_sla_breach": 0,
                    "within_sla": 0,
                    "sla_breach": 0
                },
                "overallTTC": {
                    "friendly": "01h:27m",
                    "raw": 5223.75,
                    "friendly_no_business": "01h:27m",
                    "raw_no_business": 5223.75,
                    "closed_within_sla": 0,
                    "closed_sla_breach": 0,
                    "in_progress_within_sla": 0,
                    "in_progress_sla_breach": 0,
                    "unhandled_within_sla": 0,
                    "unhandled_sla_breach": 0,
                    "within_sla": 0,
                    "sla_breach": 0,
                    "percentileRanks": [],
                    "percentileRanksRaw": []
                }
            },
            {
                "name": "[email protected]",
                "threads": {
                    "total": 59,
                    "internal": 13,
                    "inbound": 44,
                    "outbound": 2,
                    "sent_internally": 0,
                    "await_customer": 0,
                    "await_agent": 0,
                    "closed": 6,
                    "have_replies": 56,
                    "have_initial_replies": 40
                },
                "messages": {
                    "sent": {
                        "count": 62,
                        "initial": 4,
                        "replies": 41,
                        "reply_all": 15,
                        "forward": 2,
                        "follow_up": 0,
                        "initial_replies": 0,
                        "dailyStats": []
                    },
                    "received": {
                        "count": 71,
                        "initial": 25,
                        "replies": 33,
                        "reply_all": 12,
                        "forward": 1,
                        "follow_up": 0,
                        "initial_replies": 0,
                        "dailyStats": []
                    }
                },
                "overallTTR": {
                    "friendly": "01h:26m",
                    "raw": 5172.553571428572,
                    "friendly_no_business": "03h:38m",
                    "raw_no_business": 13111.232142857143,
                    "percentileRanks": [
                        {
                            "key": "15m:00s",
                            "value": "41.90%"
                        },
                        {
                            "key": "01h:00m",
                            "value": "85.97%"
                        },
                        {
                            "key": "02h:00m",
                            "value": "87.60%"
                        },
                        {
                            "key": "04h:00m",
                            "value": "89.70%"
                        },
                        {
                            "key": "08h:00m",
                            "value": "94.84%"
                        },
                        {
                            "key": "24h:00m",
                            "value": "100.00%"
                        }
                    ],
                    "percentileRanksRaw": [],
                    "within_sla": 0,
                    "sla_breach": 62
                },
                "overallTTF": {
                    "friendly": "14m:25s",
                    "raw": 865.5,
                    "friendly_no_business": "14m:25s",
                    "raw_no_business": 865.5
                },
                "initialTTR": {
                    "friendly": "01h:07m",
                    "raw": 4054.7,
                    "friendly_no_business": "02h:36m",
                    "raw_no_business": 9364.575,
                    "percentileRanks": [],
                    "percentileRanksRaw": [],
                    "closed_within_sla": 0,
                    "closed_sla_breach": 0,
                    "in_progress_within_sla": 0,
                    "in_progress_sla_breach": 0,
                    "unhandled_within_sla": 0,
                    "unhandled_sla_breach": 0,
                    "within_sla": 0,
                    "sla_breach": 0
                },
                "overallTTC": {
                    "friendly": "13m:24s",
                    "raw": 804.5,
                    "friendly_no_business": "24m:40s",
                    "raw_no_business": 1480,
                    "closed_within_sla": 0,
                    "closed_sla_breach": 0,
                    "in_progress_within_sla": 0,
                    "in_progress_sla_breach": 0,
                    "unhandled_within_sla": 0,
                    "unhandled_sla_breach": 0,
                    "within_sla": 0,
                    "sla_breach": 0,
                    "percentileRanks": [],
                    "percentileRanksRaw": []
                }
            }
        ],
        "overallTTR.raw": [
            {
                "name": "[email protected]",
                "threads": {
                    "total": 58,
                    "internal": 11,
                    "inbound": 36,
                    "outbound": 11,
                    "sent_internally": 0,
                    "await_customer": 0,
                    "await_agent": 0,
                    "closed": 8,
                    "have_replies": 50,
                    "have_initial_replies": 29
                },
                "messages": {
                    "sent": {
                        "count": 67,
                        "initial": 17,
                        "replies": 47,
                        "reply_all": 3,
                        "forward": 0,
                        "follow_up": 0,
                        "initial_replies": 0,
                        "dailyStats": []
                    },
                    "received": {
                        "count": 83,
                        "initial": 38,
                        "replies": 30,
                        "reply_all": 12,
                        "forward": 3,
                        "follow_up": 0,
                        "initial_replies": 0,
                        "dailyStats": []
                    }
                },
                "overallTTR": {
                    "friendly": "38m:55s",
                    "raw": 2335.62,
                    "friendly_no_business": "01h:10m",
                    "raw_no_business": 4201.78,
                    "percentileRanks": [
                        {
                            "key": "15m:00s",
                            "value": "48.19%"
                        },
                        {
                            "key": "01h:00m",
                            "value": "85.32%"
                        },
                        {
                            "key": "02h:00m",
                            "value": "92.51%"
                        },
                        {
                            "key": "04h:00m",
                            "value": "96.08%"
                        },
                        {
                            "key": "08h:00m",
                            "value": "100.00%"
                        },
                        {
                            "key": "24h:00m",
                            "value": "100.00%"
                        }
                    ],
                    "percentileRanksRaw": [],
                    "within_sla": 0,
                    "sla_breach": 67
                },
                "overallTTF": {
                    "friendly": "N/A",
                    "raw": null,
                    "friendly_no_business": "N/A",
                    "raw_no_business": null
                },
                "initialTTR": {
                    "friendly": "32m:44s",
                    "raw": 1964.3103448275863,
                    "friendly_no_business": "50m:47s",
                    "raw_no_business": 3047.5172413793102,
                    "percentileRanks": [],
                    "percentileRanksRaw": [],
                    "closed_within_sla": 0,
                    "closed_sla_breach": 0,
                    "in_progress_within_sla": 0,
                    "in_progress_sla_breach": 0,
                    "unhandled_within_sla": 0,
                    "unhandled_sla_breach": 0,
                    "within_sla": 0,
                    "sla_breach": 0
                },
                "overallTTC": {
                    "friendly": "41m:33s",
                    "raw": 2493.6666666666665,
                    "friendly_no_business": "49m:37s",
                    "raw_no_business": 2977.6666666666665,
                    "closed_within_sla": 0,
                    "closed_sla_breach": 0,
                    "in_progress_within_sla": 0,
                    "in_progress_sla_breach": 0,
                    "unhandled_within_sla": 0,
                    "unhandled_sla_breach": 0,
                    "within_sla": 0,
                    "sla_breach": 0,
                    "percentileRanks": [],
                    "percentileRanksRaw": []
                }
            },
            {
                "name": "[email protected]",
                "threads": {
                    "total": 59,
                    "internal": 13,
                    "inbound": 44,
                    "outbound": 2,
                    "sent_internally": 0,
                    "await_customer": 0,
                    "await_agent": 0,
                    "closed": 6,
                    "have_replies": 56,
                    "have_initial_replies": 40
                },
                "messages": {
                    "sent": {
                        "count": 62,
                        "initial": 4,
                        "replies": 41,
                        "reply_all": 15,
                        "forward": 2,
                        "follow_up": 0,
                        "initial_replies": 0,
                        "dailyStats": []
                    },
                    "received": {
                        "count": 71,
                        "initial": 25,
                        "replies": 33,
                        "reply_all": 12,
                        "forward": 1,
                        "follow_up": 0,
                        "initial_replies": 0,
                        "dailyStats": []
                    }
                },
                "overallTTR": {
                    "friendly": "01h:26m",
                    "raw": 5172.553571428572,
                    "friendly_no_business": "03h:38m",
                    "raw_no_business": 13111.232142857143,
                    "percentileRanks": [
                        {
                            "key": "15m:00s",
                            "value": "41.90%"
                        },
                        {
                            "key": "01h:00m",
                            "value": "85.97%"
                        },
                        {
                            "key": "02h:00m",
                            "value": "87.60%"
                        },
                        {
                            "key": "04h:00m",
                            "value": "89.70%"
                        },
                        {
                            "key": "08h:00m",
                            "value": "94.84%"
                        },
                        {
                            "key": "24h:00m",
                            "value": "100.00%"
                        }
                    ],
                    "percentileRanksRaw": [],
                    "within_sla": 0,
                    "sla_breach": 62
                },
                "overallTTF": {
                    "friendly": "14m:25s",
                    "raw": 865.5,
                    "friendly_no_business": "14m:25s",
                    "raw_no_business": 865.5
                },
                "initialTTR": {
                    "friendly": "01h:07m",
                    "raw": 4054.7,
                    "friendly_no_business": "02h:36m",
                    "raw_no_business": 9364.575,
                    "percentileRanks": [],
                    "percentileRanksRaw": [],
                    "closed_within_sla": 0,
                    "closed_sla_breach": 0,
                    "in_progress_within_sla": 0,
                    "in_progress_sla_breach": 0,
                    "unhandled_within_sla": 0,
                    "unhandled_sla_breach": 0,
                    "within_sla": 0,
                    "sla_breach": 0
                },
                "overallTTC": {
                    "friendly": "13m:24s",
                    "raw": 804.5,
                    "friendly_no_business": "24m:40s",
                    "raw_no_business": 1480,
                    "closed_within_sla": 0,
                    "closed_sla_breach": 0,
                    "in_progress_within_sla": 0,
                    "in_progress_sla_breach": 0,
                    "unhandled_within_sla": 0,
                    "unhandled_sla_breach": 0,
                    "within_sla": 0,
                    "sla_breach": 0,
                    "percentileRanks": [],
                    "percentileRanksRaw": []
                }
            }
        ],
        "threads.total": [
            {
                "name": "[email protected]",
                "threads": {
                    "total": 89,
                    "internal": 13,
                    "inbound": 64,
                    "outbound": 12,
                    "sent_internally": 0,
                    "await_customer": 0,
                    "await_agent": 0,
                    "closed": 10,
                    "have_replies": 81,
                    "have_initial_replies": 56
                },
                "messages": {
                    "sent": {
                        "count": 101,
                        "initial": 16,
                        "replies": 71,
                        "reply_all": 10,
                        "forward": 4,
                        "follow_up": 0,
                        "initial_replies": 0,
                        "dailyStats": []
                    },
                    "received": {
                        "count": 117,
                        "initial": 52,
                        "replies": 51,
                        "reply_all": 12,
                        "forward": 2,
                        "follow_up": 0,
                        "initial_replies": 0,
                        "dailyStats": []
                    }
                },
                "overallTTR": {
                    "friendly": "02h:15m",
                    "raw": 8101.83950617284,
                    "friendly_no_business": "07h:06m",
                    "raw_no_business": 25599.58024691358,
                    "percentileRanks": [
                        {
                            "key": "15m:00s",
                            "value": "36.73%"
                        },
                        {
                            "key": "01h:00m",
                            "value": "79.00%"
                        },
                        {
                            "key": "02h:00m",
                            "value": "81.98%"
                        },
                        {
                            "key": "04h:00m",
                            "value": "90.26%"
                        },
                        {
                            "key": "08h:00m",
                            "value": "92.27%"
                        },
                        {
                            "key": "24h:00m",
                            "value": "96.95%"
                        }
                    ],
                    "percentileRanksRaw": [],
                    "within_sla": 0,
                    "sla_breach": 101
                },
                "overallTTF": {
                    "friendly": "06m:35s",
                    "raw": 395.75,
                    "friendly_no_business": "08m:19s",
                    "raw_no_business": 499.5
                },
                "initialTTR": {
                    "friendly": "01h:41m",
                    "raw": 6119.25,
                    "friendly_no_business": "05h:46m",
                    "raw_no_business": 20811.035714285714,
                    "percentileRanks": [],
                    "percentileRanksRaw": [],
                    "closed_within_sla": 0,
                    "closed_sla_breach": 0,
                    "in_progress_within_sla": 0,
                    "in_progress_sla_breach": 0,
                    "unhandled_within_sla": 0,
                    "unhandled_sla_breach": 0,
                    "within_sla": 0,
                    "sla_breach": 0
                },
                "overallTTC": {
                    "friendly": "01h:27m",
                    "raw": 5223.75,
                    "friendly_no_business": "01h:27m",
                    "raw_no_business": 5223.75,
                    "closed_within_sla": 0,
                    "closed_sla_breach": 0,
                    "in_progress_within_sla": 0,
                    "in_progress_sla_breach": 0,
                    "unhandled_within_sla": 0,
                    "unhandled_sla_breach": 0,
                    "within_sla": 0,
                    "sla_breach": 0,
                    "percentileRanks": [],
                    "percentileRanksRaw": []
                }
            },
            {
                "name": "[email protected]",
                "threads": {
                    "total": 59,
                    "internal": 13,
                    "inbound": 44,
                    "outbound": 2,
                    "sent_internally": 0,
                    "await_customer": 0,
                    "await_agent": 0,
                    "closed": 6,
                    "have_replies": 56,
                    "have_initial_replies": 40
                },
                "messages": {
                    "sent": {
                        "count": 62,
                        "initial": 4,
                        "replies": 41,
                        "reply_all": 15,
                        "forward": 2,
                        "follow_up": 0,
                        "initial_replies": 0,
                        "dailyStats": []
                    },
                    "received": {
                        "count": 71,
                        "initial": 25,
                        "replies": 33,
                        "reply_all": 12,
                        "forward": 1,
                        "follow_up": 0,
                        "initial_replies": 0,
                        "dailyStats": []
                    }
                },
                "overallTTR": {
                    "friendly": "01h:26m",
                    "raw": 5172.553571428572,
                    "friendly_no_business": "03h:38m",
                    "raw_no_business": 13111.232142857143,
                    "percentileRanks": [
                        {
                            "key": "15m:00s",
                            "value": "41.90%"
                        },
                        {
                            "key": "01h:00m",
                            "value": "85.97%"
                        },
                        {
                            "key": "02h:00m",
                            "value": "87.60%"
                        },
                        {
                            "key": "04h:00m",
                            "value": "89.70%"
                        },
                        {
                            "key": "08h:00m",
                            "value": "94.84%"
                        },
                        {
                            "key": "24h:00m",
                            "value": "100.00%"
                        }
                    ],
                    "percentileRanksRaw": [],
                    "within_sla": 0,
                    "sla_breach": 62
                },
                "overallTTF": {
                    "friendly": "14m:25s",
                    "raw": 865.5,
                    "friendly_no_business": "14m:25s",
                    "raw_no_business": 865.5
                },
                "initialTTR": {
                    "friendly": "01h:07m",
                    "raw": 4054.7,
                    "friendly_no_business": "02h:36m",
                    "raw_no_business": 9364.575,
                    "percentileRanks": [],
                    "percentileRanksRaw": [],
                    "closed_within_sla": 0,
                    "closed_sla_breach": 0,
                    "in_progress_within_sla": 0,
                    "in_progress_sla_breach": 0,
                    "unhandled_within_sla": 0,
                    "unhandled_sla_breach": 0,
                    "within_sla": 0,
                    "sla_breach": 0
                },
                "overallTTC": {
                    "friendly": "13m:24s",
                    "raw": 804.5,
                    "friendly_no_business": "24m:40s",
                    "raw_no_business": 1480,
                    "closed_within_sla": 0,
                    "closed_sla_breach": 0,
                    "in_progress_within_sla": 0,
                    "in_progress_sla_breach": 0,
                    "unhandled_within_sla": 0,
                    "unhandled_sla_breach": 0,
                    "within_sla": 0,
                    "sla_breach": 0,
                    "percentileRanks": [],
                    "percentileRanksRaw": []
                }
            }
        ]
    },
    "pagination": {
        "total": 5,
        "page": 1
    },
    "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,follow-up.

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.

Contacts - Report

requires authentication

Contacts 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": "0",
    "model_com": "Top Revenue Contacts",
    "model_type_com": "Contact Group",
    "exclude_cc_com": "0",
    "exclusive": "0",
    "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",
    "page_emails": "1",
    "per_page_emails": "2",
    "direction_emails": "desc",
    "sort_by_emails": "threads.total",
    "page_domains": "1",
    "per_page_domains": "2",
    "direction_domains": "desc",
    "sort_by_domains": "threads.total",
};
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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'from'=> '2020-01-01',
            'to'=> '2020-01-08',
            'model'=> 'My Company',
            'model_type'=> 'Internal',
            'exclude_cc'=> '0',
            'model_com'=> 'Top Revenue Contacts',
            'model_type_com'=> 'Contact Group',
            'exclude_cc_com'=> '0',
            'exclusive'=> '0',
            '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',
            'page_emails'=> '1',
            'per_page_emails'=> '2',
            'direction_emails'=> 'desc',
            'sort_by_emails'=> 'threads.total',
            'page_domains'=> '1',
            'per_page_domains'=> '2',
            'direction_domains'=> 'desc',
            'sort_by_domains'=> 'threads.total',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://portal.timetoreply.com/api/reports/contact?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%2Coutbound%2Cinternal&thread_status=internal%2Cawait-customer%2Cclosed%2Cawait-agent&has_replies=hasReplies%2ChasForwards%2ChasNoRepliesOrForwards&classification=calculating%2Cfirst%2Creply%2Creply-all%2Cforward&messageType=inbound%2Coutbound%2Cinternal&replies_over=15&message_replies_over=15&no_reply_for=15&page_emails=1&per_page_emails=2&direction_emails=desc&sort_by_emails=threads.total&page_domains=1&per_page_domains=2&direction_domains=desc&sort_by_domains=threads.total" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 
{
    "domains": {
        "data": {
            "current_page": 1,
            "data": [
                {
                    "name": "labadie.com",
                    "threads": {
                        "total": 5,
                        "internal": 0,
                        "inbound": 0,
                        "outbound": 0,
                        "sent_internally": 0,
                        "await_customer": 1,
                        "await_agent": 4,
                        "closed": 0,
                        "have_replies": 2,
                        "have_initial_replies": 1
                    },
                    "messages": {
                        "sent": {
                            "count": 5,
                            "initial": 0,
                            "replies": 0,
                            "reply_all": 0,
                            "forward": 0,
                            "follow_up": 0,
                            "initial_replies": 0,
                            "dailyStats": []
                        },
                        "received": {
                            "count": 6,
                            "initial": 0,
                            "replies": 0,
                            "reply_all": 0,
                            "forward": 0,
                            "follow_up": 0,
                            "initial_replies": 0,
                            "dailyStats": []
                        }
                    },
                    "overallTTR": {
                        "friendly": "10m:42s",
                        "raw": 642.5,
                        "friendly_no_business": "10m:42s",
                        "raw_no_business": 642.5,
                        "percentileRanks": [],
                        "percentileRanksRaw": [],
                        "within_sla": 0,
                        "sla_breach": 5
                    },
                    "overallTTF": {
                        "friendly": "N/A",
                        "raw": null,
                        "friendly_no_business": "N/A",
                        "raw_no_business": null
                    },
                    "initialTTR": {
                        "friendly": "13m:26s",
                        "raw": 806,
                        "friendly_no_business": "13m:26s",
                        "raw_no_business": 806,
                        "percentileRanks": [],
                        "percentileRanksRaw": [],
                        "closed_within_sla": 0,
                        "closed_sla_breach": 0,
                        "in_progress_within_sla": 0,
                        "in_progress_sla_breach": 0,
                        "unhandled_within_sla": 0,
                        "unhandled_sla_breach": 0,
                        "within_sla": 0,
                        "sla_breach": 0
                    },
                    "overallTTC": {
                        "friendly": "N/A",
                        "raw": null,
                        "friendly_no_business": "N/A",
                        "raw_no_business": null,
                        "closed_within_sla": 0,
                        "closed_sla_breach": 0,
                        "in_progress_within_sla": 0,
                        "in_progress_sla_breach": 0,
                        "unhandled_within_sla": 0,
                        "unhandled_sla_breach": 0,
                        "within_sla": 0,
                        "sla_breach": 0,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    }
                },
                {
                    "name": "bahringer.com",
                    "threads": {
                        "total": 2,
                        "internal": 0,
                        "inbound": 0,
                        "outbound": 0,
                        "sent_internally": 0,
                        "await_customer": 2,
                        "await_agent": 0,
                        "closed": 0,
                        "have_replies": 1,
                        "have_initial_replies": 0
                    },
                    "messages": {
                        "sent": {
                            "count": 3,
                            "initial": 0,
                            "replies": 0,
                            "reply_all": 0,
                            "forward": 0,
                            "follow_up": 0,
                            "initial_replies": 0,
                            "dailyStats": []
                        },
                        "received": {
                            "count": 1,
                            "initial": 0,
                            "replies": 0,
                            "reply_all": 0,
                            "forward": 0,
                            "follow_up": 0,
                            "initial_replies": 0,
                            "dailyStats": []
                        }
                    },
                    "overallTTR": {
                        "friendly": "54m:58s",
                        "raw": 3298,
                        "friendly_no_business": "16h:00m",
                        "raw_no_business": 57612,
                        "percentileRanks": [],
                        "percentileRanksRaw": [],
                        "within_sla": 0,
                        "sla_breach": 3
                    },
                    "overallTTF": {
                        "friendly": "N/A",
                        "raw": null,
                        "friendly_no_business": "N/A",
                        "raw_no_business": null
                    },
                    "initialTTR": {
                        "friendly": "N/A",
                        "raw": null,
                        "friendly_no_business": "N/A",
                        "raw_no_business": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": [],
                        "closed_within_sla": 0,
                        "closed_sla_breach": 0,
                        "in_progress_within_sla": 0,
                        "in_progress_sla_breach": 0,
                        "unhandled_within_sla": 0,
                        "unhandled_sla_breach": 0,
                        "within_sla": 0,
                        "sla_breach": 0
                    },
                    "overallTTC": {
                        "friendly": "N/A",
                        "raw": null,
                        "friendly_no_business": "N/A",
                        "raw_no_business": null,
                        "closed_within_sla": 0,
                        "closed_sla_breach": 0,
                        "in_progress_within_sla": 0,
                        "in_progress_sla_breach": 0,
                        "unhandled_within_sla": 0,
                        "unhandled_sla_breach": 0,
                        "within_sla": 0,
                        "sla_breach": 0,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    }
                }
            ],
            "first_page_url": "https://portal.timetoreply.com/api/reports/contact?page=1",
            "from": 1,
            "last_page": 193,
            "last_page_url": "https://portal.timetoreply.com/api/reports/contact?page=193",
            "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=9",
                    "label": "9",
                    "active": false
                },
                {
                    "url": "https://portal.timetoreply.com/api/reports/contact?page=10",
                    "label": "10",
                    "active": false
                },
                {
                    "url": null,
                    "label": "...",
                    "active": false
                },
                {
                    "url": "https://portal.timetoreply.com/api/reports/contact?page=192",
                    "label": "192",
                    "active": false
                },
                {
                    "url": "https://portal.timetoreply.com/api/reports/contact?page=193",
                    "label": "193",
                    "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": 2,
            "prev_page_url": null,
            "to": 2,
            "total": 386
        },
        "totals": {
            "name": null,
            "threads.total": 189,
            "threads.await_customer": 68,
            "threads.await_agent": 83,
            "messages.received.count": 330,
            "messages.sent.count": 234,
            "overallTTR.friendly": "N/A",
            "overallTTR.friendly_no_business": "N/A",
            "initialTTR.friendly": "N/A",
            "initialTTR.friendly_no_business": "N/A",
            "overallTTC.friendly": "N/A",
            "overallTTC.friendly_no_business": "N/A"
        }
    },
    "emails": {
        "data": {
            "current_page": 1,
            "data": [
                {
                    "name": "[email protected]",
                    "threads": {
                        "total": 3,
                        "internal": 0,
                        "inbound": 0,
                        "outbound": 0,
                        "sent_internally": 0,
                        "await_customer": 0,
                        "await_agent": 3,
                        "closed": 0,
                        "have_replies": 4,
                        "have_initial_replies": 3
                    },
                    "messages": {
                        "sent": {
                            "count": 4,
                            "initial": 0,
                            "replies": 0,
                            "reply_all": 0,
                            "forward": 0,
                            "follow_up": 0,
                            "initial_replies": 0,
                            "dailyStats": []
                        },
                        "received": {
                            "count": 7,
                            "initial": 0,
                            "replies": 0,
                            "reply_all": 0,
                            "forward": 0,
                            "follow_up": 0,
                            "initial_replies": 0,
                            "dailyStats": []
                        }
                    },
                    "overallTTR": {
                        "friendly": "19m:49s",
                        "raw": 1189.75,
                        "friendly_no_business": "23m:32s",
                        "raw_no_business": 1412,
                        "percentileRanks": [],
                        "percentileRanksRaw": [],
                        "within_sla": 0,
                        "sla_breach": 4
                    },
                    "overallTTF": {
                        "friendly": "N/A",
                        "raw": null,
                        "friendly_no_business": "N/A",
                        "raw_no_business": null
                    },
                    "initialTTR": {
                        "friendly": "20m:30s",
                        "raw": 1230.6666666666667,
                        "friendly_no_business": "25m:27s",
                        "raw_no_business": 1527,
                        "percentileRanks": [],
                        "percentileRanksRaw": [],
                        "closed_within_sla": 0,
                        "closed_sla_breach": 0,
                        "in_progress_within_sla": 0,
                        "in_progress_sla_breach": 0,
                        "unhandled_within_sla": 0,
                        "unhandled_sla_breach": 0,
                        "within_sla": 0,
                        "sla_breach": 0
                    },
                    "overallTTC": {
                        "friendly": "N/A",
                        "raw": null,
                        "friendly_no_business": "N/A",
                        "raw_no_business": null,
                        "closed_within_sla": 0,
                        "closed_sla_breach": 0,
                        "in_progress_within_sla": 0,
                        "in_progress_sla_breach": 0,
                        "unhandled_within_sla": 0,
                        "unhandled_sla_breach": 0,
                        "within_sla": 0,
                        "sla_breach": 0,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    }
                },
                {
                    "name": "[email protected]",
                    "threads": {
                        "total": 2,
                        "internal": 0,
                        "inbound": 0,
                        "outbound": 0,
                        "sent_internally": 0,
                        "await_customer": 2,
                        "await_agent": 0,
                        "closed": 0,
                        "have_replies": 1,
                        "have_initial_replies": 1
                    },
                    "messages": {
                        "sent": {
                            "count": 2,
                            "initial": 0,
                            "replies": 0,
                            "reply_all": 0,
                            "forward": 0,
                            "follow_up": 0,
                            "initial_replies": 0,
                            "dailyStats": []
                        },
                        "received": {
                            "count": 1,
                            "initial": 0,
                            "replies": 0,
                            "reply_all": 0,
                            "forward": 0,
                            "follow_up": 0,
                            "initial_replies": 0,
                            "dailyStats": []
                        }
                    },
                    "overallTTR": {
                        "friendly": "00s",
                        "raw": 0,
                        "friendly_no_business": "19m:36s",
                        "raw_no_business": 1176,
                        "percentileRanks": [],
                        "percentileRanksRaw": [],
                        "within_sla": 0,
                        "sla_breach": 2
                    },
                    "overallTTF": {
                        "friendly": "N/A",
                        "raw": null,
                        "friendly_no_business": "N/A",
                        "raw_no_business": null
                    },
                    "initialTTR": {
                        "friendly": "00s",
                        "raw": 0,
                        "friendly_no_business": "19m:36s",
                        "raw_no_business": 1176,
                        "percentileRanks": [],
                        "percentileRanksRaw": [],
                        "closed_within_sla": 0,
                        "closed_sla_breach": 0,
                        "in_progress_within_sla": 0,
                        "in_progress_sla_breach": 0,
                        "unhandled_within_sla": 0,
                        "unhandled_sla_breach": 0,
                        "within_sla": 0,
                        "sla_breach": 0
                    },
                    "overallTTC": {
                        "friendly": "N/A",
                        "raw": null,
                        "friendly_no_business": "N/A",
                        "raw_no_business": null,
                        "closed_within_sla": 0,
                        "closed_sla_breach": 0,
                        "in_progress_within_sla": 0,
                        "in_progress_sla_breach": 0,
                        "unhandled_within_sla": 0,
                        "unhandled_sla_breach": 0,
                        "within_sla": 0,
                        "sla_breach": 0,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    }
                }
            ],
            "first_page_url": "https://portal.timetoreply.com/api/reports/contact?page=1",
            "from": 1,
            "last_page": 237,
            "last_page_url": "https://portal.timetoreply.com/api/reports/contact?page=237",
            "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=9",
                    "label": "9",
                    "active": false
                },
                {
                    "url": "https://portal.timetoreply.com/api/reports/contact?page=10",
                    "label": "10",
                    "active": false
                },
                {
                    "url": null,
                    "label": "...",
                    "active": false
                },
                {
                    "url": "https://portal.timetoreply.com/api/reports/contact?page=236",
                    "label": "236",
                    "active": false
                },
                {
                    "url": "https://portal.timetoreply.com/api/reports/contact?page=237",
                    "label": "237",
                    "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": 2,
            "prev_page_url": null,
            "to": 2,
            "total": 473
        },
        "totals": {
            "name": null,
            "threads.total": 189,
            "threads.await_customer": 68,
            "threads.await_agent": 83,
            "messages.received.count": 330,
            "messages.sent.count": 234,
            "overallTTR.friendly": "N/A",
            "overallTTR.friendly_no_business": "N/A",
            "initialTTR.friendly": "N/A",
            "initialTTR.friendly_no_business": "N/A",
            "overallTTC.friendly": "N/A",
            "overallTTC.friendly_no_business": "N/A"
        }
    },
    "columns": [
        {
            "field": "name",
            "sortable": true,
            "centered": false,
            "label": "Email",
            "visible": true,
            "hasEmails": true,
            "hasComparison": false,
            "headerClass": "w-1/6"
        },
        {
            "field": "threads.total",
            "sortable": true,
            "centered": false,
            "label": "Total",
            "visible": true,
            "hasComparison": true,
            "group": "Conversations"
        },
        {
            "field": "threads.await_customer",
            "sortable": true,
            "centered": false,
            "label": "Awaiting Contact Response",
            "visible": false,
            "hasComparison": true,
            "group": "Conversations"
        },
        {
            "field": "threads.await_agent",
            "sortable": true,
            "centered": false,
            "label": "Awaiting Mailbox Response",
            "visible": false,
            "hasComparison": true,
            "group": "Conversations"
        },
        {
            "field": "messages.received.count",
            "sortable": true,
            "centered": false,
            "label": "Total",
            "visible": true,
            "hasComparison": true,
            "group": "Emails Received"
        },
        {
            "field": "messages.sent.count",
            "sortable": true,
            "centered": false,
            "label": "Total",
            "visible": true,
            "hasComparison": true,
            "group": "Emails Sent"
        },
        {
            "field": "overallTTR.friendly",
            "sortable": true,
            "centered": true,
            "label": "Average",
            "visible": true,
            "hasComparison": false,
            "hasGoals": true,
            "group": "Overall Reply Time"
        },
        {
            "field": "overallTTR.friendly_no_business",
            "sortable": true,
            "centered": true,
            "label": "Average (no business hours)",
            "visible": false,
            "hasComparison": false,
            "group": "Overall Reply Time"
        },
        {
            "field": "initialTTR.friendly",
            "sortable": true,
            "centered": true,
            "label": "Average",
            "visible": true,
            "hasComparison": false,
            "hasGoals": true,
            "group": "First Reply Time"
        },
        {
            "field": "initialTTR.friendly_no_business",
            "sortable": true,
            "centered": true,
            "label": "Average (no business hours)",
            "visible": false,
            "hasComparison": false,
            "group": "First Reply Time"
        },
        {
            "field": "overallTTC.friendly",
            "sortable": true,
            "centered": true,
            "label": "Average",
            "visible": false,
            "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,
            "hasGoals": true,
            "group": "Time To Close"
        },
        {
            "field": "overallTTC.friendly_no_business",
            "sortable": true,
            "centered": true,
            "label": "Average (no business hours)",
            "visible": false,
            "tooltip": "Average time to close a conversation. Measured from the first message in a conversation to the last. Ingores of business hours",
            "hasComparison": false,
            "group": "Time To Close"
        }
    ]
}
 

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,follow-up.

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.

page_emails  integer optional  

For paginated results, which page to get for emails.

per_page_emails  integer optional  

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

direction_emails  string optional  

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

sort_by_emails  string optional  

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

page_domains  integer optional  

For paginated results, which page to get for domains.

per_page_domains  integer optional  

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

direction_domains  string optional  

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

sort_by_domains  string optional  

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

Group Mailboxes - Report

requires authentication

Group Mailboxes Report Data

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

const params = {
    "from": "2020-01-01",
    "to": "2020-01-08",
    "model": "Support",
    "model_type": "Group Mailbox",
    "exclude_cc": "0",
    "model_com": "Top Revenue Contacts",
    "model_type_com": "Contact Group",
    "exclude_cc_com": "0",
    "exclusive": "0",
    "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/group-mailboxes',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'from'=> '2020-01-01',
            'to'=> '2020-01-08',
            'model'=> 'Support',
            'model_type'=> 'Group Mailbox',
            'exclude_cc'=> '0',
            'model_com'=> 'Top Revenue Contacts',
            'model_type_com'=> 'Contact Group',
            'exclude_cc_com'=> '0',
            'exclusive'=> '0',
            '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));
curl --request GET \
    --get "https://portal.timetoreply.com/api/reports/group-mailboxes?from=2020-01-01&to=2020-01-08&model=Support&model_type=Group+Mailbox&exclude_cc=&model_com=Top+Revenue+Contacts&model_type_com=Contact+Group&exclude_cc_com=&exclusive=&label=INBOX&thread_type=inbound%2Coutbound%2Cinternal&thread_status=internal%2Cawait-customer%2Cclosed%2Cawait-agent&has_replies=hasReplies%2ChasForwards%2ChasNoRepliesOrForwards&classification=calculating%2Cfirst%2Creply%2Creply-all%2Cforward&messageType=inbound%2Coutbound%2Cinternal&replies_over=15&message_replies_over=15&no_reply_for=15&per_page=2&sort_by=threads.total&direction=desc&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 
{
    "stats": {
        "threads": {
            "total": 42,
            "internal": 0,
            "inbound": 42,
            "outbound": 0,
            "sent_internally": 1,
            "await_customer": 10,
            "await_agent": 28,
            "closed": 3,
            "have_replies": 31,
            "have_replies_from_agents": 31,
            "completionRatio": {
                "ratio": "71.43%",
                "numerator": 30,
                "denominator": 42
            }
        },
        "messages": {
            "count": 111,
            "initial": 0,
            "replies": 0,
            "reply_all": 0,
            "forward": 0,
            "follow_up": 0,
            "received": {
                "count": 85,
                "initial": 42,
                "replies": 23,
                "reply_all": 19,
                "forward": 1,
                "follow_up": 0,
                "initial_replies": 0,
                "dayOfWeek": {
                    "Monday": 0,
                    "Tuesday": 0,
                    "Wednesday": 0,
                    "Thursday": 0,
                    "Friday": 0,
                    "Saturday": 0,
                    "Sunday": 0
                },
                "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,
                    "10:00": 0,
                    "11:00": 0,
                    "12:00": 0,
                    "13:00": 0,
                    "14:00": 0,
                    "15:00": 0,
                    "16:00": 0,
                    "17:00": 0,
                    "18:00": 0,
                    "19:00": 0,
                    "20:00": 0,
                    "21:00": 0,
                    "22:00": 0,
                    "23:00": 0
                }
            },
            "sent": {
                "count": 41,
                "initial": 0,
                "replies": 27,
                "reply_all": 13,
                "forward": 1,
                "follow_up": 0,
                "initial_replies": 30,
                "dayOfWeek": {
                    "Monday": 0,
                    "Tuesday": 0,
                    "Wednesday": 0,
                    "Thursday": 0,
                    "Friday": 0,
                    "Saturday": 0,
                    "Sunday": 0
                },
                "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,
                    "10:00": 0,
                    "11:00": 0,
                    "12:00": 0,
                    "13:00": 0,
                    "14:00": 0,
                    "15:00": 0,
                    "16:00": 0,
                    "17:00": 0,
                    "18:00": 0,
                    "19:00": 0,
                    "20:00": 0,
                    "21:00": 0,
                    "22:00": 0,
                    "23:00": 0
                }
            }
        },
        "overallTTR": {
            "friendly": "44m:51s",
            "raw": 2691.95,
            "friendly_no_business": "01h:25m",
            "raw_no_business": 5148.85,
            "percentileRanks": [],
            "percentileRanksRaw": [],
            "within_sla": 0,
            "sla_breach": 41
        },
        "initialTTR": {
            "friendly": "48m:05s",
            "raw": 2885.6666666666665,
            "friendly_no_business": "01h:10m",
            "raw_no_business": 4242.666666666667,
            "percentileRanks": [],
            "percentileRanksRaw": [],
            "closed_within_sla": 0,
            "closed_sla_breach": 0,
            "in_progress_within_sla": 0,
            "in_progress_sla_breach": 0,
            "unhandled_within_sla": 0,
            "unhandled_sla_breach": 0,
            "within_sla": 0,
            "sla_breach": 0
        },
        "overallTTF": {
            "friendly": "21m:29s",
            "raw": 1289,
            "friendly_no_business": "21m:29s",
            "raw_no_business": 1289
        },
        "overallTTC": {
            "friendly": "09m:01s",
            "raw": 541.6666666666666,
            "friendly_no_business": "24m:02s",
            "raw_no_business": 1442.3333333333333,
            "percentileRanks": [],
            "percentileRanksRaw": [],
            "closed_within_sla": 0,
            "closed_sla_breach": 0,
            "in_progress_within_sla": 0,
            "in_progress_sla_breach": 0,
            "unhandled_within_sla": 0,
            "unhandled_sla_breach": 0,
            "within_sla": 0,
            "sla_breach": 0
        },
        "dailyStats": []
    },
    "all_group_mailbox_stats": {
        "current_page": 1,
        "data": [
            {
                "threads": {
                    "total": 42,
                    "internal": 0,
                    "inbound": 42,
                    "outbound": 0,
                    "sent_internally": 1,
                    "await_customer": 10,
                    "await_agent": 28,
                    "closed": 3,
                    "have_replies": 31,
                    "have_replies_from_agents": 31,
                    "completionRatio": {
                        "ratio": "71.43%",
                        "numerator": 30,
                        "denominator": 42
                    }
                },
                "messages": {
                    "count": 111,
                    "initial": 0,
                    "replies": 0,
                    "reply_all": 0,
                    "forward": 0,
                    "follow_up": 0,
                    "received": {
                        "count": 85,
                        "initial": 42,
                        "replies": 23,
                        "reply_all": 19,
                        "forward": 1,
                        "follow_up": 0,
                        "initial_replies": 0,
                        "dayOfWeek": {
                            "Monday": 0,
                            "Tuesday": 0,
                            "Wednesday": 0,
                            "Thursday": 0,
                            "Friday": 0,
                            "Saturday": 0,
                            "Sunday": 0
                        },
                        "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,
                            "10:00": 0,
                            "11:00": 0,
                            "12:00": 0,
                            "13:00": 0,
                            "14:00": 0,
                            "15:00": 0,
                            "16:00": 0,
                            "17:00": 0,
                            "18:00": 0,
                            "19:00": 0,
                            "20:00": 0,
                            "21:00": 0,
                            "22:00": 0,
                            "23:00": 0
                        }
                    },
                    "sent": {
                        "count": 41,
                        "initial": 0,
                        "replies": 27,
                        "reply_all": 13,
                        "forward": 1,
                        "follow_up": 0,
                        "initial_replies": 30,
                        "dayOfWeek": {
                            "Monday": 0,
                            "Tuesday": 0,
                            "Wednesday": 0,
                            "Thursday": 0,
                            "Friday": 0,
                            "Saturday": 0,
                            "Sunday": 0
                        },
                        "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,
                            "10:00": 0,
                            "11:00": 0,
                            "12:00": 0,
                            "13:00": 0,
                            "14:00": 0,
                            "15:00": 0,
                            "16:00": 0,
                            "17:00": 0,
                            "18:00": 0,
                            "19:00": 0,
                            "20:00": 0,
                            "21:00": 0,
                            "22:00": 0,
                            "23:00": 0
                        }
                    }
                },
                "overallTTR": {
                    "friendly": "44m:51s",
                    "raw": 2691.95,
                    "friendly_no_business": "01h:25m",
                    "raw_no_business": 5148.85,
                    "percentileRanks": [],
                    "percentileRanksRaw": [],
                    "within_sla": 0,
                    "sla_breach": 41,
                    "goal_status": null,
                    "goal": null
                },
                "initialTTR": {
                    "friendly": "48m:05s",
                    "raw": 2885.6666666666665,
                    "friendly_no_business": "01h:10m",
                    "raw_no_business": 4242.666666666667,
                    "percentileRanks": [],
                    "percentileRanksRaw": [],
                    "closed_within_sla": 0,
                    "closed_sla_breach": 0,
                    "in_progress_within_sla": 0,
                    "in_progress_sla_breach": 0,
                    "unhandled_within_sla": 0,
                    "unhandled_sla_breach": 0,
                    "within_sla": 0,
                    "sla_breach": 0,
                    "goal_status": null,
                    "goal": null
                },
                "overallTTF": {
                    "friendly": "21m:29s",
                    "raw": 1289,
                    "friendly_no_business": "21m:29s",
                    "raw_no_business": 1289
                },
                "overallTTC": {
                    "friendly": "09m:01s",
                    "raw": 541.6666666666666,
                    "friendly_no_business": "24m:02s",
                    "raw_no_business": 1442.3333333333333,
                    "percentileRanks": [],
                    "percentileRanksRaw": [],
                    "closed_within_sla": 0,
                    "closed_sla_breach": 0,
                    "in_progress_within_sla": 0,
                    "in_progress_sla_breach": 0,
                    "unhandled_within_sla": 0,
                    "unhandled_sla_breach": 0,
                    "within_sla": 0,
                    "sla_breach": 0,
                    "goal_status": null,
                    "goal": null
                },
                "dailyStats": [],
                "name": "Support",
                "members": {
                    "current_page": 1,
                    "data": [
                        {
                            "name": "[email protected]",
                            "threads": {
                                "total": 42,
                                "internal": 0,
                                "inbound": 42,
                                "outbound": 0,
                                "sent_internally": 1,
                                "await_customer": 10,
                                "await_agent": 28,
                                "closed": 3,
                                "have_replies": 0,
                                "have_initial_replies": 0
                            },
                            "messages": {
                                "sent": {
                                    "count": 0,
                                    "initial": 0,
                                    "replies": 0,
                                    "reply_all": 0,
                                    "forward": 0,
                                    "follow_up": 0,
                                    "initial_replies": 0,
                                    "dailyStats": null
                                },
                                "received": {
                                    "count": 61,
                                    "initial": 42,
                                    "replies": 0,
                                    "reply_all": 19,
                                    "forward": 0,
                                    "follow_up": 0,
                                    "initial_replies": 0,
                                    "dailyStats": []
                                }
                            },
                            "overallTTR": {
                                "friendly": "N/A",
                                "raw": null,
                                "friendly_no_business": "N/A",
                                "raw_no_business": null,
                                "percentileRanks": [],
                                "percentileRanksRaw": [],
                                "within_sla": 0,
                                "sla_breach": 0,
                                "goal_status": null,
                                "goal": null
                            },
                            "overallTTF": {
                                "friendly": "N/A",
                                "raw": null,
                                "friendly_no_business": "N/A",
                                "raw_no_business": null
                            },
                            "initialTTR": {
                                "friendly": "N/A",
                                "raw": null,
                                "friendly_no_business": "N/A",
                                "raw_no_business": null,
                                "percentileRanks": [],
                                "percentileRanksRaw": [],
                                "closed_within_sla": 0,
                                "closed_sla_breach": 0,
                                "in_progress_within_sla": 0,
                                "in_progress_sla_breach": 0,
                                "unhandled_within_sla": 0,
                                "unhandled_sla_breach": 0,
                                "within_sla": 0,
                                "sla_breach": 0,
                                "goal_status": null,
                                "goal": null
                            },
                            "overallTTC": {
                                "friendly": "09m:01s",
                                "raw": 541.6666666666666,
                                "friendly_no_business": "24m:02s",
                                "raw_no_business": 1442.3333333333333,
                                "closed_within_sla": 0,
                                "closed_sla_breach": 0,
                                "in_progress_within_sla": 0,
                                "in_progress_sla_breach": 0,
                                "unhandled_within_sla": 0,
                                "unhandled_sla_breach": 0,
                                "within_sla": 0,
                                "sla_breach": 0,
                                "percentileRanks": [
                                    {
                                        "key": "15m:00s",
                                        "value": "100.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": "29.81%"
                                    },
                                    {
                                        "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%"
                                    }
                                ],
                                "goal_status": null,
                                "goal": null
                            }
                        },
                        {
                            "name": "[email protected]",
                            "threads": {
                                "total": 21,
                                "internal": 0,
                                "inbound": 21,
                                "outbound": 0,
                                "sent_internally": 1,
                                "await_customer": 4,
                                "await_agent": 13,
                                "closed": 3,
                                "have_replies": 23,
                                "have_initial_replies": 20
                            },
                            "messages": {
                                "sent": {
                                    "count": 24,
                                    "initial": 0,
                                    "replies": 14,
                                    "reply_all": 9,
                                    "forward": 1,
                                    "follow_up": 0,
                                    "initial_replies": 0,
                                    "dailyStats": []
                                },
                                "received": {
                                    "count": 19,
                                    "initial": 0,
                                    "replies": 15,
                                    "reply_all": 4,
                                    "forward": 0,
                                    "follow_up": 0,
                                    "initial_replies": 0,
                                    "dailyStats": []
                                }
                            },
                            "overallTTR": {
                                "friendly": "50m:31s",
                                "raw": 3031.478260869565,
                                "friendly_no_business": "01h:19m",
                                "raw_no_business": 4745.217391304348,
                                "percentileRanks": [
                                    {
                                        "key": "15m:00s",
                                        "value": "28.98%"
                                    },
                                    {
                                        "key": "01h:00m",
                                        "value": "83.80%"
                                    },
                                    {
                                        "key": "02h:00m",
                                        "value": "87.35%"
                                    },
                                    {
                                        "key": "04h:00m",
                                        "value": "92.31%"
                                    },
                                    {
                                        "key": "08h:00m",
                                        "value": "100.00%"
                                    },
                                    {
                                        "key": "24h:00m",
                                        "value": "100.00%"
                                    }
                                ],
                                "percentileRanksRaw": [
                                    {
                                        "key": "15m:00s",
                                        "value": "16.85%"
                                    },
                                    {
                                        "key": "01h:00m",
                                        "value": "83.27%"
                                    },
                                    {
                                        "key": "02h:00m",
                                        "value": "85.39%"
                                    },
                                    {
                                        "key": "04h:00m",
                                        "value": "89.38%"
                                    },
                                    {
                                        "key": "08h:00m",
                                        "value": "94.63%"
                                    },
                                    {
                                        "key": "24h:00m",
                                        "value": "100.00%"
                                    }
                                ],
                                "within_sla": 0,
                                "sla_breach": 24,
                                "goal_status": null,
                                "goal": null
                            },
                            "overallTTF": {
                                "friendly": "21m:29s",
                                "raw": 1289,
                                "friendly_no_business": "21m:29s",
                                "raw_no_business": 1289
                            },
                            "initialTTR": {
                                "friendly": "54m:53s",
                                "raw": 3293.6,
                                "friendly_no_business": "01h:27m",
                                "raw_no_business": 5264.4,
                                "percentileRanks": [
                                    {
                                        "key": "15m:00s",
                                        "value": "32.09%"
                                    },
                                    {
                                        "key": "01h:00m",
                                        "value": "81.37%"
                                    },
                                    {
                                        "key": "02h:00m",
                                        "value": "85.45%"
                                    },
                                    {
                                        "key": "04h:00m",
                                        "value": "91.16%"
                                    },
                                    {
                                        "key": "08h:00m",
                                        "value": "100.00%"
                                    },
                                    {
                                        "key": "24h:00m",
                                        "value": "100.00%"
                                    }
                                ],
                                "percentileRanksRaw": [
                                    {
                                        "key": "15m:00s",
                                        "value": "19.38%"
                                    },
                                    {
                                        "key": "01h:00m",
                                        "value": "80.76%"
                                    },
                                    {
                                        "key": "02h:00m",
                                        "value": "83.20%"
                                    },
                                    {
                                        "key": "04h:00m",
                                        "value": "87.79%"
                                    },
                                    {
                                        "key": "08h:00m",
                                        "value": "93.82%"
                                    },
                                    {
                                        "key": "24h:00m",
                                        "value": "100.00%"
                                    }
                                ],
                                "closed_within_sla": 0,
                                "closed_sla_breach": 0,
                                "in_progress_within_sla": 0,
                                "in_progress_sla_breach": 0,
                                "unhandled_within_sla": 0,
                                "unhandled_sla_breach": 0,
                                "within_sla": 0,
                                "sla_breach": 0,
                                "goal_status": null,
                                "goal": null
                            },
                            "overallTTC": {
                                "friendly": "09m:01s",
                                "raw": 541.6666666666666,
                                "friendly_no_business": "24m:02s",
                                "raw_no_business": 1442.3333333333333,
                                "closed_within_sla": 0,
                                "closed_sla_breach": 0,
                                "in_progress_within_sla": 0,
                                "in_progress_sla_breach": 0,
                                "unhandled_within_sla": 0,
                                "unhandled_sla_breach": 0,
                                "within_sla": 0,
                                "sla_breach": 0,
                                "percentileRanks": [
                                    {
                                        "key": "15m:00s",
                                        "value": "100.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": "29.81%"
                                    },
                                    {
                                        "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%"
                                    }
                                ],
                                "goal_status": null,
                                "goal": null
                            }
                        },
                        {
                            "name": "[email protected]",
                            "threads": {
                                "total": 11,
                                "internal": 0,
                                "inbound": 11,
                                "outbound": 0,
                                "sent_internally": 1,
                                "await_customer": 6,
                                "await_agent": 4,
                                "closed": 0,
                                "have_replies": 17,
                                "have_initial_replies": 10
                            },
                            "messages": {
                                "sent": {
                                    "count": 17,
                                    "initial": 0,
                                    "replies": 13,
                                    "reply_all": 4,
                                    "forward": 0,
                                    "follow_up": 0,
                                    "initial_replies": 0,
                                    "dailyStats": []
                                },
                                "received": {
                                    "count": 11,
                                    "initial": 0,
                                    "replies": 8,
                                    "reply_all": 2,
                                    "forward": 1,
                                    "follow_up": 0,
                                    "initial_replies": 0,
                                    "dailyStats": []
                                }
                            },
                            "overallTTR": {
                                "friendly": "37m:12s",
                                "raw": 2232.5882352941176,
                                "friendly_no_business": "01h:34m",
                                "raw_no_business": 5694.941176470588,
                                "percentileRanks": [
                                    {
                                        "key": "15m:00s",
                                        "value": "42.59%"
                                    },
                                    {
                                        "key": "01h:00m",
                                        "value": "84.65%"
                                    },
                                    {
                                        "key": "02h:00m",
                                        "value": "89.32%"
                                    },
                                    {
                                        "key": "04h:00m",
                                        "value": "100.00%"
                                    },
                                    {
                                        "key": "08h:00m",
                                        "value": "100.00%"
                                    },
                                    {
                                        "key": "24h:00m",
                                        "value": "100.00%"
                                    }
                                ],
                                "percentileRanksRaw": [
                                    {
                                        "key": "15m:00s",
                                        "value": "36.71%"
                                    },
                                    {
                                        "key": "01h:00m",
                                        "value": "84.50%"
                                    },
                                    {
                                        "key": "02h:00m",
                                        "value": "88.38%"
                                    },
                                    {
                                        "key": "04h:00m",
                                        "value": "89.63%"
                                    },
                                    {
                                        "key": "08h:00m",
                                        "value": "92.14%"
                                    },
                                    {
                                        "key": "24h:00m",
                                        "value": "100.00%"
                                    }
                                ],
                                "within_sla": 0,
                                "sla_breach": 17,
                                "goal_status": null,
                                "goal": null
                            },
                            "overallTTF": {
                                "friendly": "N/A",
                                "raw": null,
                                "friendly_no_business": "N/A",
                                "raw_no_business": null
                            },
                            "initialTTR": {
                                "friendly": "34m:29s",
                                "raw": 2069.8,
                                "friendly_no_business": "36m:39s",
                                "raw_no_business": 2199.2,
                                "percentileRanks": [
                                    {
                                        "key": "15m:00s",
                                        "value": "30.48%"
                                    },
                                    {
                                        "key": "01h:00m",
                                        "value": "83.90%"
                                    },
                                    {
                                        "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": "30.48%"
                                    },
                                    {
                                        "key": "01h:00m",
                                        "value": "83.64%"
                                    },
                                    {
                                        "key": "02h:00m",
                                        "value": "100.00%"
                                    },
                                    {
                                        "key": "04h:00m",
                                        "value": "100.00%"
                                    },
                                    {
                                        "key": "08h:00m",
                                        "value": "100.00%"
                                    },
                                    {
                                        "key": "24h:00m",
                                        "value": "100.00%"
                                    }
                                ],
                                "closed_within_sla": 0,
                                "closed_sla_breach": 0,
                                "in_progress_within_sla": 0,
                                "in_progress_sla_breach": 0,
                                "unhandled_within_sla": 0,
                                "unhandled_sla_breach": 0,
                                "within_sla": 0,
                                "sla_breach": 0,
                                "goal_status": null,
                                "goal": null
                            },
                            "overallTTC": {
                                "friendly": "N/A",
                                "raw": null,
                                "friendly_no_business": "N/A",
                                "raw_no_business": null,
                                "closed_within_sla": 0,
                                "closed_sla_breach": 0,
                                "in_progress_within_sla": 0,
                                "in_progress_sla_breach": 0,
                                "unhandled_within_sla": 0,
                                "unhandled_sla_breach": 0,
                                "within_sla": 0,
                                "sla_breach": 0,
                                "percentileRanks": [
                                    {
                                        "key": "15m:00s",
                                        "value": "0.00%"
                                    },
                                    {
                                        "key": "01h:00m",
                                        "value": "0.00%"
                                    },
                                    {
                                        "key": "02h:00m",
                                        "value": "0.00%"
                                    },
                                    {
                                        "key": "04h:00m",
                                        "value": "0.00%"
                                    },
                                    {
                                        "key": "08h:00m",
                                        "value": "0.00%"
                                    },
                                    {
                                        "key": "24h:00m",
                                        "value": "0.00%"
                                    }
                                ],
                                "percentileRanksRaw": [
                                    {
                                        "key": "15m:00s",
                                        "value": "0.00%"
                                    },
                                    {
                                        "key": "01h:00m",
                                        "value": "0.00%"
                                    },
                                    {
                                        "key": "02h:00m",
                                        "value": "0.00%"
                                    },
                                    {
                                        "key": "04h:00m",
                                        "value": "0.00%"
                                    },
                                    {
                                        "key": "08h:00m",
                                        "value": "0.00%"
                                    },
                                    {
                                        "key": "24h:00m",
                                        "value": "0.00%"
                                    }
                                ],
                                "goal_status": null,
                                "goal": null
                            }
                        }
                    ],
                    "first_page_url": "https://portal.timetoreply.com/api/reports/group-mailboxes?page=1",
                    "from": 1,
                    "last_page": 1,
                    "last_page_url": "https://portal.timetoreply.com/api/reports/group-mailboxes?page=1",
                    "links": [
                        {
                            "url": null,
                            "label": "« Previous",
                            "active": false
                        },
                        {
                            "url": "https://portal.timetoreply.com/api/reports/group-mailboxes?page=1",
                            "label": "1",
                            "active": true
                        },
                        {
                            "url": null,
                            "label": "Next »",
                            "active": false
                        }
                    ],
                    "next_page_url": null,
                    "path": "https://portal.timetoreply.com/api/reports/group-mailboxes",
                    "per_page": 15,
                    "prev_page_url": null,
                    "to": 3,
                    "total": 3
                }
            }
        ],
        "first_page_url": "/?page=1",
        "from": 1,
        "last_page": 1,
        "last_page_url": "/?page=1",
        "links": [
            {
                "url": null,
                "label": "« Previous",
                "active": false
            },
            {
                "url": "/?page=1",
                "label": "1",
                "active": true
            },
            {
                "url": null,
                "label": "Next »",
                "active": false
            }
        ],
        "next_page_url": null,
        "path": "/",
        "per_page": 2,
        "prev_page_url": null,
        "to": 1,
        "total": 1
    },
    "args": {
        "model": {
            "model_type": "Group Mailbox"
        },
        "modelCom": {
            "icon": "globe-americas",
            "id": null,
            "model_type": "Anybody",
            "name": "Anybody",
            "value": "Anybody"
        }
    }
}
 

Request   

GET api/reports/group-mailboxes

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 of the group mailbox you want statistics for. Use the models endpoint to get a list.

model_type  string optional  

Model Type of the model being queried. Can only be 'Internal' or 'Group Mailbox'.

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,follow-up.

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.

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": "0",
    "model_com": "Top Revenue Contacts",
    "model_type_com": "Contact Group",
    "exclude_cc_com": "0",
    "exclusive": "0",
    "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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'from'=> '2020-01-01',
            'to'=> '2020-01-08',
            'model'=> 'My Company',
            'model_type'=> 'Internal',
            'exclude_cc'=> '0',
            'model_com'=> 'Top Revenue Contacts',
            'model_type_com'=> 'Contact Group',
            'exclude_cc_com'=> '0',
            'exclusive'=> '0',
            '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));
curl --request GET \
    --get "https://portal.timetoreply.com/api/reports/interactions?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%2Coutbound%2Cinternal&thread_status=internal%2Cawait-customer%2Cclosed%2Cawait-agent&has_replies=hasReplies%2ChasForwards%2ChasNoRepliesOrForwards&classification=calculating%2Cfirst%2Creply%2Creply-all%2Cforward&messageType=inbound%2Coutbound%2Cinternal&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" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 
{
    "Ewell Raynor": {
        "interactions": {},
        "agent": {
            "id": 2,
            "name": "Ewell Raynor",
            "email_usernames": {
                "0": "[email protected]"
            },
            "model_type": "Mailbox",
            "icon": "user-plus",
            "key": 0
        }
    }
}
 

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,follow-up.

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": "0",
    "model_com": "Top Revenue Contacts",
    "model_type_com": "Contact Group",
    "exclude_cc_com": "0",
    "exclusive": "0",
    "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",
    "sort_by": "threads.total",
    "direction": "desc",
    "per_page_agents": "2",
    "page_agents": "1",
    "per_page_contacts": "2",
    "page_contacts": "1",
    "per_page_domains": "2",
    "page_domains": "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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'from'=> '2020-01-01',
            'to'=> '2020-01-08',
            'model'=> 'timetoreply.com',
            'model_type'=> 'Contact',
            'exclude_cc'=> '0',
            'model_com'=> 'Top Revenue Contacts',
            'model_type_com'=> 'Contact Group',
            'exclude_cc_com'=> '0',
            'exclusive'=> '0',
            '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',
            'sort_by'=> 'threads.total',
            'direction'=> 'desc',
            'per_page_agents'=> '2',
            'page_agents'=> '1',
            'per_page_contacts'=> '2',
            'page_contacts'=> '1',
            'per_page_domains'=> '2',
            'page_domains'=> '1',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://portal.timetoreply.com/api/reports/overview?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%2Coutbound%2Cinternal&thread_status=internal%2Cawait-customer%2Cclosed%2Cawait-agent&has_replies=hasReplies%2ChasForwards%2ChasNoRepliesOrForwards&classification=calculating%2Cfirst%2Creply%2Creply-all%2Cforward&messageType=inbound%2Coutbound%2Cinternal&replies_over=15&message_replies_over=15&no_reply_for=15&sort_by=threads.total&direction=desc&per_page_agents=2&page_agents=1&per_page_contacts=2&page_contacts=1&per_page_domains=2&page_domains=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 
{
    "stats": {
        "threads": {
            "total": 189,
            "internal": 14,
            "inbound": 150,
            "outbound": 25,
            "sent_internally": 18,
            "await_customer": 68,
            "await_agent": 83,
            "closed": 20,
            "have_replies": 148,
            "have_replies_from_agents": 141,
            "completionRatio": {
                "ratio": "500.00%",
                "numerator": 125,
                "denominator": 25
            }
        },
        "messages": {
            "count": 488,
            "initial": 0,
            "replies": 0,
            "reply_all": 0,
            "forward": 0,
            "follow_up": 0,
            "received": {
                "count": 322,
                "initial": 159,
                "replies": 114,
                "reply_all": 43,
                "forward": 6,
                "follow_up": 0,
                "initial_replies": 0,
                "dayOfWeek": {
                    "Monday": 71,
                    "Tuesday": 29.5,
                    "Wednesday": 64,
                    "Thursday": 62,
                    "Friday": 63,
                    "Saturday": 1,
                    "Sunday": 2
                },
                "hourOfDay": {
                    "00:00": 0,
                    "01:00": 0.125,
                    "02:00": 0.125,
                    "03:00": 0,
                    "04:00": 0,
                    "05:00": 0,
                    "06:00": 0,
                    "07:00": 0,
                    "08:00": 0,
                    "09:00": 1.875,
                    "10:00": 4.125,
                    "11:00": 5.625,
                    "12:00": 5.375,
                    "13:00": 3.75,
                    "14:00": 3.75,
                    "15:00": 4.875,
                    "16:00": 5,
                    "17:00": 5,
                    "18:00": 0.125,
                    "19:00": 0.25,
                    "20:00": 0,
                    "21:00": 0.125,
                    "22:00": 0,
                    "23:00": 0.125
                }
            },
            "sent": {
                "count": 230,
                "initial": 37,
                "replies": 159,
                "reply_all": 28,
                "forward": 6,
                "follow_up": 0,
                "initial_replies": 125,
                "dayOfWeek": {
                    "Monday": 58,
                    "Tuesday": 41,
                    "Wednesday": 38,
                    "Thursday": 46,
                    "Friday": 46,
                    "Saturday": 0,
                    "Sunday": 1
                },
                "hourOfDay": {
                    "00:00": 0,
                    "01:00": 0.125,
                    "02:00": 0.125,
                    "03:00": 0,
                    "04:00": 0,
                    "05:00": 0,
                    "06:00": 0,
                    "07:00": 0,
                    "08:00": 0,
                    "09:00": 0.75,
                    "10:00": 3.25,
                    "11:00": 3.25,
                    "12:00": 3.625,
                    "13:00": 3.25,
                    "14:00": 2.875,
                    "15:00": 3.25,
                    "16:00": 3.875,
                    "17:00": 4,
                    "18:00": 0,
                    "19:00": 0.125,
                    "20:00": 0,
                    "21:00": 0,
                    "22:00": 0,
                    "23:00": 0.25
                }
            }
        },
        "overallTTR": {
            "friendly": "01h:34m",
            "raw": 5682.850267379679,
            "friendly_no_business": "04h:28m",
            "raw_no_business": 16138.417112299465,
            "percentileRanks": [
                {
                    "key": "15m:00s",
                    "value": "41.48%"
                },
                {
                    "key": "01h:00m",
                    "value": "82.88%"
                },
                {
                    "key": "02h:00m",
                    "value": "86.59%"
                },
                {
                    "key": "04h:00m",
                    "value": "92.00%"
                },
                {
                    "key": "08h:00m",
                    "value": "95.15%"
                },
                {
                    "key": "24h:00m",
                    "value": "98.65%"
                }
            ],
            "percentileRanksRaw": [
                {
                    "key": "15m:00s",
                    "value": "34.93%"
                },
                {
                    "key": "01h:00m",
                    "value": "82.35%"
                },
                {
                    "key": "02h:00m",
                    "value": "84.92%"
                },
                {
                    "key": "04h:00m",
                    "value": "88.92%"
                },
                {
                    "key": "08h:00m",
                    "value": "91.06%"
                },
                {
                    "key": "24h:00m",
                    "value": "94.61%"
                }
            ],
            "within_sla": 0,
            "sla_breach": 230
        },
        "initialTTR": {
            "friendly": "01h:14m",
            "raw": 4494.648,
            "friendly_no_business": "03h:37m",
            "raw_no_business": 13027.032,
            "percentileRanks": [
                {
                    "key": "15m:00s",
                    "value": "39.65%"
                },
                {
                    "key": "01h:00m",
                    "value": "83.99%"
                },
                {
                    "key": "02h:00m",
                    "value": "88.74%"
                },
                {
                    "key": "04h:00m",
                    "value": "92.84%"
                },
                {
                    "key": "08h:00m",
                    "value": "96.48%"
                },
                {
                    "key": "24h:00m",
                    "value": "99.13%"
                }
            ],
            "percentileRanksRaw": [
                {
                    "key": "15m:00s",
                    "value": "33.05%"
                },
                {
                    "key": "01h:00m",
                    "value": "83.99%"
                },
                {
                    "key": "02h:00m",
                    "value": "87.09%"
                },
                {
                    "key": "04h:00m",
                    "value": "89.95%"
                },
                {
                    "key": "08h:00m",
                    "value": "93.03%"
                },
                {
                    "key": "24h:00m",
                    "value": "95.83%"
                }
            ],
            "closed_within_sla": 0,
            "closed_sla_breach": 0,
            "in_progress_within_sla": 0,
            "in_progress_sla_breach": 0,
            "unhandled_within_sla": 0,
            "unhandled_sla_breach": 0,
            "within_sla": 0,
            "sla_breach": 0
        },
        "overallTTF": {
            "friendly": "09m:12s",
            "raw": 552.3333333333334,
            "friendly_no_business": "10m:21s",
            "raw_no_business": 621.5
        },
        "overallTTC": {
            "friendly": "58m:19s",
            "raw": 3499.266666666667,
            "friendly_no_business": "01h:02m",
            "raw_no_business": 3776.2,
            "percentileRanks": [
                {
                    "key": "15m:00s",
                    "value": "20.43%"
                },
                {
                    "key": "01h:00m",
                    "value": "69.59%"
                },
                {
                    "key": "02h:00m",
                    "value": "83.86%"
                },
                {
                    "key": "04h:00m",
                    "value": "100.00%"
                },
                {
                    "key": "08h:00m",
                    "value": "100.00%"
                },
                {
                    "key": "24h:00m",
                    "value": "100.00%"
                }
            ],
            "percentileRanksRaw": [
                {
                    "key": "15m:00s",
                    "value": "7.43%"
                },
                {
                    "key": "01h:00m",
                    "value": "69.59%"
                },
                {
                    "key": "02h:00m",
                    "value": "83.86%"
                },
                {
                    "key": "04h:00m",
                    "value": "100.00%"
                },
                {
                    "key": "08h:00m",
                    "value": "100.00%"
                },
                {
                    "key": "24h:00m",
                    "value": "100.00%"
                }
            ],
            "closed_within_sla": 0,
            "closed_sla_breach": 0,
            "in_progress_within_sla": 0,
            "in_progress_sla_breach": 0,
            "unhandled_within_sla": 0,
            "unhandled_sla_breach": 0,
            "within_sla": 0,
            "sla_breach": 0
        },
        "dailyStats": [
            {
                "timestamp": 1640649600000,
                "date": "Tue, 28th Dec",
                "messages": {
                    "sent": 41,
                    "forward": 0,
                    "reply": 31,
                    "received": 58
                },
                "overallTTR": {
                    "raw": 3659.7419354838707,
                    "raw_no_business": 5772.290322580645
                },
                "overallTTF": {
                    "raw": null,
                    "raw_no_business": null
                },
                "initialTTR": {
                    "raw": 4739.8421052631575,
                    "raw_no_business": 8022.894736842105
                },
                "threads": {
                    "total": 31,
                    "have_replies_from_agents": 12,
                    "no_reply_from_agents": 0,
                    "completionRatio": 38.71
                }
            },
            {
                "timestamp": 1640736000000,
                "date": "Wed, 29th Dec",
                "messages": {
                    "sent": 38,
                    "forward": 4,
                    "reply": 30,
                    "received": 64
                },
                "overallTTR": {
                    "raw": 5237.266666666666,
                    "raw_no_business": 14795.5
                },
                "overallTTF": {
                    "raw": 506.25,
                    "raw_no_business": 506.25
                },
                "initialTTR": {
                    "raw": 4110.55,
                    "raw_no_business": 9972.2
                },
                "threads": {
                    "total": 35,
                    "have_replies_from_agents": 11,
                    "no_reply_from_agents": 0,
                    "completionRatio": 31.43
                }
            },
            {
                "timestamp": 1640822400000,
                "date": "Thu, 30th Dec",
                "messages": {
                    "sent": 46,
                    "forward": 0,
                    "reply": 38,
                    "received": 62
                },
                "overallTTR": {
                    "raw": 11168.368421052632,
                    "raw_no_business": 28443.92105263158
                },
                "overallTTF": {
                    "raw": null,
                    "raw_no_business": null
                },
                "initialTTR": {
                    "raw": 8303.095238095239,
                    "raw_no_business": 17975.333333333332
                },
                "threads": {
                    "total": 37,
                    "have_replies_from_agents": 16,
                    "no_reply_from_agents": 0,
                    "completionRatio": 43.24
                }
            },
            {
                "timestamp": 1640908800000,
                "date": "Fri, 31st Dec",
                "messages": {
                    "sent": 46,
                    "forward": 1,
                    "reply": 36,
                    "received": 63
                },
                "overallTTR": {
                    "raw": 5002.055555555556,
                    "raw_no_business": 13029.666666666666
                },
                "overallTTF": {
                    "raw": 1289,
                    "raw_no_business": 1289
                },
                "initialTTR": {
                    "raw": 2055.896551724138,
                    "raw_no_business": 3079.862068965517
                },
                "threads": {
                    "total": 40,
                    "have_replies_from_agents": 16,
                    "no_reply_from_agents": 0,
                    "completionRatio": 40
                }
            },
            {
                "timestamp": 1640995200000,
                "date": "Sat, 1st Jan",
                "messages": {
                    "sent": 0,
                    "forward": 0,
                    "reply": 0,
                    "received": 1
                },
                "overallTTR": {
                    "raw": null,
                    "raw_no_business": null
                },
                "overallTTF": {
                    "raw": null,
                    "raw_no_business": null
                },
                "initialTTR": {
                    "raw": null,
                    "raw_no_business": null
                },
                "threads": {
                    "total": 1,
                    "have_replies_from_agents": 0,
                    "no_reply_from_agents": 0,
                    "completionRatio": 0
                }
            },
            {
                "timestamp": 1641081600000,
                "date": "Sun, 2nd Jan",
                "messages": {
                    "sent": 1,
                    "forward": 0,
                    "reply": 0,
                    "received": 2
                },
                "overallTTR": {
                    "raw": null,
                    "raw_no_business": null
                },
                "overallTTF": {
                    "raw": null,
                    "raw_no_business": null
                },
                "initialTTR": {
                    "raw": null,
                    "raw_no_business": null
                },
                "threads": {
                    "total": 0,
                    "have_replies_from_agents": 0,
                    "no_reply_from_agents": 0,
                    "completionRatio": 0
                }
            },
            {
                "timestamp": 1641168000000,
                "date": "Mon, 3rd Jan",
                "messages": {
                    "sent": 58,
                    "forward": 1,
                    "reply": 52,
                    "received": 71
                },
                "overallTTR": {
                    "raw": 3608.673076923077,
                    "raw_no_business": 16252.711538461539
                },
                "overallTTF": {
                    "raw": 0,
                    "raw_no_business": 415
                },
                "initialTTR": {
                    "raw": 4321.583333333333,
                    "raw_no_business": 22491.722222222223
                },
                "threads": {
                    "total": 44,
                    "have_replies_from_agents": 26,
                    "no_reply_from_agents": 0,
                    "completionRatio": 59.09
                }
            },
            {
                "timestamp": 1641254400000,
                "date": "Tue, 4th Jan",
                "messages": {
                    "sent": 0,
                    "forward": 0,
                    "reply": 0,
                    "received": 1
                },
                "overallTTR": {
                    "raw": null,
                    "raw_no_business": null
                },
                "overallTTF": {
                    "raw": null,
                    "raw_no_business": null
                },
                "initialTTR": {
                    "raw": null,
                    "raw_no_business": null
                },
                "threads": {
                    "total": 1,
                    "have_replies_from_agents": 0,
                    "no_reply_from_agents": 0,
                    "completionRatio": 0
                }
            }
        ]
    },
    "all_agent_stats": {
        "maxima": {
            "name": "Total",
            "threads.total": 189,
            "threads.internal": 14,
            "threads.inbound": 150,
            "threads.outbound": 25,
            "threads.sent_internally": 18,
            "threads.await_customer": 68,
            "threads.await_agent": 83,
            "threads.closed": 20,
            "threads.have_replies": 148,
            "messages.received.count": 322,
            "messages.received.initial": 159,
            "messages.received.replies": 114,
            "messages.received.reply_all": 43,
            "messages.received.forward": 6,
            "messages.received.follow_up": 0,
            "messages.sent.count": 230,
            "messages.sent.initial": 37,
            "messages.sent.replies": 159,
            "messages.sent.reply_all": 28,
            "messages.sent.forward": 6,
            "messages.sent.follow_up": 0,
            "overallTTR.friendly": "01h:34m",
            "overallTTR.friendly_no_business": "04h:28m",
            "overallTTR.within_sla": 0,
            "overallTTR.sla_breach": 230,
            "initialTTR.friendly": "01h:14m",
            "initialTTR.friendly_no_business": "03h:37m",
            "initialTTR.within_sla": 0,
            "initialTTR.sla_breach": 0,
            "initialTTR.closed_within_sla": 0,
            "initialTTR.closed_sla_breach": 0,
            "initialTTR.in_progress_within_sla": 0,
            "initialTTR.in_progress_sla_breach": 0,
            "initialTTR.unhandled_within_sla": 0,
            "initialTTR.unhandled_sla_breach": 0,
            "overallTTC.friendly": "58m:19s",
            "overallTTC.friendly_no_business": "01h:02m",
            "overallTTC.within_sla": 0,
            "overallTTC.sla_breach": 0,
            "overallTTC.closed_within_sla": 0,
            "overallTTC.closed_sla_breach": 0,
            "overallTTC.in_progress_within_sla": 0,
            "overallTTC.in_progress_sla_breach": 0,
            "overallTTC.unhandled_within_sla": 0,
            "overallTTC.unhandled_sla_breach": 0,
            "overallTTF.friendly": "09m:12s",
            "overallTTF.friendly_no_business": "10m:21s"
        },
        "data": {
            "current_page": 1,
            "data": [
                {
                    "name": "[email protected]",
                    "threads": {
                        "total": 89,
                        "internal": 13,
                        "inbound": 64,
                        "outbound": 12,
                        "sent_internally": 17,
                        "await_customer": 31,
                        "await_agent": 31,
                        "closed": 10,
                        "have_replies": 81,
                        "have_initial_replies": 56
                    },
                    "messages": {
                        "sent": {
                            "count": 101,
                            "initial": 16,
                            "replies": 71,
                            "reply_all": 10,
                            "forward": 4,
                            "follow_up": 0,
                            "initial_replies": 0,
                            "dailyStats": []
                        },
                        "received": {
                            "count": 117,
                            "initial": 52,
                            "replies": 51,
                            "reply_all": 12,
                            "forward": 2,
                            "follow_up": 0,
                            "initial_replies": 0,
                            "dailyStats": []
                        }
                    },
                    "overallTTR": {
                        "friendly": "02h:15m",
                        "raw": 8101.83950617284,
                        "friendly_no_business": "07h:06m",
                        "raw_no_business": 25599.58024691358,
                        "percentileRanks": [
                            {
                                "key": "15m:00s",
                                "value": "36.73%"
                            },
                            {
                                "key": "01h:00m",
                                "value": "79.00%"
                            },
                            {
                                "key": "02h:00m",
                                "value": "81.98%"
                            },
                            {
                                "key": "04h:00m",
                                "value": "90.26%"
                            },
                            {
                                "key": "08h:00m",
                                "value": "92.27%"
                            },
                            {
                                "key": "24h:00m",
                                "value": "96.95%"
                            }
                        ],
                        "percentileRanksRaw": [
                            {
                                "key": "15m:00s",
                                "value": "31.79%"
                            },
                            {
                                "key": "01h:00m",
                                "value": "77.77%"
                            },
                            {
                                "key": "02h:00m",
                                "value": "79.23%"
                            },
                            {
                                "key": "04h:00m",
                                "value": "86.47%"
                            },
                            {
                                "key": "08h:00m",
                                "value": "87.39%"
                            },
                            {
                                "key": "24h:00m",
                                "value": "91.29%"
                            }
                        ],
                        "within_sla": 0,
                        "sla_breach": 101
                    },
                    "overallTTF": {
                        "friendly": "06m:35s",
                        "raw": 395.75,
                        "friendly_no_business": "08m:19s",
                        "raw_no_business": 499.5
                    },
                    "initialTTR": {
                        "friendly": "01h:41m",
                        "raw": 6119.25,
                        "friendly_no_business": "05h:46m",
                        "raw_no_business": 20811.035714285714,
                        "percentileRanks": [
                            {
                                "key": "15m:00s",
                                "value": "37.05%"
                            },
                            {
                                "key": "01h:00m",
                                "value": "82.14%"
                            },
                            {
                                "key": "02h:00m",
                                "value": "86.42%"
                            },
                            {
                                "key": "04h:00m",
                                "value": "91.63%"
                            },
                            {
                                "key": "08h:00m",
                                "value": "94.17%"
                            },
                            {
                                "key": "24h:00m",
                                "value": "98.09%"
                            }
                        ],
                        "percentileRanksRaw": [
                            {
                                "key": "15m:00s",
                                "value": "33.48%"
                            },
                            {
                                "key": "01h:00m",
                                "value": "82.14%"
                            },
                            {
                                "key": "02h:00m",
                                "value": "84.21%"
                            },
                            {
                                "key": "04h:00m",
                                "value": "89.36%"
                            },
                            {
                                "key": "08h:00m",
                                "value": "90.69%"
                            },
                            {
                                "key": "24h:00m",
                                "value": "93.01%"
                            }
                        ],
                        "closed_within_sla": 0,
                        "closed_sla_breach": 0,
                        "in_progress_within_sla": 0,
                        "in_progress_sla_breach": 0,
                        "unhandled_within_sla": 0,
                        "unhandled_sla_breach": 0,
                        "within_sla": 0,
                        "sla_breach": 0
                    },
                    "overallTTC": {
                        "friendly": "01h:27m",
                        "raw": 5223.75,
                        "friendly_no_business": "01h:27m",
                        "raw_no_business": 5223.75,
                        "closed_within_sla": 0,
                        "closed_sla_breach": 0,
                        "in_progress_within_sla": 0,
                        "in_progress_sla_breach": 0,
                        "unhandled_within_sla": 0,
                        "unhandled_sla_breach": 0,
                        "within_sla": 0,
                        "sla_breach": 0,
                        "percentileRanks": [
                            {
                                "key": "15m:00s",
                                "value": "0.00%"
                            },
                            {
                                "key": "01h:00m",
                                "value": "55.48%"
                            },
                            {
                                "key": "02h:00m",
                                "value": "72.18%"
                            },
                            {
                                "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": "55.48%"
                            },
                            {
                                "key": "02h:00m",
                                "value": "72.18%"
                            },
                            {
                                "key": "04h:00m",
                                "value": "100.00%"
                            },
                            {
                                "key": "08h:00m",
                                "value": "100.00%"
                            },
                            {
                                "key": "24h:00m",
                                "value": "100.00%"
                            }
                        ]
                    }
                },
                {
                    "name": "[email protected]",
                    "threads": {
                        "total": 59,
                        "internal": 13,
                        "inbound": 44,
                        "outbound": 2,
                        "sent_internally": 14,
                        "await_customer": 15,
                        "await_agent": 24,
                        "closed": 6,
                        "have_replies": 56,
                        "have_initial_replies": 40
                    },
                    "messages": {
                        "sent": {
                            "count": 62,
                            "initial": 4,
                            "replies": 41,
                            "reply_all": 15,
                            "forward": 2,
                            "follow_up": 0,
                            "initial_replies": 0,
                            "dailyStats": []
                        },
                        "received": {
                            "count": 71,
                            "initial": 25,
                            "replies": 33,
                            "reply_all": 12,
                            "forward": 1,
                            "follow_up": 0,
                            "initial_replies": 0,
                            "dailyStats": []
                        }
                    },
                    "overallTTR": {
                        "friendly": "01h:26m",
                        "raw": 5172.553571428572,
                        "friendly_no_business": "03h:38m",
                        "raw_no_business": 13111.232142857143,
                        "percentileRanks": [
                            {
                                "key": "15m:00s",
                                "value": "41.90%"
                            },
                            {
                                "key": "01h:00m",
                                "value": "85.97%"
                            },
                            {
                                "key": "02h:00m",
                                "value": "87.60%"
                            },
                            {
                                "key": "04h:00m",
                                "value": "89.70%"
                            },
                            {
                                "key": "08h:00m",
                                "value": "94.84%"
                            },
                            {
                                "key": "24h:00m",
                                "value": "100.00%"
                            }
                        ],
                        "percentileRanksRaw": [
                            {
                                "key": "15m:00s",
                                "value": "37.31%"
                            },
                            {
                                "key": "01h:00m",
                                "value": "85.85%"
                            },
                            {
                                "key": "02h:00m",
                                "value": "86.76%"
                            },
                            {
                                "key": "04h:00m",
                                "value": "88.47%"
                            },
                            {
                                "key": "08h:00m",
                                "value": "90.65%"
                            },
                            {
                                "key": "24h:00m",
                                "value": "94.72%"
                            }
                        ],
                        "within_sla": 0,
                        "sla_breach": 62
                    },
                    "overallTTF": {
                        "friendly": "14m:25s",
                        "raw": 865.5,
                        "friendly_no_business": "14m:25s",
                        "raw_no_business": 865.5
                    },
                    "initialTTR": {
                        "friendly": "01h:07m",
                        "raw": 4054.7,
                        "friendly_no_business": "02h:36m",
                        "raw_no_business": 9364.575,
                        "percentileRanks": [
                            {
                                "key": "15m:00s",
                                "value": "41.47%"
                            },
                            {
                                "key": "01h:00m",
                                "value": "85.35%"
                            },
                            {
                                "key": "02h:00m",
                                "value": "87.64%"
                            },
                            {
                                "key": "04h:00m",
                                "value": "90.58%"
                            },
                            {
                                "key": "08h:00m",
                                "value": "96.14%"
                            },
                            {
                                "key": "24h:00m",
                                "value": "100.00%"
                            }
                        ],
                        "percentileRanksRaw": [
                            {
                                "key": "15m:00s",
                                "value": "34.73%"
                            },
                            {
                                "key": "01h:00m",
                                "value": "85.19%"
                            },
                            {
                                "key": "02h:00m",
                                "value": "86.47%"
                            },
                            {
                                "key": "04h:00m",
                                "value": "88.86%"
                            },
                            {
                                "key": "08h:00m",
                                "value": "91.91%"
                            },
                            {
                                "key": "24h:00m",
                                "value": "95.96%"
                            }
                        ],
                        "closed_within_sla": 0,
                        "closed_sla_breach": 0,
                        "in_progress_within_sla": 0,
                        "in_progress_sla_breach": 0,
                        "unhandled_within_sla": 0,
                        "unhandled_sla_breach": 0,
                        "within_sla": 0,
                        "sla_breach": 0
                    },
                    "overallTTC": {
                        "friendly": "13m:24s",
                        "raw": 804.5,
                        "friendly_no_business": "24m:40s",
                        "raw_no_business": 1480,
                        "closed_within_sla": 0,
                        "closed_sla_breach": 0,
                        "in_progress_within_sla": 0,
                        "in_progress_sla_breach": 0,
                        "unhandled_within_sla": 0,
                        "unhandled_sla_breach": 0,
                        "within_sla": 0,
                        "sla_breach": 0,
                        "percentileRanks": [
                            {
                                "key": "15m:00s",
                                "value": "53.18%"
                            },
                            {
                                "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": "22.63%"
                            },
                            {
                                "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%"
                            }
                        ]
                    }
                }
            ],
            "first_page_url": "https://portal.timetoreply.com/api/reports/overview?page=1",
            "from": 1,
            "last_page": 3,
            "last_page_url": "https://portal.timetoreply.com/api/reports/overview?page=3",
            "links": [
                {
                    "url": null,
                    "label": "« Previous",
                    "active": false
                },
                {
                    "url": "https://portal.timetoreply.com/api/reports/overview?page=1",
                    "label": "1",
                    "active": true
                },
                {
                    "url": "https://portal.timetoreply.com/api/reports/overview?page=2",
                    "label": "2",
                    "active": false
                },
                {
                    "url": "https://portal.timetoreply.com/api/reports/overview?page=3",
                    "label": "3",
                    "active": false
                },
                {
                    "url": "https://portal.timetoreply.com/api/reports/overview?page=2",
                    "label": "Next »",
                    "active": false
                }
            ],
            "next_page_url": "https://portal.timetoreply.com/api/reports/overview?page=2",
            "path": "https://portal.timetoreply.com/api/reports/overview",
            "per_page": 2,
            "prev_page_url": null,
            "to": 2,
            "total": 6
        }
    },
    "all_domain_stats": {
        "maxima": [],
        "data": {
            "current_page": 1,
            "data": [
                {
                    "name": "timetoreply.com",
                    "threads": {
                        "total": 189,
                        "internal": 14,
                        "inbound": 150,
                        "outbound": 25,
                        "sent_internally": 18,
                        "await_customer": 68,
                        "await_agent": 83,
                        "closed": 20,
                        "have_replies": 187,
                        "have_initial_replies": 125
                    },
                    "messages": {
                        "sent": {
                            "count": 230,
                            "initial": 37,
                            "replies": 159,
                            "reply_all": 28,
                            "forward": 6,
                            "follow_up": 0,
                            "initial_replies": 0,
                            "dailyStats": []
                        },
                        "received": {
                            "count": 322,
                            "initial": 159,
                            "replies": 114,
                            "reply_all": 43,
                            "forward": 6,
                            "follow_up": 0,
                            "initial_replies": 0,
                            "dailyStats": []
                        }
                    },
                    "overallTTR": {
                        "friendly": "01h:34m",
                        "raw": 5682.850267379679,
                        "friendly_no_business": "04h:28m",
                        "raw_no_business": 16138.417112299465,
                        "percentileRanks": [
                            {
                                "key": "15m:00s",
                                "value": "41.48%"
                            },
                            {
                                "key": "01h:00m",
                                "value": "82.88%"
                            },
                            {
                                "key": "02h:00m",
                                "value": "86.59%"
                            },
                            {
                                "key": "04h:00m",
                                "value": "92.00%"
                            },
                            {
                                "key": "08h:00m",
                                "value": "95.15%"
                            },
                            {
                                "key": "24h:00m",
                                "value": "98.65%"
                            }
                        ],
                        "percentileRanksRaw": [
                            {
                                "key": "15m:00s",
                                "value": "34.93%"
                            },
                            {
                                "key": "01h:00m",
                                "value": "82.35%"
                            },
                            {
                                "key": "02h:00m",
                                "value": "84.92%"
                            },
                            {
                                "key": "04h:00m",
                                "value": "88.92%"
                            },
                            {
                                "key": "08h:00m",
                                "value": "91.06%"
                            },
                            {
                                "key": "24h:00m",
                                "value": "94.61%"
                            }
                        ],
                        "within_sla": 0,
                        "sla_breach": 230
                    },
                    "overallTTF": {
                        "friendly": "09m:12s",
                        "raw": 552.3333333333334,
                        "friendly_no_business": "10m:21s",
                        "raw_no_business": 621.5
                    },
                    "initialTTR": {
                        "friendly": "01h:14m",
                        "raw": 4494.648,
                        "friendly_no_business": "03h:37m",
                        "raw_no_business": 13027.032,
                        "percentileRanks": [],
                        "percentileRanksRaw": [],
                        "closed_within_sla": 0,
                        "closed_sla_breach": 0,
                        "in_progress_within_sla": 0,
                        "in_progress_sla_breach": 0,
                        "unhandled_within_sla": 0,
                        "unhandled_sla_breach": 0,
                        "within_sla": 0,
                        "sla_breach": 0
                    },
                    "overallTTC": {
                        "friendly": "58m:19s",
                        "raw": 3499.266666666667,
                        "friendly_no_business": "01h:02m",
                        "raw_no_business": 3776.2,
                        "closed_within_sla": 0,
                        "closed_sla_breach": 0,
                        "in_progress_within_sla": 0,
                        "in_progress_sla_breach": 0,
                        "unhandled_within_sla": 0,
                        "unhandled_sla_breach": 0,
                        "within_sla": 0,
                        "sla_breach": 0,
                        "percentileRanks": [],
                        "percentileRanksRaw": []
                    }
                }
            ],
            "first_page_url": "https://portal.timetoreply.com/api/reports/overview?page=1",
            "from": 1,
            "last_page": 1,
            "last_page_url": "https://portal.timetoreply.com/api/reports/overview?page=1",
            "links": [
                {
                    "url": null,
                    "label": "« Previous",
                    "active": false
                },
                {
                    "url": "https://portal.timetoreply.com/api/reports/overview?page=1",
                    "label": "1",
                    "active": true
                },
                {
                    "url": null,
                    "label": "Next »",
                    "active": false
                }
            ],
            "next_page_url": null,
            "path": "https://portal.timetoreply.com/api/reports/overview",
            "per_page": 2,
            "prev_page_url": null,
            "to": 1,
            "total": 1
        }
    },
    "all_customer_stats": {
        "maxima": [],
        "data": {
            "current_page": 1,
            "data": [],
            "first_page_url": "https://portal.timetoreply.com/api/reports/overview?page=1",
            "from": null,
            "last_page": 1,
            "last_page_url": "https://portal.timetoreply.com/api/reports/overview?page=1",
            "links": [
                {
                    "url": null,
                    "label": "« Previous",
                    "active": false
                },
                {
                    "url": "https://portal.timetoreply.com/api/reports/overview?page=1",
                    "label": "1",
                    "active": true
                },
                {
                    "url": null,
                    "label": "Next »",
                    "active": false
                }
            ],
            "next_page_url": null,
            "path": "https://portal.timetoreply.com/api/reports/overview",
            "per_page": 2,
            "prev_page_url": null,
            "to": null,
            "total": 0
        }
    },
    "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,follow-up.

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.

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.

per_page_agents  integer optional  

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

page_agents  integer optional  

For paginated results, which page to get.

per_page_contacts  integer optional  

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

page_contacts  integer optional  

For paginated results, which page to get.

per_page_domains  integer optional  

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

page_domains  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}',
            'Content-Type' => 'application/json',
            '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));
curl --request GET \
    --get "https://portal.timetoreply.com/api/reports/productivity?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" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

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"
            },
            {
                "field": "messages_sent_follow_ups_percent",
                "label": "% Follow-Ups Sent",
                "sortable": true,
                "visible": true,
                "subheading": "0 (0.00%)",
                "meta": {
                    "tooltip": "The percentage of sent emails that were emails that were follow-ups regardless of business hours."
                },
                "headerClass": "has-tooltip"
            }
        ],
        "data": [
            {
                "name": "[email protected]",
                "messages_received_count": {
                    "display": "0",
                    "spark": {
                        "Tue 24th Dec": 0,
                        "Wed 25th Dec": 0,
                        "Thu 26th Dec": 0,
                        "Fri 27th Dec": 0,
                        "Sat 28th Dec": 0,
                        "Sun 29th Dec": 0,
                        "Mon 30th Dec": 0,
                        "Tue 31st Dec": 0,
                        "Wed 1st Jan": 0
                    }
                },
                "messages_sent_count": {
                    "display": "0",
                    "spark": {
                        "Tue 24th Dec": 0,
                        "Wed 25th Dec": 0,
                        "Thu 26th Dec": 0,
                        "Fri 27th Dec": 0,
                        "Sat 28th Dec": 0,
                        "Sun 29th Dec": 0,
                        "Mon 30th Dec": 0,
                        "Tue 31st Dec": 0,
                        "Wed 1st Jan": 0
                    }
                },
                "messages_sent_replies_percent": "0 (0.00%)",
                "messages_sent_initial_percent": "0 (0.00%)",
                "messages_sent_forwards_percent": "0 (0.00%)",
                "messages_sent_follow_ups_percent": "0 (0.00%)"
            },
            {
                "name": "[email protected]",
                "messages_received_count": {
                    "display": "0",
                    "spark": {
                        "Tue 24th Dec": 0,
                        "Wed 25th Dec": 0,
                        "Thu 26th Dec": 0,
                        "Fri 27th Dec": 0,
                        "Sat 28th Dec": 0,
                        "Sun 29th Dec": 0,
                        "Mon 30th Dec": 0,
                        "Tue 31st Dec": 0,
                        "Wed 1st Jan": 0
                    }
                },
                "messages_sent_count": {
                    "display": "0",
                    "spark": {
                        "Tue 24th Dec": 0,
                        "Wed 25th Dec": 0,
                        "Thu 26th Dec": 0,
                        "Fri 27th Dec": 0,
                        "Sat 28th Dec": 0,
                        "Sun 29th Dec": 0,
                        "Mon 30th Dec": 0,
                        "Tue 31st Dec": 0,
                        "Wed 1st Jan": 0
                    }
                },
                "messages_sent_replies_percent": "0 (0.00%)",
                "messages_sent_initial_percent": "0 (0.00%)",
                "messages_sent_forwards_percent": "0 (0.00%)",
                "messages_sent_follow_ups_percent": "0 (0.00%)"
            }
        ],
        "default_sort": [
            "messages_sent_count",
            "desc"
        ],
        "default_sort_direction": "desc",
        "loading": false,
        "per_page": 2,
        "total": 5,
        "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,
                "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,
                "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,
                "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,
                "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": [
            {
                "name": "[email protected]",
                "first_activity": "N/A",
                "last_activity": "N/A",
                "in_business_hours": "0 (0.00%)",
                "out_business_hours": "0 (0.00%)",
                "received_per_hour": "0",
                "sent_per_hour": "0"
            },
            {
                "name": "[email protected]",
                "first_activity": "N/A",
                "last_activity": "N/A",
                "in_business_hours": "0 (0.00%)",
                "out_business_hours": "0 (0.00%)",
                "received_per_hour": "0",
                "sent_per_hour": "0"
            }
        ],
        "default_sort": [
            "first_activity",
            "asc"
        ],
        "default_sort_direction": "desc",
        "loading": false,
        "per_page": 2,
        "total": 5,
        "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": [
            {
                "name": "[email protected]",
                "threads_count": "0",
                "threads_inbound": "0 (0.00%)",
                "threads_outbound": "0 (0.00%)",
                "threads_internal": "0 (0.00%)",
                "threads_await_agent": "0 (0.00%)",
                "threads_closed": "0 (0.00%)"
            },
            {
                "name": "[email protected]",
                "threads_count": "0",
                "threads_inbound": "0 (0.00%)",
                "threads_outbound": "0 (0.00%)",
                "threads_internal": "0 (0.00%)",
                "threads_await_agent": "0 (0.00%)",
                "threads_closed": "0 (0.00%)"
            }
        ],
        "default_sort": [
            "threads_count",
            "desc"
        ],
        "default_sort_direction": "desc",
        "loading": false,
        "per_page": 2,
        "total": 5,
        "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,
                "subheading": "N/A",
                "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,
                "subheading": "N/A",
                "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,
                "subheading": "N/A",
                "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,
                "subheading": "N/A",
                "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": [
            {
                "name": "[email protected]",
                "initialTTR7Days": "N/A",
                "initialTTR": {
                    "display": "N/A",
                    "comparison": {
                        "value": "N/A",
                        "improved": true,
                        "separatedColumns": true
                    }
                },
                "overallTTR7Days": "N/A",
                "overallTTR": {
                    "display": "N/A",
                    "comparison": {
                        "value": "N/A",
                        "improved": true,
                        "separatedColumns": true
                    }
                }
            },
            {
                "name": "[email protected]",
                "initialTTR7Days": "N/A",
                "initialTTR": {
                    "display": "N/A",
                    "comparison": {
                        "value": "N/A",
                        "improved": true,
                        "separatedColumns": true
                    }
                },
                "overallTTR7Days": "N/A",
                "overallTTR": {
                    "display": "N/A",
                    "comparison": {
                        "value": "N/A",
                        "improved": true,
                        "separatedColumns": true
                    }
                }
            }
        ],
        "default_sort": [
            "initialTTR",
            "asc"
        ],
        "default_sort_direction": "asc",
        "loading": false,
        "per_page": 2,
        "total": 5,
        "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": [
            {
                "name": "[email protected]",
                "replies_count": "0",
                "replies_under_900": "0.00%",
                "replies_under_3600": "0.00%",
                "replies_under_7200": "0.00%",
                "replies_under_14400": "0.00%",
                "replies_under_28800": "0.00%",
                "replies_under_86400": "0.00%"
            },
            {
                "name": "[email protected]",
                "replies_count": "0",
                "replies_under_900": "0.00%",
                "replies_under_3600": "0.00%",
                "replies_under_7200": "0.00%",
                "replies_under_14400": "0.00%",
                "replies_under_28800": "0.00%",
                "replies_under_86400": "0.00%"
            }
        ],
        "default_sort": [
            "replies_under_900",
            "desc"
        ],
        "default_sort_direction": "desc",
        "loading": false,
        "per_page": 2,
        "total": 5,
        "page": 1
    },
    "stats": {
        "messages": {
            "received": {
                "hourOfDay": []
            },
            "sent": {
                "hourOfDay": []
            }
        }
    },
    "page": 1,
    "total": 5,
    "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": "0",
    "model_com": "Top Revenue Contacts",
    "model_type_com": "Contact Group",
    "exclude_cc_com": "0",
    "exclusive": "0",
    "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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'from'=> '2020-01-01',
            'to'=> '2020-01-08',
            'model'=> 'My Company',
            'model_type'=> 'Internal',
            'exclude_cc'=> '0',
            'model_com'=> 'Top Revenue Contacts',
            'model_type_com'=> 'Contact Group',
            'exclude_cc_com'=> '0',
            'exclusive'=> '0',
            '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));
curl --request GET \
    --get "https://portal.timetoreply.com/api/reports/ratio?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%2Cawait-customer%2Cclosed%2Cawait-agent&has_replies=hasReplies%2ChasForwards%2ChasNoRepliesOrForwards&classification=calculating%2Cfirst%2Creply%2Creply-all%2Cforward&messageType=inbound%2Coutbound%2Cinternal&replies_over=15&message_replies_over=15&no_reply_for=15&per_page=2&sort_by=threads.total&direction=desc&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 
{
    "stats": {
        "threads": {
            "total": 189,
            "internal": 0,
            "inbound": 150,
            "outbound": 0,
            "sent_internally": 0,
            "await_customer": 0,
            "await_agent": 0,
            "closed": 0,
            "have_replies": 0,
            "have_replies_from_agents": 141,
            "completionRatio": {
                "ratio": "83.33%",
                "numerator": 125,
                "denominator": 150
            }
        },
        "messages": {
            "count": 488,
            "initial": 0,
            "replies": 0,
            "reply_all": 0,
            "forward": 0,
            "follow_up": 0,
            "received": {
                "count": 322,
                "initial": 0,
                "replies": 0,
                "reply_all": 0,
                "forward": 0,
                "follow_up": 0,
                "initial_replies": 0,
                "dayOfWeek": {
                    "Monday": 71,
                    "Tuesday": 29.5,
                    "Wednesday": 64,
                    "Thursday": 62,
                    "Friday": 63,
                    "Saturday": 1,
                    "Sunday": 2
                },
                "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,
                    "10:00": 0,
                    "11:00": 0,
                    "12:00": 0,
                    "13:00": 0,
                    "14:00": 0,
                    "15:00": 0,
                    "16:00": 0,
                    "17:00": 0,
                    "18:00": 0,
                    "19:00": 0,
                    "20:00": 0,
                    "21:00": 0,
                    "22:00": 0,
                    "23:00": 0
                }
            },
            "sent": {
                "count": 230,
                "initial": 0,
                "replies": 159,
                "reply_all": 28,
                "forward": 6,
                "follow_up": 0,
                "initial_replies": 125,
                "dayOfWeek": {
                    "Monday": 58,
                    "Tuesday": 41,
                    "Wednesday": 38,
                    "Thursday": 46,
                    "Friday": 46,
                    "Saturday": 0,
                    "Sunday": 1
                },
                "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,
                    "10:00": 0,
                    "11:00": 0,
                    "12:00": 0,
                    "13:00": 0,
                    "14:00": 0,
                    "15:00": 0,
                    "16:00": 0,
                    "17:00": 0,
                    "18:00": 0,
                    "19:00": 0,
                    "20:00": 0,
                    "21:00": 0,
                    "22:00": 0,
                    "23:00": 0
                }
            }
        },
        "overallTTR": {
            "friendly": "N/A",
            "raw": null,
            "friendly_no_business": "N/A",
            "raw_no_business": null,
            "percentileRanks": [],
            "percentileRanksRaw": [],
            "within_sla": 0,
            "sla_breach": 230
        },
        "initialTTR": {
            "friendly": "01h:14m",
            "raw": 4494.648,
            "friendly_no_business": "03h:37m",
            "raw_no_business": 13027.032,
            "percentileRanks": [],
            "percentileRanksRaw": [],
            "closed_within_sla": 0,
            "closed_sla_breach": 0,
            "in_progress_within_sla": 0,
            "in_progress_sla_breach": 0,
            "unhandled_within_sla": 0,
            "unhandled_sla_breach": 0,
            "within_sla": 0,
            "sla_breach": 0
        },
        "overallTTF": {
            "friendly": "N/A",
            "raw": null,
            "friendly_no_business": "N/A",
            "raw_no_business": null
        },
        "overallTTC": {
            "friendly": "N/A",
            "raw": null,
            "friendly_no_business": "N/A",
            "raw_no_business": null,
            "percentileRanks": [],
            "percentileRanksRaw": [],
            "closed_within_sla": 0,
            "closed_sla_breach": 0,
            "in_progress_within_sla": 0,
            "in_progress_sla_breach": 0,
            "unhandled_within_sla": 0,
            "unhandled_sla_breach": 0,
            "within_sla": 0,
            "sla_breach": 0
        },
        "dailyStats": [
            {
                "timestamp": 1640649600000,
                "date": "Tue, 28th Dec",
                "messages": {
                    "sent": 41,
                    "forward": 0,
                    "reply": 31,
                    "received": 58
                },
                "overallTTR": {
                    "raw": null,
                    "raw_no_business": null
                },
                "overallTTF": {
                    "raw": null,
                    "raw_no_business": null
                },
                "initialTTR": {
                    "raw": 4739.8421052631575,
                    "raw_no_business": 8022.894736842105,
                    "ttr_ratio": 0.61
                },
                "threads": {
                    "total": 31,
                    "have_replies_from_agents": 12,
                    "no_reply_from_agents": 0,
                    "completionRatio": 38.71,
                    "haveCustomerSuccess": 15,
                    "have_initial_replies_from_agents": 21
                }
            },
            {
                "timestamp": 1640736000000,
                "date": "Wed, 29th Dec",
                "messages": {
                    "sent": 38,
                    "forward": 4,
                    "reply": 30,
                    "received": 64
                },
                "overallTTR": {
                    "raw": null,
                    "raw_no_business": null
                },
                "overallTTF": {
                    "raw": null,
                    "raw_no_business": null
                },
                "initialTTR": {
                    "raw": 4110.55,
                    "raw_no_business": 9972.2,
                    "ttr_ratio": 0.63
                },
                "threads": {
                    "total": 35,
                    "have_replies_from_agents": 11,
                    "no_reply_from_agents": 0,
                    "completionRatio": 31.43,
                    "haveCustomerSuccess": 15,
                    "have_initial_replies_from_agents": 20
                }
            },
            {
                "timestamp": 1640822400000,
                "date": "Thu, 30th Dec",
                "messages": {
                    "sent": 46,
                    "forward": 0,
                    "reply": 38,
                    "received": 62
                },
                "overallTTR": {
                    "raw": null,
                    "raw_no_business": null
                },
                "overallTTF": {
                    "raw": null,
                    "raw_no_business": null
                },
                "initialTTR": {
                    "raw": 8303.095238095239,
                    "raw_no_business": 17975.333333333332,
                    "ttr_ratio": 0.39
                },
                "threads": {
                    "total": 37,
                    "have_replies_from_agents": 16,
                    "no_reply_from_agents": 0,
                    "completionRatio": 43.24,
                    "haveCustomerSuccess": 20,
                    "have_initial_replies_from_agents": 24
                }
            },
            {
                "timestamp": 1640908800000,
                "date": "Fri, 31st Dec",
                "messages": {
                    "sent": 46,
                    "forward": 1,
                    "reply": 36,
                    "received": 63
                },
                "overallTTR": {
                    "raw": null,
                    "raw_no_business": null
                },
                "overallTTF": {
                    "raw": null,
                    "raw_no_business": null
                },
                "initialTTR": {
                    "raw": 2055.896551724138,
                    "raw_no_business": 3079.862068965517,
                    "ttr_ratio": 1.02
                },
                "threads": {
                    "total": 40,
                    "have_replies_from_agents": 16,
                    "no_reply_from_agents": 0,
                    "completionRatio": 40,
                    "haveCustomerSuccess": 14,
                    "have_initial_replies_from_agents": 24
                }
            },
            {
                "timestamp": 1640995200000,
                "date": "Sat, 1st Jan",
                "messages": {
                    "sent": 0,
                    "forward": 0,
                    "reply": 0,
                    "received": 1
                },
                "overallTTR": {
                    "raw": null,
                    "raw_no_business": null
                },
                "overallTTF": {
                    "raw": null,
                    "raw_no_business": null
                },
                "initialTTR": {
                    "raw": null,
                    "raw_no_business": null,
                    "ttr_ratio": 0
                },
                "threads": {
                    "total": 1,
                    "have_replies_from_agents": 0,
                    "no_reply_from_agents": 0,
                    "completionRatio": 0,
                    "haveCustomerSuccess": 0,
                    "have_initial_replies_from_agents": 0
                }
            },
            {
                "timestamp": 1641081600000,
                "date": "Sun, 2nd Jan",
                "messages": {
                    "sent": 1,
                    "forward": 0,
                    "reply": 0,
                    "received": 2
                },
                "overallTTR": {
                    "raw": null,
                    "raw_no_business": null
                },
                "overallTTF": {
                    "raw": null,
                    "raw_no_business": null
                },
                "initialTTR": {
                    "raw": null,
                    "raw_no_business": null,
                    "ttr_ratio": 0
                },
                "threads": {
                    "total": 0,
                    "have_replies_from_agents": 0,
                    "no_reply_from_agents": 0,
                    "completionRatio": 0,
                    "haveCustomerSuccess": 0,
                    "have_initial_replies_from_agents": 0
                }
            },
            {
                "timestamp": 1641168000000,
                "date": "Mon, 3rd Jan",
                "messages": {
                    "sent": 58,
                    "forward": 1,
                    "reply": 52,
                    "received": 71
                },
                "overallTTR": {
                    "raw": null,
                    "raw_no_business": null
                },
                "overallTTF": {
                    "raw": null,
                    "raw_no_business": null
                },
                "initialTTR": {
                    "raw": 4321.583333333333,
                    "raw_no_business": 22491.722222222223,
                    "ttr_ratio": 0.66
                },
                "threads": {
                    "total": 44,
                    "have_replies_from_agents": 26,
                    "no_reply_from_agents": 0,
                    "completionRatio": 59.09,
                    "haveCustomerSuccess": 21,
                    "have_initial_replies_from_agents": 36
                }
            },
            {
                "timestamp": 1641254400000,
                "date": "Tue, 4th Jan",
                "messages": {
                    "sent": 0,
                    "forward": 0,
                    "reply": 0,
                    "received": 1
                },
                "overallTTR": {
                    "raw": null,
                    "raw_no_business": null
                },
                "overallTTF": {
                    "raw": null,
                    "raw_no_business": null
                },
                "initialTTR": {
                    "raw": null,
                    "raw_no_business": null,
                    "ttr_ratio": 0
                },
                "threads": {
                    "total": 1,
                    "have_replies_from_agents": 0,
                    "no_reply_from_agents": 0,
                    "completionRatio": 0,
                    "haveCustomerSuccess": 0,
                    "have_initial_replies_from_agents": 0
                }
            }
        ]
    },
    "all_agent_stats": {
        "current_page": 1,
        "data": [
            {
                "name": "[email protected]",
                "threads": {
                    "total": 89,
                    "internal": 0,
                    "inbound": 64,
                    "outbound": 0,
                    "sent_internally": 0,
                    "await_customer": 0,
                    "await_agent": 31,
                    "closed": 10,
                    "have_replies": 81,
                    "have_initial_replies": 56,
                    "have_contact_success": 38,
                    "success_rate": 59.38,
                    "ttr_ratio": 0.58,
                    "initial_reply_rate": 62.92,
                    "success_time": 12917.578947368422,
                    "success_time_friendly": "03h:35m",
                    "have_initial_reply_rate": 87.5
                },
                "messages": {
                    "sent": {
                        "count": 0,
                        "initial": 0,
                        "replies": 0,
                        "reply_all": 0,
                        "forward": 0,
                        "follow_up": 0,
                        "initial_replies": 0,
                        "dailyStats": null
                    },
                    "received": {
                        "count": 0,
                        "initial": 0,
                        "replies": 0,
                        "reply_all": 0,
                        "forward": 0,
                        "follow_up": 0,
                        "initial_replies": 0,
                        "dailyStats": null
                    }
                },
                "overallTTR": {
                    "friendly": "N/A",
                    "raw": null,
                    "friendly_no_business": "N/A",
                    "raw_no_business": null,
                    "percentileRanks": [],
                    "percentileRanksRaw": [],
                    "within_sla": 0,
                    "sla_breach": 0
                },
                "overallTTF": {
                    "friendly": "N/A",
                    "raw": null,
                    "friendly_no_business": "N/A",
                    "raw_no_business": null
                },
                "initialTTR": {
                    "friendly": "01h:41m",
                    "raw": 6119.25,
                    "friendly_no_business": "05h:46m",
                    "raw_no_business": 20811.035714285714,
                    "percentileRanks": [],
                    "percentileRanksRaw": [],
                    "closed_within_sla": 0,
                    "closed_sla_breach": 0,
                    "in_progress_within_sla": 0,
                    "in_progress_sla_breach": 0,
                    "unhandled_within_sla": 0,
                    "unhandled_sla_breach": 0,
                    "within_sla": 0,
                    "sla_breach": 0
                },
                "overallTTC": {
                    "friendly": "01h:27m",
                    "raw": 5223.75,
                    "friendly_no_business": "N/A",
                    "raw_no_business": null,
                    "closed_within_sla": 0,
                    "closed_sla_breach": 0,
                    "in_progress_within_sla": 0,
                    "in_progress_sla_breach": 0,
                    "unhandled_within_sla": 0,
                    "unhandled_sla_breach": 0,
                    "within_sla": 0,
                    "sla_breach": 0,
                    "percentileRanks": [],
                    "percentileRanksRaw": []
                }
            },
            {
                "name": "[email protected]",
                "threads": {
                    "total": 59,
                    "internal": 0,
                    "inbound": 44,
                    "outbound": 0,
                    "sent_internally": 0,
                    "await_customer": 0,
                    "await_agent": 24,
                    "closed": 6,
                    "have_replies": 56,
                    "have_initial_replies": 40,
                    "have_contact_success": 26,
                    "success_rate": 59.09,
                    "ttr_ratio": 0.87,
                    "initial_reply_rate": 67.8,
                    "success_time": 14520.653846153846,
                    "success_time_friendly": "04h:02m",
                    "have_initial_reply_rate": 90.91
                },
                "messages": {
                    "sent": {
                        "count": 0,
                        "initial": 0,
                        "replies": 0,
                        "reply_all": 0,
                        "forward": 0,
                        "follow_up": 0,
                        "initial_replies": 0,
                        "dailyStats": null
                    },
                    "received": {
                        "count": 0,
                        "initial": 0,
                        "replies": 0,
                        "reply_all": 0,
                        "forward": 0,
                        "follow_up": 0,
                        "initial_replies": 0,
                        "dailyStats": null
                    }
                },
                "overallTTR": {
                    "friendly": "N/A",
                    "raw": null,
                    "friendly_no_business": "N/A",
                    "raw_no_business": null,
                    "percentileRanks": [],
                    "percentileRanksRaw": [],
                    "within_sla": 0,
                    "sla_breach": 0
                },
                "overallTTF": {
                    "friendly": "N/A",
                    "raw": null,
                    "friendly_no_business": "N/A",
                    "raw_no_business": null
                },
                "initialTTR": {
                    "friendly": "01h:07m",
                    "raw": 4054.7,
                    "friendly_no_business": "02h:36m",
                    "raw_no_business": 9364.575,
                    "percentileRanks": [],
                    "percentileRanksRaw": [],
                    "closed_within_sla": 0,
                    "closed_sla_breach": 0,
                    "in_progress_within_sla": 0,
                    "in_progress_sla_breach": 0,
                    "unhandled_within_sla": 0,
                    "unhandled_sla_breach": 0,
                    "within_sla": 0,
                    "sla_breach": 0
                },
                "overallTTC": {
                    "friendly": "13m:24s",
                    "raw": 804.5,
                    "friendly_no_business": "N/A",
                    "raw_no_business": null,
                    "closed_within_sla": 0,
                    "closed_sla_breach": 0,
                    "in_progress_within_sla": 0,
                    "in_progress_sla_breach": 0,
                    "unhandled_within_sla": 0,
                    "unhandled_sla_breach": 0,
                    "within_sla": 0,
                    "sla_breach": 0,
                    "percentileRanks": [],
                    "percentileRanksRaw": []
                }
            }
        ],
        "first_page_url": "/?page=1",
        "from": 1,
        "last_page": 3,
        "last_page_url": "/?page=3",
        "links": [
            {
                "url": null,
                "label": "« Previous",
                "active": false
            },
            {
                "url": "/?page=1",
                "label": "1",
                "active": true
            },
            {
                "url": "/?page=2",
                "label": "2",
                "active": false
            },
            {
                "url": "/?page=3",
                "label": "3",
                "active": false
            },
            {
                "url": "/?page=2",
                "label": "Next »",
                "active": false
            }
        ],
        "next_page_url": "/?page=2",
        "path": "/",
        "per_page": 2,
        "prev_page_url": null,
        "to": 2,
        "total": 5
    },
    "maxima": {
        "threads.inbound": 64,
        "threads.ttr_ratio": 0.87,
        "threads.have_initial_replies": 56,
        "threads.initial_reply_rate": 67.8,
        "threads.have_contact_success": 38,
        "threads.success_rate": 59.38,
        "threads.await_agent": 31,
        "threads.closed": 10
    },
    "overall": {
        "total": 150,
        "have_initial_reply": 125,
        "success": 85,
        "avg_convo_length": 3.49,
        "have_initial_reply_rate": 83.33,
        "success_rate": 56.67,
        "success_time": 12025,
        "success_time_friendly": "03h:20m",
        "customer_reply_time": 5966,
        "customer_reply_time_friendly": "01h:39m",
        "avg_initial_reply_time": 4494.648,
        "avg_initial_reply_time_friendly": "01h:14m",
        "ttr_ratio": 0.76
    },
    "contact_rate_data": {
        "total": [
            49,
            56,
            11,
            5,
            4
        ],
        "have_initial_reply": [
            49,
            56,
            11,
            5,
            4
        ],
        "success": [
            27,
            41,
            8,
            5,
            4
        ],
        "avg_convo_length": [
            3.59,
            3.49,
            3.5,
            3.2,
            3.25
        ],
        "have_initial_reply_rate": [
            100,
            100,
            100,
            100,
            100
        ],
        "success_rate": [
            55.1,
            73.21,
            72.73,
            100,
            100
        ],
        "success_time": [
            8578,
            3855,
            27191,
            19090,
            79873
        ],
        "success_time_friendly": [
            "02h:22m",
            "01h:04m",
            "07h:33m",
            "05h:18m",
            "22h:11m"
        ],
        "customer_reply_time": [
            8205,
            2297,
            18463,
            1205,
            9426
        ],
        "customer_reply_time_friendly": [
            "02h:16m",
            "38m:17s",
            "05h:07m",
            "20m:05s",
            "02h:37m"
        ],
        "avg_initial_reply_time": [
            424.57142857142856,
            1539.4285714285713,
            7600.454545454545,
            17885,
            70447.25
        ],
        "avg_initial_reply_time_friendly": [
            "07m:04s",
            "25m:39s",
            "02h:06m",
            "04h:58m",
            "19h:34m"
        ],
        "ttr_ratio": [
            7.79,
            2.85,
            0.57,
            0.34,
            0.09
        ]
    },
    "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,follow-up.

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": "0",
    "model_com": "Top Revenue Contacts",
    "model_type_com": "Contact Group",
    "exclude_cc_com": "0",
    "exclusive": "0",
    "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}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'from'=> '2020-01-01',
            'to'=> '2020-01-08',
            'model'=> 'timetoreply.com',
            'model_type'=> 'Contact',
            'exclude_cc'=> '0',
            'model_com'=> 'Top Revenue Contacts',
            'model_type_com'=> 'Contact Group',
            'exclude_cc_com'=> '0',
            'exclusive'=> '0',
            '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));
curl --request GET \
    --get "https://portal.timetoreply.com/api/reports/sla?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%2Coutbound%2Cinternal&thread_status=internal%2Cawait-customer%2Cclosed%2Cawait-agent&has_replies=hasReplies%2ChasForwards%2ChasNoRepliesOrForwards&classification=calculating%2Cfirst%2Creply%2Creply-all%2Cforward&messageType=inbound%2Coutbound%2Cinternal&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%3A00%3A00&overall_ttr_goal=02%3A00%3A00&overall_ttc_goal=02%3A00%3A00" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
tracking-events: []
 
{
    "stats": {
        "threads": {
            "total": 190,
            "internal": 14,
            "inbound": 150,
            "outbound": 26,
            "sent_internally": 18,
            "await_customer": 68,
            "await_agent": 83,
            "closed": 21,
            "have_replies": 149,
            "have_replies_from_agents": 141,
            "completionRatio": {
                "ratio": "480.77%",
                "numerator": 125,
                "denominator": 26
            }
        },
        "messages": {
            "count": 488,
            "initial": 0,
            "replies": 0,
            "reply_all": 0,
            "forward": 0,
            "follow_up": 0,
            "received": {
                "count": 322,
                "initial": 159,
                "replies": 114,
                "reply_all": 43,
                "forward": 6,
                "follow_up": 0,
                "initial_replies": 0,
                "dayOfWeek": {
                    "Monday": 0,
                    "Tuesday": 0,
                    "Wednesday": 0,
                    "Thursday": 0,
                    "Friday": 0,
                    "Saturday": 0,
                    "Sunday": 0
                },
                "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,
                    "10:00": 0,
                    "11:00": 0,
                    "12:00": 0,
                    "13:00": 0,
                    "14:00": 0,
                    "15:00": 0,
                    "16:00": 0,
                    "17:00": 0,
                    "18:00": 0,
                    "19:00": 0,
                    "20:00": 0,
                    "21:00": 0,
                    "22:00": 0,
                    "23:00": 0
                }
            },
            "sent": {
                "count": 230,
                "initial": 37,
                "replies": 159,
                "reply_all": 28,
                "forward": 6,
                "follow_up": 0,
                "initial_replies": 125,
                "dayOfWeek": {
                    "Monday": 0,
                    "Tuesday": 0,
                    "Wednesday": 0,
                    "Thursday": 0,
                    "Friday": 0,
                    "Saturday": 0,
                    "Sunday": 0
                },
                "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,
                    "10:00": 0,
                    "11:00": 0,
                    "12:00": 0,
                    "13:00": 0,
                    "14:00": 0,
                    "15:00": 0,
                    "16:00": 0,
                    "17:00": 0,
                    "18:00": 0,
                    "19:00": 0,
                    "20:00": 0,
                    "21:00": 0,
                    "22:00": 0,
                    "23:00": 0
                }
            }
        },
        "overallTTR": {
            "friendly": "01h:34m",
            "raw": 5682.850267379679,
            "friendly_no_business": "04h:28m",
            "raw_no_business": 16138.417112299465,
            "percentileRanks": [
                {
                    "key": "02h:00m",
                    "value": "86.59%"
                }
            ],
            "percentileRanksRaw": [
                {
                    "key": "02h:00m",
                    "value": "84.92%"
                }
            ],
            "within_sla": 168,
            "sla_breach": 62
        },
        "initialTTR": {
            "friendly": "01h:14m",
            "raw": 4494.648,
            "friendly_no_business": "03h:37m",
            "raw_no_business": 13027.032,
            "percentileRanks": [
                {
                    "key": "02h:00m",
                    "value": "88.74%"
                }
            ],
            "percentileRanksRaw": [
                {
                    "key": "02h:00m",
                    "value": "87.09%"
                }
            ],
            "closed_within_sla": 20,
            "closed_sla_breach": 0,
            "in_progress_within_sla": 108,
            "in_progress_sla_breach": 21,
            "unhandled_within_sla": 0,
            "unhandled_sla_breach": 31,
            "within_sla": 128,
            "sla_breach": 52
        },
        "overallTTF": {
            "friendly": "09m:12s",
            "raw": 552.3333333333334,
            "friendly_no_business": "10m:21s",
            "raw_no_business": 621.5
        },
        "overallTTC": {
            "friendly": "01h:51m",
            "raw": 6670.1875,
            "friendly_no_business": "06h:55m",
            "raw_no_business": 24929.8125,
            "percentileRanks": [
                {
                    "key": "02h:00m",
                    "value": "78.61%"
                }
            ],
            "percentileRanksRaw": [
                {
                    "key": "02h:00m",
                    "value": "78.61%"
                }
            ],
            "closed_within_sla": 13,
            "closed_sla_breach": 7,
            "in_progress_within_sla": 0,
            "in_progress_sla_breach": 129,
            "unhandled_within_sla": 0,
            "unhandled_sla_breach": 31,
            "within_sla": 15,
            "sla_breach": 165
        },
        "dailyStats": []
    },
    "previous_period": {
        "threads": {
            "total": 173,
            "internal": 14,
            "inbound": 131,
            "outbound": 28,
            "sent_internally": 21,
            "await_customer": 61,
            "await_agent": 76,
            "closed": 15,
            "have_replies": 132,
            "have_replies_from_agents": 122,
            "completionRatio": {
                "ratio": "385.71%",
                "numerator": 108,
                "denominator": 28
            }
        },
        "messages": {
            "count": 424,
            "initial": 0,
            "replies": 0,
            "reply_all": 0,
            "forward": 0,
            "follow_up": 0,
            "received": {
                "count": 283,
                "initial": 145,
                "replies": 94,
                "reply_all": 36,
                "forward": 8,
                "follow_up": 0,
                "initial_replies": 0,
                "dayOfWeek": {
                    "Monday": 0,
                    "Tuesday": 0,
                    "Wednesday": 0,
                    "Thursday": 0,
                    "Friday": 0,
                    "Saturday": 0,
                    "Sunday": 0
                },
                "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,
                    "10:00": 0,
                    "11:00": 0,
                    "12:00": 0,
                    "13:00": 0,
                    "14:00": 0,
                    "15:00": 0,
                    "16:00": 0,
                    "17:00": 0,
                    "18:00": 0,
                    "19:00": 0,
                    "20:00": 0,
                    "21:00": 0,
                    "22:00": 0,
                    "23:00": 0
                }
            },
            "sent": {
                "count": 201,
                "initial": 42,
                "replies": 130,
                "reply_all": 21,
                "forward": 8,
                "follow_up": 0,
                "initial_replies": 108,
                "dayOfWeek": {
                    "Monday": 0,
                    "Tuesday": 0,
                    "Wednesday": 0,
                    "Thursday": 0,
                    "Friday": 0,
                    "Saturday": 0,
                    "Sunday": 0
                },
                "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,
                    "10:00": 0,
                    "11:00": 0,
                    "12:00": 0,
                    "13:00": 0,
                    "14:00": 0,
                    "15:00": 0,
                    "16:00": 0,
                    "17:00": 0,
                    "18:00": 0,
                    "19:00": 0,
                    "20:00": 0,
                    "21:00": 0,
                    "22:00": 0,
                    "23:00": 0
                }
            }
        },
        "overallTTR": {
            "friendly": "01h:08m",
            "raw": 4124.87417218543,
            "friendly_no_business": "04h:02m",
            "raw_no_business": 14578.079470198676,
            "percentileRanks": [
                {
                    "key": "02h:00m",
                    "value": "86.50%"
                }
            ],
            "percentileRanksRaw": [
                {
                    "key": "02h:00m",
                    "value": "82.39%"
                }
            ],
            "within_sla": 138,
            "sla_breach": 63
        },
        "initialTTR": {
            "friendly": "01h:14m",
            "raw": 4455.157407407408,
            "friendly_no_business": "04h:14m",
            "raw_no_business": 15242.333333333334,
            "percentileRanks": [
                {
                    "key": "02h:00m",
                    "value": "85.75%"
                }
            ],
            "percentileRanksRaw": [
                {
                    "key": "02h:00m",
                    "value": "81.09%"
                }
            ],
            "closed_within_sla": 12,
            "closed_sla_breach": 3,
            "in_progress_within_sla": 98,
            "in_progress_sla_breach": 25,
            "unhandled_within_sla": 0,
            "unhandled_sla_breach": 26,
            "within_sla": 110,
            "sla_breach": 54
        },
        "overallTTF": {
            "friendly": "42m:32s",
            "raw": 2552.375,
            "friendly_no_business": "01h:58m",
            "raw_no_business": 7113.75
        },
        "overallTTC": {
            "friendly": "02h:18m",
            "raw": 8327.333333333334,
            "friendly_no_business": "07h:45m",
            "raw_no_business": 27956.133333333335,
            "percentileRanks": [
                {
                    "key": "02h:00m",
                    "value": "67.95%"
                }
            ],
            "percentileRanksRaw": [
                {
                    "key": "02h:00m",
                    "value": "67.95%"
                }
            ],
            "closed_within_sla": 11,
            "closed_sla_breach": 4,
            "in_progress_within_sla": 0,
            "in_progress_sla_breach": 123,
            "unhandled_within_sla": 0,
            "unhandled_sla_breach": 26,
            "within_sla": 14,
            "sla_breach": 150
        },
        "dailyStats": []
    },
    "all_agent_stats": {
        "maxima": {
            "name": "Total",
            "threads.total": 190,
            "threads.internal": 14,
            "threads.inbound": 150,
            "threads.outbound": 26,
            "threads.sent_internally": 18,
            "threads.await_customer": 68,
            "threads.await_agent": 83,
            "threads.closed": 21,
            "threads.have_replies": 149,
            "messages.received.count": 322,
            "messages.received.initial": 159,
            "messages.received.replies": 114,
            "messages.received.reply_all": 43,
            "messages.received.forward": 6,
            "messages.received.follow_up": 0,
            "messages.sent.count": 230,
            "messages.sent.initial": 37,
            "messages.sent.replies": 159,
            "messages.sent.reply_all": 28,
            "messages.sent.forward": 6,
            "messages.sent.follow_up": 0,
            "overallTTR.friendly": "01h:34m",
            "overallTTR.friendly_no_business": "04h:28m",
            "overallTTR.within_sla": 168,
            "overallTTR.sla_breach": 62,
            "initialTTR.friendly": "01h:14m",
            "initialTTR.friendly_no_business": "03h:37m",
            "initialTTR.within_sla": 128,
            "initialTTR.sla_breach": 52,
            "initialTTR.closed_within_sla": 20,
            "initialTTR.closed_sla_breach": 0,
            "initialTTR.in_progress_within_sla": 108,
            "initialTTR.in_progress_sla_breach": 21,
            "initialTTR.unhandled_within_sla": 0,
            "initialTTR.unhandled_sla_breach": 31,
            "overallTTC.friendly": "01h:51m",
            "overallTTC.friendly_no_business": "06h:55m",
            "overallTTC.within_sla": 15,
            "overallTTC.sla_breach": 165,
            "overallTTC.closed_within_sla": 13,
            "overallTTC.closed_sla_breach": 7,
            "overallTTC.in_progress_within_sla": 0,
            "overallTTC.in_progress_sla_breach": 129,
            "overallTTC.unhandled_within_sla": 0,
            "overallTTC.unhandled_sla_breach": 31,
            "overallTTF.friendly": "09m:12s",
            "overallTTF.friendly_no_business": "10m:21s"
        },
        "data": {
            "current_page": 1,
            "data": [
                {
                    "name": "[email protected]",
                    "threads": {
                        "total": 89,
                        "internal": 13,
                        "inbound": 64,
                        "outbound": 12,
                        "sent_internally": 17,
                        "await_customer": 31,
                        "await_agent": 31,
                        "closed": 10,
                        "have_replies": 81,
                        "have_initial_replies": 56
                    },
                    "messages": {
                        "sent": {
                            "count": 101,
                            "initial": 16,
                            "replies": 71,
                            "reply_all": 10,
                            "forward": 4,
                            "follow_up": 0,
                            "initial_replies": 0,
                            "dailyStats": []
                        },
                        "received": {
                            "count": 117,
                            "initial": 52,
                            "replies": 51,
                            "reply_all": 12,
                            "forward": 2,
                            "follow_up": 0,
                            "initial_replies": 0,
                            "dailyStats": []
                        }
                    },
                    "overallTTR": {
                        "friendly": "02h:15m",
                        "raw": 8101.83950617284,
                        "friendly_no_business": "07h:06m",
                        "raw_no_business": 25599.58024691358,
                        "percentileRanks": [
                            {
                                "key": "02h:00m",
                                "value": "81.98%"
                            }
                        ],
                        "percentileRanksRaw": [
                            {
                                "key": "02h:00m",
                                "value": "79.23%"
                            }
                        ],
                        "within_sla": 70,
                        "sla_breach": 31
                    },
                    "overallTTF": {
                        "friendly": "06m:35s",
                        "raw": 395.75,
                        "friendly_no_business": "08m:19s",
                        "raw_no_business": 499.5
                    },
                    "initialTTR": {
                        "friendly": "01h:41m",
                        "raw": 6119.25,
                        "friendly_no_business": "05h:46m",
                        "raw_no_business": 20811.035714285714,
                        "percentileRanks": [
                            {
                                "key": "02h:00m",
                                "value": "86.42%"
                            }
                        ],
                        "percentileRanksRaw": [
                            {
                                "key": "02h:00m",
                                "value": "84.21%"
                            }
                        ],
                        "closed_within_sla": 10,
                        "closed_sla_breach": 0,
                        "in_progress_within_sla": 47,
                        "in_progress_sla_breach": 15,
                        "unhandled_within_sla": 0,
                        "unhandled_sla_breach": 7,
                        "within_sla": 57,
                        "sla_breach": 22
                    },
                    "overallTTC": {
                        "friendly": "01h:27m",
                        "raw": 5223.75,
                        "friendly_no_business": "01h:27m",
                        "raw_no_business": 5223.75,
                        "closed_within_sla": 6,
                        "closed_sla_breach": 4,
                        "in_progress_within_sla": 0,
                        "in_progress_sla_breach": 62,
                        "unhandled_within_sla": 0,
                        "unhandled_sla_breach": 7,
                        "within_sla": 6,
                        "sla_breach": 73,
                        "percentileRanks": [
                            {
                                "key": "02h:00m",
                                "value": "72.18%"
                            }
                        ],
                        "percentileRanksRaw": [
                            {
                                "key": "02h:00m",
                                "value": "72.18%"
                            }
                        ]
                    },
                    "previous": {
                        "threads": {
                            "total": 73,
                            "internal": 11,
                            "inbound": 51,
                            "outbound": 11,
                            "sent_internally": 15,
                            "await_customer": 20,
                            "await_agent": 30,
                            "closed": 8,
                            "have_replies": 57,
                            "have_initial_replies": 43
                        },
                        "messages": {
                            "sent": {
                                "count": 76,
                                "initial": 17,
                                "replies": 51,
                                "reply_all": 6,
                                "forward": 2,
                                "follow_up": 0,
                                "initial_replies": 0,
                                "dailyStats": []
                            },
                            "received": {
                                "count": 88,
                                "initial": 35,
                                "replies": 41,
                                "reply_all": 9,
                                "forward": 3,
                                "follow_up": 0,
                                "initial_replies": 0,
                                "dailyStats": []
                            }
                        },
                        "overallTTR": {
                            "friendly": "48m:18s",
                            "raw": 2898.2631578947367,
                            "friendly_no_business": "03h:17m",
                            "raw_no_business": 11862.192982456141,
                            "percentileRanks": [
                                {
                                    "key": "02h:00m",
                                    "value": "87.77%"
                                }
                            ],
                            "percentileRanksRaw": [
                                {
                                    "key": "02h:00m",
                                    "value": "82.96%"
                                }
                            ],
                            "within_sla": 52,
                            "sla_breach": 24
                        },
                        "overallTTF": {
                            "friendly": "28m:05s",
                            "raw": 1685,
                            "friendly_no_business": "28m:05s",
                            "raw_no_business": 1685
                        },
                        "initialTTR": {
                            "friendly": "55m:33s",
                            "raw": 3333.0697674418607,
                            "friendly_no_business": "04h:07m",
                            "raw_no_business": 14868.651162790698,
                            "percentileRanks": [
                                {
                                    "key": "02h:00m",
                                    "value": "86.12%"
                                }
                            ],
                            "percentileRanksRaw": [
                                {
                                    "key": "02h:00m",
                                    "value": "82.06%"
                                }
                            ],
                            "closed_within_sla": 6,
                            "closed_sla_breach": 1,
                            "in_progress_within_sla": 39,
                            "in_progress_sla_breach": 13,
                            "unhandled_within_sla": 0,
                            "unhandled_sla_breach": 6,
                            "within_sla": 45,
                            "sla_breach": 20
                        },
                        "overallTTC": {
                            "friendly": "02h:39m",
                            "raw": 9591.25,
                            "friendly_no_business": "12h:53m",
                            "raw_no_business": 46395.25,
                            "closed_within_sla": 5,
                            "closed_sla_breach": 2,
                            "in_progress_within_sla": 0,
                            "in_progress_sla_breach": 52,
                            "unhandled_within_sla": 0,
                            "unhandled_sla_breach": 6,
                            "within_sla": 5,
                            "sla_breach": 60,
                            "percentileRanks": [
                                {
                                    "key": "02h:00m",
                                    "value": "73.08%"
                                }
                            ],
                            "percentileRanksRaw": [
                                {
                                    "key": "02h:00m",
                                    "value": "73.08%"
                                }
                            ]
                        }
                    }
                },
                {
                    "name": "[email protected]",
                    "threads": {
                        "total": 59,
                        "internal": 13,
                        "inbound": 44,
                        "outbound": 2,
                        "sent_internally": 14,
                        "await_customer": 15,
                        "await_agent": 24,
                        "closed": 6,
                        "have_replies": 56,
                        "have_initial_replies": 40
                    },
                    "messages": {
                        "sent": {
                            "count": 62,
                            "initial": 4,
                            "replies": 41,
                            "reply_all": 15,
                            "forward": 2,
                            "follow_up": 0,
                            "initial_replies": 0,
                            "dailyStats": []
                        },
                        "received": {
                            "count": 71,
                            "initial": 25,
                            "replies": 33,
                            "reply_all": 12,
                            "forward": 1,
                            "follow_up": 0,
                            "initial_replies": 0,
                            "dailyStats": []
                        }
                    },
                    "overallTTR": {
                        "friendly": "01h:26m",
                        "raw": 5172.553571428572,
                        "friendly_no_business": "03h:38m",
                        "raw_no_business": 13111.232142857143,
                        "percentileRanks": [
                            {
                                "key": "02h:00m",
                                "value": "87.60%"
                            }
                        ],
                        "percentileRanksRaw": [
                            {
                                "key": "02h:00m",
                                "value": "86.76%"
                            }
                        ],
                        "within_sla": 51,
                        "sla_breach": 11
                    },
                    "overallTTF": {
                        "friendly": "14m:25s",
                        "raw": 865.5,
                        "friendly_no_business": "14m:25s",
                        "raw_no_business": 865.5
                    },
                    "initialTTR": {
                        "friendly": "01h:07m",
                        "raw": 4054.7,
                        "friendly_no_business": "02h:36m",
                        "raw_no_business": 9364.575,
                        "percentileRanks": [
                            {
                                "key": "02h:00m",
                                "value": "87.64%"
                            }
                        ],
                        "percentileRanksRaw": [
                            {
                                "key": "02h:00m",
                                "value": "86.47%"
                            }
                        ],
                        "closed_within_sla": 5,
                        "closed_sla_breach": 0,
                        "in_progress_within_sla": 33,
                        "in_progress_sla_breach": 8,
                        "unhandled_within_sla": 0,
                        "unhandled_sla_breach": 7,
                        "within_sla": 38,
                        "sla_breach": 15
                    },
                    "overallTTC": {
                        "friendly": "13m:24s",
                        "raw": 804.5,
                        "friendly_no_business": "24m:40s",
                        "raw_no_business": 1480,
                        "closed_within_sla": 3,
                        "closed_sla_breach": 2,
                        "in_progress_within_sla": 0,
                        "in_progress_sla_breach": 41,
                        "unhandled_within_sla": 0,
                        "unhandled_sla_breach": 7,
                        "within_sla": 3,
                        "sla_breach": 50,
                        "percentileRanks": [
                            {
                                "key": "02h:00m",
                                "value": "100.00%"
                            }
                        ],
                        "percentileRanksRaw": [
                            {
                                "key": "02h:00m",
                                "value": "100.00%"
                            }
                        ]
                    },
                    "previous": {
                        "threads": {
                            "total": 50,
                            "internal": 13,
                            "inbound": 32,
                            "outbound": 5,
                            "sent_internally": 18,
                            "await_customer": 17,
                            "await_agent": 11,
                            "closed": 4,
                            "have_replies": 41,
                            "have_initial_replies": 28
                        },
                        "messages": {
                            "sent": {
                                "count": 52,
                                "initial": 7,
                                "replies": 31,
                                "reply_all": 10,
                                "forward": 4,
                                "follow_up": 0,
                                "initial_replies": 0,
                                "dailyStats": []
                            },
                            "received": {
                                "count": 57,
                                "initial": 22,
                                "replies": 21,
                                "reply_all": 12,
                                "forward": 2,
                                "follow_up": 0,
                                "initial_replies": 0,
                                "dailyStats": []
                            }
                        },
                        "overallTTR": {
                            "friendly": "01h:19m",
                            "raw": 4759.8536585365855,
                            "friendly_no_business": "04h:15m",
                            "raw_no_business": 15312.609756097561,
                            "percentileRanks": [
                                {
                                    "key": "02h:00m",
                                    "value": "88.19%"
                                }
                            ],
                            "percentileRanksRaw": [
                                {
                                    "key": "02h:00m",
                                    "value": "88.19%"
                                }
                            ],
                            "within_sla": 40,
                            "sla_breach": 12
                        },
                        "overallTTF": {
                            "friendly": "01h:01m",
                            "raw": 3693.25,
                            "friendly_no_business": "03h:33m",
                            "raw_no_business": 12816
                        },
                        "initialTTR": {
                            "friendly": "01h:36m",
                            "raw": 5790.785714285715,
                            "friendly_no_business": "05h:18m",
                            "raw_no_business": 19108.39285714286,
                            "percentileRanks": [
                                {
                                    "key": "02h:00m",
                                    "value": "87.67%"
                                }
                            ],
                            "percentileRanksRaw": [
                                {
                                    "key": "02h:00m",
                                    "value": "87.67%"
                                }
                            ],
                            "closed_within_sla": 4,
                            "closed_sla_breach": 0,
                            "in_progress_within_sla": 26,
                            "in_progress_sla_breach": 9,
                            "unhandled_within_sla": 0,
                            "unhandled_sla_breach": 2,
                            "within_sla": 30,
                            "sla_breach": 11
                        },
                        "overallTTC": {
                            "friendly": "36m:19s",
                            "raw": 2179.25,
                            "friendly_no_business": "45m:11s",
                            "raw_no_business": 2711,
                            "closed_within_sla": 4,
                            "closed_sla_breach": 0,
                            "in_progress_within_sla": 0,
                            "in_progress_sla_breach": 35,
                            "unhandled_within_sla": 0,
                            "unhandled_sla_breach": 2,
                            "within_sla": 5,
                            "sla_breach": 36,
                            "percentileRanks": [
                                {
                                    "key": "02h:00m",
                                    "value": "100.00%"
                                }
                            ],
                            "percentileRanksRaw": [
                                {
                                    "key": "02h:00m",
                                    "value": "100.00%"
                                }
                            ]
                        }
                    }
                },
                {
                    "name": "[email protected]",
                    "threads": {
                        "total": 58,
                        "internal": 11,
                        "inbound": 36,
                        "outbound": 11,
                        "sent_internally": 12,
                        "await_customer": 22,
                        "await_agent": 16,
                        "closed": 8,
                        "have_replies": 50,
                        "have_initial_replies": 29
                    },
                    "messages": {
                        "sent": {
                            "count": 67,
                            "initial": 17,
                            "replies": 47,
                            "reply_all": 3,
                            "forward": 0,
                            "follow_up": 0,
                            "initial_replies": 0,
                            "dailyStats": []
                        },
                        "received": {
                            "count": 83,
                            "initial": 38,
                            "replies": 30,
                            "reply_all": 12,
                            "forward": 3,
                            "follow_up": 0,
                            "initial_replies": 0,
                            "dailyStats": []
                        }
                    },
                    "overallTTR": {
                        "friendly": "38m:55s",
                        "raw": 2335.62,
                        "friendly_no_business": "01h:10m",
                        "raw_no_business": 4201.78,
                        "percentileRanks": [
                            {
                                "key": "02h:00m",
                                "value": "92.51%"
                            }
                        ],
                        "percentileRanksRaw": [
                            {
                                "key": "02h:00m",
                                "value": "90.78%"
                            }
                        ],
                        "within_sla": 47,
                        "sla_breach": 20
                    },
                    "overallTTF": {
                        "friendly": "N/A",
                        "raw": null,
                        "friendly_no_business": "N/A",
                        "raw_no_business": null
                    },
                    "initialTTR": {
                        "friendly": "32m:44s",
                        "raw": 1964.3103448275863,
                        "friendly_no_business": "50m:47s",
                        "raw_no_business": 3047.5172413793102,
                        "percentileRanks": [
                            {
                                "key": "02h:00m",
                                "value": "93.90%"
                            }
                        ],
                        "percentileRanksRaw": [
                            {
                                "key": "02h:00m",
                                "value": "90.85%"
                            }
                        ],
                        "closed_within_sla": 8,
                        "closed_sla_breach": 0,
                        "in_progress_within_sla": 36,
                        "in_progress_sla_breach": 4,
                        "unhandled_within_sla": 0,
                        "unhandled_sla_breach": 6,
                        "within_sla": 44,
                        "sla_breach": 10
                    },
                    "overallTTC": {
                        "friendly": "41m:33s",
                        "raw": 2493.6666666666665,
                        "friendly_no_business": "49m:37s",
                        "raw_no_business": 2977.6666666666665,
                        "closed_within_sla": 3,
                        "closed_sla_breach": 5,
                        "in_progress_within_sla": 0,
                        "in_progress_sla_breach": 40,
                        "unhandled_within_sla": 0,
                        "unhandled_sla_breach": 6,
                        "within_sla": 5,
                        "sla_breach": 49,
                        "percentileRanks": [
                            {
                                "key": "02h:00m",
                                "value": "100.00%"
                            }
                        ],
                        "percentileRanksRaw": [
                            {
                                "key": "02h:00m",
                                "value": "100.00%"
                            }
                        ]
                    },
                    "previous": {
                        "threads": {
                            "total": 72,
                            "internal": 14,
                            "inbound": 46,
                            "outbound": 12,
                            "sent_internally": 18,
                            "await_customer": 23,
                            "await_agent": 26,
                            "closed": 5,
                            "have_replies": 53,
                            "have_initial_replies": 37
                        },
                        "messages": {
                            "sent": {
                                "count": 73,
                                "initial": 18,
                                "replies": 48,
                                "reply_all": 5,
                                "forward": 2,
                                "follow_up": 0,
                                "initial_replies": 0,
                                "dailyStats": []
                            },
                            "received": {
                                "count": 95,
                                "initial": 51,
                                "replies": 32,
                                "reply_all": 9,
                                "forward": 3,
                                "follow_up": 0,
                                "initial_replies": 0,
                                "dailyStats": []
                            }
                        },
                        "overallTTR": {
                            "friendly": "01h:22m",
                            "raw": 4952.8490566037735,
                            "friendly_no_business": "04h:42m",
                            "raw_no_business": 16930.716981132075,
                            "percentileRanks": [
                                {
                                    "key": "02h:00m",
                                    "value": "82.11%"
                                }
                            ],
                            "percentileRanksRaw": [
                                {
                                    "key": "02h:00m",
                                    "value": "77.32%"
                                }
                            ],
                            "within_sla": 46,
                            "sla_breach": 27
                        },
                        "overallTTF": {
                            "friendly": "18m:58s",
                            "raw": 1138,
                            "friendly_no_business": "18m:58s",
                            "raw_no_business": 1138
                        },
                        "initialTTR": {
                            "friendly": "01h:19m",
                            "raw": 4748.459459459459,
                            "friendly_no_business": "03h:32m",
                            "raw_no_business": 12750.945945945947,
                            "percentileRanks": [
                                {
                                    "key": "02h:00m",
                                    "value": "82.48%"
                                }
                            ],
                            "percentileRanksRaw": [
                                {
                                    "key": "02h:00m",
                                    "value": "75.64%"
                                }
                            ],
                            "closed_within_sla": 3,
                            "closed_sla_breach": 2,
                            "in_progress_within_sla": 41,
                            "in_progress_sla_breach": 10,
                            "unhandled_within_sla": 0,
                            "unhandled_sla_breach": 11,
                            "within_sla": 44,
                            "sla_breach": 23
                        },
                        "overallTTC": {
                            "friendly": "02h:13m",
                            "raw": 8024.2,
                            "friendly_no_business": "02h:20m",
                            "raw_no_business": 8449.6,
                            "closed_within_sla": 3,
                            "closed_sla_breach": 2,
                            "in_progress_within_sla": 0,
                            "in_progress_sla_breach": 51,
                            "unhandled_within_sla": 0,
                            "unhandled_sla_breach": 11,
                            "within_sla": 6,
                            "sla_breach": 61,
                            "percentileRanks": [
                                {
                                    "key": "02h:00m",
                                    "value": "47.71%"
                                }
                            ],
                            "percentileRanksRaw": [
                                {
                                    "key": "02h:00m",
                                    "value": "47.71%"
                                }
                            ]
                        }
                    }
                },
                {
                    "name": "[email protected]",
                    "threads": {
                        "total": 42,
                        "internal": 0,
                        "inbound": 42,
                        "outbound": 0,
                        "sent_internally": 1,
                        "await_customer": 10,
                        "await_agent": 28,
                        "closed": 3,
                        "have_replies": 0,
                        "have_initial_replies": 0
                    },
                    "messages": {
                        "sent": {
                            "count": 0,
                            "initial": 0,
                            "replies": 0,
                            "reply_all": 0,
                            "forward": 0,
                            "follow_up": 0,
                            "initial_replies": 0,
                            "dailyStats": null
                        },
                        "received": {
                            "count": 61,
                            "initial": 42,
                            "replies": 0,
                            "reply_all": 19,
                            "forward": 0,
                            "follow_up": 0,
                            "initial_replies": 0,
                            "dailyStats": []
                        }
                    },
                    "overallTTR": {
                        "friendly": "N/A",
                        "raw": null,
                        "friendly_no_business": "N/A",
                        "raw_no_business": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": [],
                        "within_sla": 0,
                        "sla_breach": 0
                    },
                    "overallTTF": {
                        "friendly": "N/A",
                        "raw": null,
                        "friendly_no_business": "N/A",
                        "raw_no_business": null
                    },
                    "initialTTR": {
                        "friendly": "N/A",
                        "raw": null,
                        "friendly_no_business": "N/A",
                        "raw_no_business": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": [],
                        "closed_within_sla": 3,
                        "closed_sla_breach": 0,
                        "in_progress_within_sla": 23,
                        "in_progress_sla_breach": 5,
                        "unhandled_within_sla": 0,
                        "unhandled_sla_breach": 11,
                        "within_sla": 26,
                        "sla_breach": 16
                    },
                    "overallTTC": {
                        "friendly": "09m:01s",
                        "raw": 541.6666666666666,
                        "friendly_no_business": "24m:02s",
                        "raw_no_business": 1442.3333333333333,
                        "closed_within_sla": 3,
                        "closed_sla_breach": 0,
                        "in_progress_within_sla": 0,
                        "in_progress_sla_breach": 28,
                        "unhandled_within_sla": 0,
                        "unhandled_sla_breach": 11,
                        "within_sla": 3,
                        "sla_breach": 39,
                        "percentileRanks": [
                            {
                                "key": "02h:00m",
                                "value": "100.00%"
                            }
                        ],
                        "percentileRanksRaw": [
                            {
                                "key": "02h:00m",
                                "value": "100.00%"
                            }
                        ]
                    },
                    "previous": {
                        "threads": {
                            "total": 33,
                            "internal": 0,
                            "inbound": 33,
                            "outbound": 0,
                            "sent_internally": 4,
                            "await_customer": 9,
                            "await_agent": 17,
                            "closed": 3,
                            "have_replies": 0,
                            "have_initial_replies": 0
                        },
                        "messages": {
                            "sent": {
                                "count": 0,
                                "initial": 0,
                                "replies": 0,
                                "reply_all": 0,
                                "forward": 0,
                                "follow_up": 0,
                                "initial_replies": 0,
                                "dailyStats": null
                            },
                            "received": {
                                "count": 42,
                                "initial": 33,
                                "replies": 0,
                                "reply_all": 9,
                                "forward": 0,
                                "follow_up": 0,
                                "initial_replies": 0,
                                "dailyStats": []
                            }
                        },
                        "overallTTR": {
                            "friendly": "N/A",
                            "raw": null,
                            "friendly_no_business": "N/A",
                            "raw_no_business": null,
                            "percentileRanks": [],
                            "percentileRanksRaw": [],
                            "within_sla": 0,
                            "sla_breach": 0
                        },
                        "overallTTF": {
                            "friendly": "N/A",
                            "raw": null,
                            "friendly_no_business": "N/A",
                            "raw_no_business": null
                        },
                        "initialTTR": {
                            "friendly": "N/A",
                            "raw": null,
                            "friendly_no_business": "N/A",
                            "raw_no_business": null,
                            "percentileRanks": [],
                            "percentileRanksRaw": [],
                            "closed_within_sla": 3,
                            "closed_sla_breach": 0,
                            "in_progress_within_sla": 16,
                            "in_progress_sla_breach": 8,
                            "unhandled_within_sla": 0,
                            "unhandled_sla_breach": 6,
                            "within_sla": 19,
                            "sla_breach": 14
                        },
                        "overallTTC": {
                            "friendly": "01h:13m",
                            "raw": 4387.666666666667,
                            "friendly_no_business": "01h:37m",
                            "raw_no_business": 5822.666666666667,
                            "closed_within_sla": 2,
                            "closed_sla_breach": 1,
                            "in_progress_within_sla": 0,
                            "in_progress_sla_breach": 24,
                            "unhandled_within_sla": 0,
                            "unhandled_sla_breach": 6,
                            "within_sla": 2,
                            "sla_breach": 31,
                            "percentileRanks": [
                                {
                                    "key": "02h:00m",
                                    "value": "100.00%"
                                }
                            ],
                            "percentileRanksRaw": [
                                {
                                    "key": "02h:00m",
                                    "value": "64.21%"
                                }
                            ]
                        }
                    }
                },
                {
                    "name": "[email protected]",
                    "threads": {
                        "total": 12,
                        "internal": 0,
                        "inbound": 12,
                        "outbound": 0,
                        "sent_internally": 0,
                        "await_customer": 7,
                        "await_agent": 4,
                        "closed": 1,
                        "have_replies": 0,
                        "have_initial_replies": 0
                    },
                    "messages": {
                        "sent": {
                            "count": 0,
                            "initial": 0,
                            "replies": 0,
                            "reply_all": 0,
                            "forward": 0,
                            "follow_up": 0,
                            "initial_replies": 0,
                            "dailyStats": null
                        },
                        "received": {
                            "count": 16,
                            "initial": 11,
                            "replies": 0,
                            "reply_all": 5,
                            "forward": 0,
                            "follow_up": 0,
                            "initial_replies": 0,
                            "dailyStats": []
                        }
                    },
                    "overallTTR": {
                        "friendly": "N/A",
                        "raw": null,
                        "friendly_no_business": "N/A",
                        "raw_no_business": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": [],
                        "within_sla": 0,
                        "sla_breach": 0
                    },
                    "overallTTF": {
                        "friendly": "N/A",
                        "raw": null,
                        "friendly_no_business": "N/A",
                        "raw_no_business": null
                    },
                    "initialTTR": {
                        "friendly": "N/A",
                        "raw": null,
                        "friendly_no_business": "N/A",
                        "raw_no_business": null,
                        "percentileRanks": [],
                        "percentileRanksRaw": [],
                        "closed_within_sla": 1,
                        "closed_sla_breach": 0,
                        "in_progress_within_sla": 8,
                        "in_progress_sla_breach": 2,
                        "unhandled_within_sla": 0,
                        "unhandled_sla_breach": 1,
                        "within_sla": 9,
                        "sla_breach": 3
                    },
                    "overallTTC": {
                        "friendly": "26m:33s",
                        "raw": 1593,
                        "friendly_no_business": "26m:33s",
                        "raw_no_business": 1593,
                        "closed_within_sla": 1,
                        "closed_sla_breach": 0,
                        "in_progress_within_sla": 0,
                        "in_progress_sla_breach": 10,
                        "unhandled_within_sla": 0,
                        "unhandled_sla_breach": 1,
                        "within_sla": 1,
                        "sla_breach": 11,
                        "percentileRanks": [
                            {
                                "key": "02h:00m",
                                "value": "100.00%"
                            }
                        ],
                        "percentileRanksRaw": [
                            {
                                "key": "02h:00m",
                                "value": "100.00%"
                            }
                        ]
                    },
                    "previous": {
                        "threads": {
                            "total": 14,
                            "internal": 0,
                            "inbound": 14,
                            "outbound": 0,
                            "sent_internally": 0,
                            "await_customer": 8,
                            "await_agent": 6,
                            "closed": 0,
                            "have_replies": 0,
                            "have_initial_replies": 0
                        },
                        "messages": {
                            "sent": {
                                "count": 0,
                                "initial": 0,
                                "replies": 0,
                                "reply_all": 0,
                                "forward": 0,
                                "follow_up": 0,
                                "initial_replies": 0,
                                "dailyStats": null
                            },
                            "received": {
                                "count": 22,
                                "initial": 14,
                                "replies": 0,
                                "reply_all": 8,
                                "forward": 0,
                                "follow_up": 0,
                                "initial_replies": 0,
                                "dailyStats": []
                            }
                        },
                        "overallTTR": {
                            "friendly": "N/A",
                            "raw": null,
                            "friendly_no_business": "N/A",
                            "raw_no_business": null,
                            "percentileRanks": [],
                            "percentileRanksRaw": [],
                            "within_sla": 0,
                            "sla_breach": 0
                        },
                        "overallTTF": {
                            "friendly": "N/A",
                            "raw": null,
                            "friendly_no_business": "N/A",
                            "raw_no_business": null
                        },
                        "initialTTR": {
                            "friendly": "N/A",
                            "raw": null,
                            "friendly_no_business": "N/A",
                            "raw_no_business": null,
                            "percentileRanks": [],
                            "percentileRanksRaw": [],
                            "closed_within_sla": 0,
                            "closed_sla_breach": 0,
                            "in_progress_within_sla": 9,
                            "in_progress_sla_breach": 3,
                            "unhandled_within_sla": 0,
                            "unhandled_sla_breach": 2,
                            "within_sla": 9,
                            "sla_breach": 5
                        },
                        "overallTTC": {
                            "friendly": "N/A",
                            "raw": null,
                            "friendly_no_business": "N/A",
                            "raw_no_business": null,
                            "closed_within_sla": 0,
                            "closed_sla_breach": 0,
                            "in_progress_within_sla": 0,
                            "in_progress_sla_breach": 12,
                            "unhandled_within_sla": 0,
                            "unhandled_sla_breach": 2,
                            "within_sla": 0,
                            "sla_breach": 14,
                            "percentileRanks": [
                                {
                                    "key": "02h:00m",
                                    "value": "0.00%"
                                }
                            ],
                            "percentileRanksRaw": [
                                {
                                    "key": "02h:00m",
                                    "value": "0.00%"
                                }
                            ]
                        }
                    }
                },
                {
                    "name": "[email protected]",
                    "threads": {
                        "total": 7,
                        "internal": 0,
                        "inbound": 5,
                        &quo