Platform
APIs & SDKs
Resources

...

Reports API

Introduction

Reports API allows you to access and extract all the Reports data available in LiveChat.

Versioning

This document describes the LiveChat Reports API v3.3, which is a legacy version. For production-ready applications, it's best to use to the current stable version. Read more about versioning...

Lifecycle headers

API responses will contain one of two headers related to the API lifecycle: Legacy or Deprecation. These headers specify when the associated stage ends (in the YYYY-MM-DD format).

Authorization

You can authorize your calls to the Reports API using one of the following methods:

Postman collection

You can find all the requests from the Reports API v3.3 in Postman. In our collection, we use environment variables for the API version and the access token. Importing the collection from the link below downloads the LiveChat Web API environment as well. Remember to replace sample tokens with your own.

Run in Postman

Methods

The API endpoint
https://api.livechatinc.com/v3.3/reports/<resource>/<action>
HeaderValueRequiredNotes
AuthorizationBearer <token>YesYour access token
X-API-Version3.3NoYou can specify the API version in the URL instead.

Available methods

Chatsagents_chatting_duration tags total_chats

Chats

Agents Chatting Duration

Shows the average chatting duration of agents within a license.

Specifics
Method URLhttps://api.livechatinc.com/v3.3/reports/chats/agents_chatting_duration
HTTP methodGET
Required scopesreports_read
Request
Query StringRequiredNotes
toyesDate in the RFC3339 format, which also contains a timezone. This timezone will be used if no timezone is provided.
fromyesDate in the RFC3339 format, which also contains a timezone. This timezone will be used if no timezone is provided.
agentsnoAgent emails separated by a comma; if not specified, returns the data for all agents within the license.
groupsnoGroup IDs separated by a comma
tagsnoNames of tags separated by a comma
customer_client_idsnoClient IDs separated by a comma
distributionnoPossible values: hour, day-hours, day, month; defaults to day
timezonenoTimezone in the TZ format (e.g. America/Phoenix). By default, the timezone is taken from the request. If it isn't provided, then it's taken from the agent's timezone. When it's impossible to load the agent's timezone, from is parsed to get it.
taggednoPossible values: true, 1, false, 0
Response
FieldNotes
totalThe total number of chats in the specified date range.
recordsContains distribution objects, for example, day.
records.day.countThe total number of chats agents had that day.
records.day.secondsThe average chat duration agents had that day.
REQUEST
Copied!
curl "https://api.livechatinc.com/v3.3/reports/chats/agents_chatting_duration?from=2020-09-01T00:00:00%2B02:00&to=2020-09-14T23:59:59%2B02:00" \
  -H 'Authorization: Bearer <your_access_token>'
Response
Copied!
{
	"name": "agents-chatting-duration-report",
	"total": 79,
	"records": {
		"2020-09-01": {},
		"2020-09-02": {},
		"2020-09-03": {},
		"2020-09-04": {},
		"2020-09-05": {
			"count": 67,
			"seconds": 875
		},
		"2020-09-06": {},
		"2020-09-07": {},
		"2020-09-08": {},
		"2020-09-09": {},
		"2020-09-10": {},
		"2020-09-11": {
			"count": 11,
			"seconds": 1337
		},
		"2020-09-12": {},
		"2020-09-13": {},
		"2020-09-14": {
			"count": 1,
			"seconds": 178
		}
	}
}

Tags

Shows the distribution of tags for chats.

