Skip to content

Reporting Data Export

Everything about Reporting Data Export. See this article for details on using the data to generate various metrics.

Enqueue a new reporting data export job

Request

For the conversation dataset, from API version 2.16 this export returns all conversations, including those that never received a user reply. Earlier versions return only conversations that received at least one user reply. Other datasets are unaffected.

Requires the export_reporting_data OAuth scope.

Security
bearerAuth
Headers
Intercom-Versionstring(intercom_version)

Intercom API version.
If you omit the header, the API uses the version set in your app package, and 1.0 if none is set.

Enum:"1.0""1.1""1.2""1.3""1.4""2.0""2.1""2.2""2.3""2.4"
Example:2.17
Bodyapplication/jsonrequired
dataset_idstringrequired
Example:"conversation"
attribute_idsArray of stringsrequired

List of attribute identifiers to include in the export. Requires qualified_id format (e.g., "people.Brand", "standard.conversation_id"). Use the qualified_id returned from the get_datasets response.

Example:
[ "standard.conversation_id", "timestamp.conversation_started_at" ]
start_timeinteger, (int64)required

Start of the export period, as a Unix timestamp in seconds. Must be within your workspace's reporting data retention period, which is 2 years by default (3 years for workspaces with extended retention).

Example:1788220800
end_timeinteger, (int64)required

End of the export period, as a Unix timestamp in seconds. Must not be earlier than start_time and must also be within the retention period.

Example:1788307200
curl -i -X POST \
  https://api.intercom.io/export/reporting_data/enqueue \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'Intercom-Version: 2.17' \
  -d '{
    "dataset_id": "conversation",
    "attribute_ids": [
      "standard.conversation_id",
      "timestamp.conversation_started_at"
    ],
    "start_time": 1788220800,
    "end_time": 1788307200
  }'

Responses

Job enqueued successfully

Bodyapplication/json
job_identifierstring
Example:"job1"
statusstring

The status of the job. A newly enqueued job is pending.

Example:"pending"
download_urlstring

Empty until the job is complete.

download_expires_atstring

Empty until the job is complete.

Response
{ "job_identifier": "job1", "status": "pending", "download_url": "string", "download_expires_at": "string" }