Specifics
Method URLhttps://api.livechatinc.com/v3.3/reports/chats/tags
HTTP methodGET
Required scopesreports_read
Request
Query StringRequiredNotes
toyesDate in the RFC3339 format, which also contains a timezone. This timezone will be used if no timezone is provided.
fromyesDate in the RFC3339 format, which also contains a timezone. This timezone will be used if no timezone is provided.
distributionyesPossible values: hour, day-hours, day, month, year
timezonenoTimezone in the TZ format (e.g. America/Phoenix). By default, the timezone is taken from the request. If it isn't provided, then it's taken from the agent's timezone. When it's impossible to load the agent's timezone,from is parsed to get it.
agentsnoAgent emails separated by a comma; if not specified, returns the data for all agents within the license.
groupsnoGroup IDs separated by a comma
namesnoThe names of tags separated by a comma; when tags=:without:, you will get the total number of chats without tags, when tags=:with: you will get the total number of chats with tags.
Response
FieldNotes
totalThe total number of chats in the specified date range.
recordsContains the distribution objects, for example, day.
records.day.<tag>The total number of chats tagged with <tag>.
REQUEST
Copied!
curl "https://api.livechatinc.com/v3.3/reports/chats/tags?from=2020-09-01T00:00:00%2B02:00&to=2020-09-14T23:59:59%2B02:00&distribution=day" \
  -H 'Authorization: Bearer <your_access_token>'
Response
Copied!
{
	"name": "tags-report",
	"total": 329,
	"records": {
		"2020-09-01": {},
		"2020-09-02": {},
		"2020-09-03": {},
		"2020-09-04": {},
		"2020-09-05": {
			"spam": 21,
			"support": 12
		},
		"2020-09-06": {},
		"2020-09-07": {},
		"2020-09-08": {},
		"2020-09-09": {},
		"2020-09-10": {},
		"2020-09-11": {
			"spam": 13,
			"support": 7
		},
		"2020-09-12": {},
		"2020-09-13": {},
		"2020-09-14": {
			"spam": 98,
			"support": 178
		}
	}
}

Total Chats

Shows how many chats occurred during the specified period.

Specifics
Method URLhttps://api.livechatinc.com/v3.3/reports/chats/total_chats
HTTP methodGET
Required scopesreports_read
Request
Query StringRequiredNotes
toyesDate in the RFC3339 format, which also contains a timezone. This timezone will be used if no timezone is provided.
fromyesDate in the RFC3339 format, which also contains a timezone. This timezone will be used if no timezone is provided.
distributionnoPossible values: hour, day-hours, day, month; defaults to day
timezonenoTimezone in the TZ format (e.g. America/Phoenix). By default, the timezone is taken from the request. If it isn't provided, then it's taken from the agent's timezone. When it's impossible to load the agent's timezone, from is parsed to get it.
agentsnoAgent emails separated by a comma; if not specified, returns the data for all agents within the license.
agent_assignednoPossible values: true, 1, false, 0
groupsnoGroup IDs separated by a comma
customer_client_idsnoClient IDs separated by a comma
tagsnoNames of tags separated by a comma
taggednoPossible values: true, 1, false, 0
Response
FieldNotes
totalThe total number of chats in the specified date range.
recordsContains the distribution objects, for example, day.
records.day.totalThe total number of chats that day.
records.day.continuousThe number of continuous chats that day.
REQUEST
Copied!
curl "https://api.livechatinc.com/v3.3/reports/chats/total_chats?from=2020-09-01T00:00:00%2B02:00&to=2020-09-14T23:59:59%2B02:00" \
  -H 'Authorization: Bearer <your_access_token>'
Response
Copied!
{
	"name": "total-chats-report",
	"total": 329,
	"records": {
		"2020-09-01": {},
		"2020-09-02": {},
		"2020-09-03": {},
		"2020-09-04": {},
		"2020-09-05": {
			"total": 10,
			"continuous": 5
		},
		"2020-09-06": {},
		"2020-09-07": {},
		"2020-09-08": {
			"total": 24
		},
		"2020-09-09": {},
		"2020-09-10": {},
		"2020-09-11": {
			"total": 56,
			"continuous": 33
		},
		"2020-09-12": {},
		"2020-09-13": {},
		"2020-09-14": {
			"total": 111,
			"continuous": 90
		}
	}
}

Contact us

If you found a bug or a typo, you can create an issue on GitHub. In case of any questions or feedback, don't hesitate to contact us at developers@text.com

...

Join the community
Get in direct contact with us through Discord.
Follow us
Follow our insightful tweets and interact with our content.
Contribute
See something that's wrong or unclear? Submit a pull request.
Contact us
Want to share feedback? Reach us at: developers@text.com