- Applies to: Sprinklr Reporting Suite APIs V3
- V2 API reference: Reporting Suite APIs | Sprinklr Developer Portal
Sprinklr’s Reporting Suite APIs standardize data extraction through a predefined set of metrics and dimensions across all channels.
A reporting suite is essentially a master template for analytics exports, ensuring consistency, efficiency, and reliability in how performance data is captured and shared.
Brands often struggle to gain a complete view of campaign performance.
They pull separate reports for each channel, repeat the process for every update, and manually export data for compliance.
At the same time, reporting needs to evolve with campaigns, yet there is no simple way to sync data with internal systems.
The Reporting Suite addresses these challenges with a unified, automated, and customizable framework for reporting.
Sprinklr offers two types of reporting suites:
These are pre-built reporting suites for common use cases and are ready to use immediately.
These are custom reporting suites that are customized according to your requirements.
You can create these from scratch or clone a standard suite and modify it according to your needs.
These are useful for industry-specific metrics, custom calculations, unique dimension combinations, and special export formats.
Reporting Suite V3 exposes full CRUD across multiple resource paths:
| Operation | Method | Path |
|---|---|---|
| Create suite | POST | /api/v3/reportingSuite/suite |
| Search suites | POST | /api/v3/reportingSuite/suite/search |
| Create export config | POST | /api/v3/reportingSuite/exportConfig |
| Search export configs | POST | /api/v3/reportingSuite/exportConfig/search |
| Update suite (partial) | PATCH | /api/v3/reportingSuite/suite?entityId= |
| Update export config | PATCH | /api/v3/reportingSuite/exportConfig?entityId= |
| Get suite by ID | GET | /api/v3/reportingSuite/suite?entityId= |
| Get export config by ID | GET | /api/v3/reportingSuite/exportConfig?entityId= |
| Fetch field mappings | GET | /api/v3/reportingSuite/fieldMappings?moduleType=&breakdownType= |
| Delete suite | DELETE | /api/v3/reportingSuite/suite?entityId= |
| Delete export config | DELETE | /api/v3/reportingSuite/exportConfig?entityId= |
All API calls are sent to the production endpoint:
https://api3.sprinklr.com/{env}/api/v3So the reporting suite resource in production is:
https://api3.sprinklr.com/{env}/api/v3/reportingSuiteReplace {env} with your assigned environment identifier. The specification declares the env server variable with default prod and the following enumerated values:
prod, prod0, prod2, prod3, prod4, prod5, prod6, prod8, prod11, prod12, prod15, prod16, prod17, prod18, prod19, prod21, prod25
See APIs | Sprinklr Developer Portal for the published environment list.
All Reporting Suite API calls are authenticated with OAuth 2.0. See API Overview for portal registration, API key and secret generation, and the Authorize flow.
| Header | Value | Purpose | Required on |
|---|---|---|---|
Authorization | Bearer {{accessToken}} | Authenticates the user with the server | All requests |
Key | {{apiKey}} | Authenticates the application with the server | All requests |
Content-Type | application/json | Declares the request body media type | POST, PUT, PATCH |
Accept | application/json | Declares the acceptable response type | All requests |
POST /api/v3/reportingSuite/suite
Creates a custom reporting suite to standardize analytics exports. You can define specific metrics and dimensions or clone a standard suite and extend it with additional fields, such as LinkedIn-specific metrics.
| Parameter | Required / Optional | Description | Type |
|---|---|---|---|
name | Optional | Name of the reporting suite. | String |
description | Optional | Description of the suite’s purpose. | String |
moduleType | Required | Module type for the suite. Supported Values: PAID, REPORTING, LISTENING, MESSAGE | String |
breakdownType | Required | Type of data breakdown. Must match the breakdownType of the standard reporting suite being cloned. Supported Values: See the breakdownType Values table below. | String |
baseReportingSuite | Optional | ID of a standard suite to clone. If not specified, a new custom suite is created without cloning. | String |
dimensions | Optional | List of dimension names to include. Values must be obtained from the Field Mappings API for the chosen moduleType and breakdownType.Example: ["budget", "adFormat"] | Array |
measurements | Optional | List of measurement names to include. Values must be obtained from the Field Mappings API for the chosen moduleType and breakdownType.Example: ["conversionRate", "reach"] | Array |
breakdownType Values
| moduleType | Supported breakdownType values |
|---|---|
| PAID | Facebook: FACEBOOK_AD_SET, FACEBOOK_AD_VARIANT, FACEBOOK_AGE_GENDER, FACEBOOK_COUNTRY, FACEBOOK_DESTINATION, FACEBOOK_DMA, FACEBOOK_PAID_INITIATIVE, FACEBOOK_PLATFORM_POSITION, FACEBOOK_PRODUCT, FACEBOOK_REGIONGoogle: GOOGLE_AD_AGE_RANGE, GOOGLE_AD_SET, GOOGLE_AD_VARIANT, GOOGLE_DEVICE, GOOGLE_GENDER, GOOGLE_GEO, GOOGLE_GEO_COUNTRY, GOOGLE_KEYWORD_STAT, GOOGLE_PAID_INITIATIVE, GOOGLE_PLACEMENT, GOOGLE_SEARCH_QUERY, GOOGLE_VIDEOLinkedIn: LINKEDIN_AD_SET, LINKEDIN_AD_VARIANT, LINKEDIN_COMPANY, LINKEDIN_COUNTRY, LINKEDIN_INDUSTRY, LINKEDIN_JOB_TITLE, LINKEDIN_PAID_INITIATIVESnapchat: SNAPCHAT_AD_SET, SNAPCHAT_AD_VARIANT, SNAPCHAT_AGE, SNAPCHAT_COUNTRY, SNAPCHAT_DMA, SNAPCHAT_GENDER, SNAPCHAT_INTEREST, SNAPCHAT_MAKE, SNAPCHAT_OS, SNAPCHAT_PAID_INITIATIVE, SNAPCHAT_PRODUCT, SNAPCHAT_REGIONTikTok: TIKTOK_AD_SET, TIKTOK_AD_TYPE, TIKTOK_AD_VARIANT, TIKTOK_AGE, TIKTOK_COUNTRY, TIKTOK_DMA, TIKTOK_GENDER, TIKTOK_INTEREST, TIKTOK_LANGUAGE, TIKTOK_PAID_INITIATIVE, TIKTOK_PLACEMENT, TIKTOK_PLATFORM, TIKTOK_PRODUCTX (Twitter Ads): X_AD_SET, X_AD_VARIANT, X_AGE, X_AUCTION, X_EVENTS, X_GENDER, X_INTEREST, X_KEYWORD, X_LOCATION, X_PAID_INITIATIVE, X_PLATFORM |
| REPORTING | CASE, FACEBOOK_PAGE_*, FACEBOOK_POST_*, INSTAGRAM_*, LINKEDIN_*, SNAPCHAT_*, TIKTOK_*, TWITTER_*, YOUTUBE_* |
| LISTENING | RESEARCH_INSIGHTS |
| MESSAGE | MESSAGE |
curl --location --request POST 'https://api3.sprinklr.com/{env}/api/v3/reportingSuite/suite' \
--header 'Authorization: Bearer {Access Token}' \
--header 'Key: {API KEY}' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--data '{
"name": "Custom Facebook Initiative Suite",
"description": "Analyzes Facebook Initiative performance",
"breakdownType": "FACEBOOK_PAID_INITIATIVE",
"moduleType": "PAID",
"dimensions": ["paidInitiativeName", "currency"],
"measurements": ["clicks", "impressions", "spent"]
}'POST /api/v3/reportingSuite/suite/search
Searches for reporting suites with filters and pagination. You can filter results by suite type, module type, or other suite properties, and manage output using pagination.
| Parameter | Required / Optional | Description | Type |
|---|---|---|---|
| query | Required | Defines search criteria, including pagination, filters, and whether to return total counts. | Object |
| Parameter | Sub-Parameter | Required / Optional | Description | Type |
|---|---|---|---|---|
| page | Optional | Parent object for pagination settings | Object | |
| page | Optional | Page number to retrieve (0-based index). Example: 0, 1, 2 | Number | |
| size | Optional | Number of results per page. Example: 50, 100 | Number | |
| filter | Optional | Object containing filter details for narrowing down suites | Object | |
| filterType | Required | Type of filter operation. Supported: AND, OR, NOT, IN, GT, GTE, LT, LTE, NIN, EQUALS, NOT_EQUALS, CONTAINS | String | |
| field | Required | Field name to filter on. Supported: suiteType (STANDARD, CUSTOM), name, moduleType, breakdownType, baseReportingSuite, deleted, ownerUserId, etc. | String | |
| values | Required | Value(s) to match against the field. Single string or array of values | String / Array | |
| returnTotalCount | Optional | Whether to include total count of matching results. Supported: true, false | Boolean |
curl --location --request POST 'https://api3.sprinklr.com/{env}/api/v3/reportingSuite/suite/search' \
-H 'Authorization: Bearer {Enter your Access Token}' \
-H 'Key: {Enter your API KEY}' \
-H 'Content-Type: application/json' \
-H 'accept: application/json'
--data '{
"query": {
"page": {
"page": 0,
"size": 10
},
"filter": {
"filterType": "EQUALS",
"field": "suiteType",
"values": "STANDARD"
},
"returnTotalCount": true
},
"searchStr": ""
}'POST /api/v3/reportingSuite/exportConfig
Creates a new export configuration for a reporting suite. Supports both one‑time and scheduled exports, allowing automated delivery of reporting data to an external S3 storage location. You can customize exports by defining filters, specifying date ranges, and configuring schedules.
| Parameter | Required / Optional | Description | Type |
|---|---|---|---|
| name | Required | Name of the export configuration | String |
| reportingSuite | Required | ID of the associated reporting suite. Obtain this ID from suite creation or search. Example: 67a3494047906e5dd61ae727 | String |
| exportType | Required | Type of export. Supported Values: ONE_TIME, SCHEDULED | String |
| externalStorageId | Optional | ID of the S3 storage location where the export will be delivered. Example: 67a4af1dd2643eb564239265 | String |
| timeRangeFilter | Optional | Defines the date range for the export. See timeRangeFilter Object below. | Object |
| scheduleConfig | Optional | Configuration for recurring exports. See scheduleConfig Object below. | Object |
| filters | Optional | List of filters to apply to the export data. See filters Object below. | Array of Objects |
| Parameter | Sub-Parameter | Required / Optional | Description | Type |
|---|---|---|---|---|
| startTime | Optional | Start timestamp for one-time exports (epoch ms). Example: 1735705800000 | Number | |
| endTime | Optional | End timestamp for one-time exports (epoch ms). Example: 1738211400000 | Number | |
| timeRange | Optional | Date range preset for scheduled exports. Supported Values: TODAY, YESTERDAY, THIS_WEEK, LAST_WEEK, THIS_MONTH, LAST_MONTH, DYNAMIC_DURATION | String | |
| timezone | Optional | Free‑form IANA zone ID string. Examples: UTC, GMT | String | |
| dynamicTimeRange | Optional | Object defining a dynamic duration. Contains durationUnit, durationValue, endingValue. | Object | |
| durationUnit | Optional | Unit of time. Supported Values: MINUTES, HOURS, DAYS, WEEKS, MONTHS, YEARS | String | |
| durationValue | Optional | Length of the dynamic duration. Example: 5 | Number | |
| endingValue | Optional | Offset from current time at which duration ends. Example: 0 | Number |
| Parameter | Sub-Parameter | Required / Optional | Description | Type |
|---|---|---|---|---|
| scheduleFrequency | Optional | Defines frequency settings for scheduled exports. Contains scheduleType and repeatFrequency. | Object | |
| scheduleType | Optional | Frequency type. Supported Values: DAILY, MINUTES, HOURLY, WEEKLY | String | |
| repeatFrequency | Optional | Interval for scheduled exports. Example: 3 (positive integer) | Number |
| Parameter | Required / Optional | Description | Type |
|---|---|---|---|
| filterType | Optional | Type of filter. Supported Values: AND, OR, NOT, IN, GT, GTE, LT, LTE, NIN, EQUALS, NOT_EQUALS, CONTAINS | String |
| field | Optional | Field to filter on. Must be a valid dimension name from the suite’s field mapping. Example: accountId | String |
| values | Optional | Values to filter by. Example: [12345, 23414] | Array |
curl --location --request POST 'https://api3.sprinklr.com/{env}/api/v3/reportingSuite/exportConfig' \
-H 'Authorization: Bearer {Enter your Access Token}' \
-H 'Key: {Enter your API KEY}' \
-H 'Content-Type: application/json' \
-H 'accept: application/json'
--data '{
"name": "Ad Variant Schedule Export - one time",
"reportingSuite": "6a1e8b0a259e22bdc9eb2797",
"exportType": "ONE_TIME",
"timeRangeFilter": {
"startTime": 1739100163000,
"endTime": 1739445763000,
"timezone": "UTC"
}
}'POST /api/v3/reportingSuite/exportConfig/search
Searches for export configurations associated with reporting suites. You can filter results by export type, suite ID, or other properties, and manage output using pagination.
| Parameter | Required / Optional | Type | Description |
|---|---|---|---|
| query | Required | Object | Defines the search criteria, including pagination, filters, and whether to return total counts. See the query Object table below. |
| Parameter | Sub-Parameter | Required / Optional | Type | Description |
|---|---|---|---|---|
| page | Optional | Object | Object containing pagination details for the search results. | |
| page | Optional | Integer | Page number to retrieve (0-based index). Example: 1, 2 | |
| size | Optional | Integer | Number of results per page. Example: 10, 50, 100 | |
| filter | Optional | Object | Object containing filter details for narrowing down export configs. | |
| filterType | Required | String | Type of filter operation. Supported Values: AND, OR, NOT, IN, GT, GTE, LT, LTE, NIN, EQUALS, NOT_EQUALS, CONTAINS | |
| field | Required | String | Dimension or property to filter on. Examples: accountId, ownerUserIdOther searchable properties: exportType (ONE_TIME, SCHEDULED), reportingSuite, name, externalStorageId, deleted | |
| values | Required | String / Array of Strings | Value(s) to match against the chosen field. Always passed as an array, even if only one value. Example: ["SCHEDULED"] | |
| returnTotalCount | Optional | Boolean | Whether to include the total count of matching results. Example: true, false |
curl --location --request POST 'https://api3.sprinklr.com/{env}/api/v3/reportingSuite/exportConfig/search' \
-H 'Authorization: Bearer {Enter your Access Token}' \
-H 'Key: {Enter your API KEY}' \
-H 'Content-Type: application/json' \
-H 'accept: application/json'
--data '{
"query": {
"page": {
"page": 0,
"size": 10
}
},
"searchStr": "Schedule"
}'PATCH /api/v3/reportingSuite/suite
Updates specific fields of an existing reporting suite. This endpoint allows you to modify suite metadata, dimensions, measurements, or filters after creation.
Note: Certain fields cannot be changed once the suite is created.
| Parameter | Required / Optional | Description | Type |
|---|---|---|---|
entityId | Required | Unique identifier of the reporting suite. You can obtain this from the response when creating a suite, or by searching for existing suites. Example: 67a3515847906e5dd61aea24 | String |
| Parameter | Required / Optional | Description | Type |
|---|---|---|---|
| fieldName | Required | Name of the field to update. Supported Values: name, description, dimensions, measurements, filters, baseReportingSuiteDev Notes: The following fields cannot be changed once the suite is created: suiteType, deleted. Modifying moduleType or breakdownType after suite creation is not recommended. | String |
| value | Optional | New value for the specified field. | Object / String |
| op | Required | Operation to perform on the field. Supported Values: SET, UNSET, INC, DEC, INCREMENT_BY, DECREMENT_BY, ADD, REMOVE, PUSH, MERGE, SET_IF_ABSENT | String |
curl --location --request PATCH 'https://api3.sprinklr.com/{env}/api/v3/reportingSuite/suite?entityId=6a1e6c3c259e22bdc9eb1c59' \
-H 'Authorization: Bearer {Enter your Access Token}' \
-H 'Key: {Enter your API KEY}' \
-H 'Content-Type: application/json' \
-H 'accept: application/json'
--data '{
"updateFields": {
"op": "SET",
"fieldName": "dimensions",
"value": [
"linkedinMemberCompanyId",
"linkedinCompany",
"LinkedIn"
]
}
}'PATCH /api/v3/reportingSuite/exportConfig
Updates specific fields of an existing export configuration. This endpoint allows you to modify export settings such as filters, schedules, storage location, or time ranges after creation.
| Parameter | Required / Optional | Description | Type |
|---|---|---|---|
entityId | Required | Unique identifier of the export config. Example: 67a3515847906e5dd61aea24 | String |
| Parameter | Required / Optional | Description | Type |
|---|---|---|---|
| fieldName | Required | Name of the field to update. Supported Values: timeRangeFilter, name, filters, scheduleConfig, externalStorageId, exportType | String |
| value | Required | New value for the specified field. Example: {"startTime": 1735705800000, "endTime": 1738211400000, "timezone": "GMT"} | Object / String |
| op | Required | Operation to perform on the field. Supported Values: SET, UNSET, INC, DEC, INCREMENT_BY, DECREMENT_BY, ADD, REMOVE, PUSH, MERGE, SET_IF_ABSENT | String |
curl --location --request PATCH 'https://api3.sprinklr.com/{env}/api/v3/reportingSuite/exportConfig?entityId=6a1e8bcb259e22bdc9eb27d6' \
-H 'Authorization: Bearer {Enter your Access Token}' \
-H 'Key: {Enter your API KEY}' \
-H 'Content-Type: application/json' \
-H 'accept: application/json'
--data '{
"updateFields": {
"op": "SET",
"fieldName": "name",
"value": "update export suite config"
}
}'GET /api/v3/reportingSuite/fieldMappings
Retrieves immutable field mappings used to define metrics and dimensions in reporting suites. These mappings standardize data extraction across channels, supporting the creation of custom reporting suites by providing available dimensions (for example, campaignName) and measurements (for example, clicks).
| Parameter | Required / Optional | Description | Type |
|---|---|---|---|
moduleType | Required | Specifies the module type for the mappings. Supported Values: PAID, REPORTING, LISTENING, MESSAGE | String |
breakdownType | Optional | Filters mappings by a specific breakdown type. If not specified, the API returns all mappings for the given moduleType.Supported Values: See breakdownType table below. | String |
| moduleType | Supported breakdownType values |
|---|---|
| PAID | Facebook: FACEBOOK_AD_SET, FACEBOOK_AD_VARIANT, FACEBOOK_AGE_GENDER, FACEBOOK_COUNTRY, FACEBOOK_DESTINATION, FACEBOOK_DMA, FACEBOOK_PAID_INITIATIVE, FACEBOOK_PLATFORM_POSITION, FACEBOOK_PRODUCT, FACEBOOK_REGIONGoogle: GOOGLE_AD_AGE_RANGE, GOOGLE_AD_SET, GOOGLE_AD_VARIANT, GOOGLE_DEVICE, GOOGLE_GENDER, GOOGLE_GEO, GOOGLE_GEO_COUNTRY, GOOGLE_KEYWORD_STAT, GOOGLE_PAID_INITIATIVE, GOOGLE_PLACEMENT, GOOGLE_SEARCH_QUERY, GOOGLE_VIDEOLinkedIn: LINKEDIN_AD_SET, LINKEDIN_AD_VARIANT, LINKEDIN_COMPANY, LINKEDIN_COUNTRY, LINKEDIN_INDUSTRY, LINKEDIN_JOB_TITLE, LINKEDIN_PAID_INITIATIVESnapchat: SNAPCHAT_AD_SET, SNAPCHAT_AD_VARIANT, SNAPCHAT_AGE, SNAPCHAT_COUNTRY, SNAPCHAT_DMA, SNAPCHAT_GENDER, SNAPCHAT_INTEREST, SNAPCHAT_MAKE, SNAPCHAT_OS, SNAPCHAT_PAID_INITIATIVE, SNAPCHAT_PRODUCT, SNAPCHAT_REGIONTikTok: TIKTOK_AD_SET, TIKTOK_AD_TYPE, TIKTOK_AD_VARIANT, TIKTOK_AGE, TIKTOK_COUNTRY, TIKTOK_DMA, TIKTOK_GENDER, TIKTOK_INTEREST, TIKTOK_LANGUAGE, TIKTOK_PAID_INITIATIVE, TIKTOK_PLACEMENT, TIKTOK_PLATFORM, TIKTOK_PRODUCTX (Twitter Ads): X_AD_SET, X_AD_VARIANT, X_AGE, X_AUCTION, X_EVENTS, X_GENDER, X_INTEREST, X_KEYWORD, X_LOCATION, X_PAID_INITIATIVE, X_PLATFORM |
| REPORTING | CASE, FACEBOOK_PAGE_*, FACEBOOK_POST_*, INSTAGRAM_*, LINKEDIN_*, SNAPCHAT_*, TIKTOK_*, TWITTER_*, YOUTUBE_* |
| LISTENING | RESEARCH_INSIGHTS |
| MESSAGE | MESSAGE |
curl --location --request GET 'https://api3.sprinklr.com/{env}/api/v3/reportingSuite/fieldMappings?moduleType=PAID&breakdownType=FACEBOOK_COUNTRY' \
-H 'Authorization: Bearer {Enter your Access Token}' \
-H 'Key: {Enter your API KEY}' \
-H 'Content-Type: application/json' \
-H 'accept: application/json'GET /api/v3/reportingSuite/suite
Retrieves detailed information about a specific reporting suite using its unique identifier. This endpoint is useful for inspecting the configuration of a suite, including its dimensions, measurements, and metadata, after creation or modification.
| Parameter | Required / Optional | Description | Type |
|---|---|---|---|
entityId | Required | Unique identifier of the reporting suite. You can obtain this ID from the response when you create a suite or when you search for suites. Example: 67a3494047906e5dd61ae727 | String |
curl --location --request GET 'https://api3.sprinklr.com/{env}/api/v3/reportingSuite/suite?entityId=6a97b9e25efb429a803919be'GET /api/v3/reportingSuite/exportConfig
Retrieves detailed information about a specific export configuration using its unique identifier. This endpoint allows users to inspect export settings, such as filters, schedules, and storage details, for auditing or modification purposes.
| Parameter | Required / Optional | Description | Type |
|---|---|---|---|
entityId | Required | Unique identifier of the reporting suite. You can obtain this ID from the response when you create a suite or when you search for suites. Example: 67a3494047906e5dd61ae727 | String |
curl --location --request GET 'https://api3.sprinklr.com/{env}/api/v3/reportingSuite/exportConfig?entityId=6a97bac05efb429a803919c5' \
-H 'Authorization: Bearer {Enter your Access Token}' \
-H 'Key: {Enter your API KEY}' \
-H 'Content-Type: application/json' \
-H 'accept: application/json'POST /api/v3/reportingSuite/exportStatus/
Retrieves the status of export runs for a specific export configuration, including whether they are completed and providing download URLs for finished exports. This endpoint monitors queued or scheduled export processes managed by Sprinklr.
| Parameter | Required / Optional | Description | Type |
|---|---|---|---|
exportConfigId | Required | Unique identifier of the export config. Example: 67a34bbe47906e5dd61ae7a4 | String |
| Parameter | Sub-Parameter | Required / Optional | Description | Type |
|---|---|---|---|---|
page | — | Required | Parent object for pagination settings | Object |
page | page | Required | Page number for pagination. Example: 0, 1, 2 (non‑negative integers) | Number |
page | size | Required | Number of items per page. Example: 10 (positive integers) | Number |
returnTotalCount | — | Required | Whether to include total count of items. Example: true, false | Boolean |
curl --location --request POST 'https://api3.sprinklr.com/{env}/api/v3/reportingSuite/exportStatus/?exportConfigId=6a1e8bcb259e22bdc9eb27d6' \
--header 'Authorization: Bearer {Access Token}' \
--header 'Key: {API KEY}' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--data '{
"query": {
"page": {
"page": 0,
"size": 10
},
"returnTotalCount": true
}
}'DELETE /api/v3/reportingSuite/suite
Deletes a specified reporting suite. This is useful for cleaning up unused or obsolete suites, ensuring only relevant configurations remain active.
| Parameter | Required / Optional | Description | Type |
|---|---|---|---|
{entityId} | Required | Unique identifier of the reporting suite. You can obtain this from the response when creating a suite, or by searching for existing suites. Example: 67a3515847906e5dd61aea24 | String |
curl --location --request DELETE 'https://api3.sprinklr.com/{env}/api/v3/reportingSuite/suite?entityId=6a97a6615efb429a80391526' \
-H 'Authorization: Bearer {Enter your Access Token}' \
-H 'Key: {Enter your API KEY}' \
-H 'Content-Type: application/json' \
-H 'accept: application/json'DELETE /api/v3/reportingSuite/exportConfig
Deletes a specified export configuration, stopping any associated scheduled exports and removing it from the system. This endpoint helps manage export configurations by eliminating obsolete or unnecessary ones.
| Parameter | Required / Optional | Description | Type |
|---|---|---|---|
entityId | Required | Unique identifier of the export config. Example: 67a3515847906e5dd61aea24 | String |
curl --location --request DELETE 'https://api3.sprinklr.com/{env}/api/v3/reportingSuite/exportConfig?entityId=6a97a70a5efb429a803915cd' \
-H 'Authorization: Bearer {Enter your Access Token}' \
-H 'Key: {Enter your API KEY}' \
-H 'Content-Type: application/json' \
-H 'accept: application/json'Reporting Suite API V3 endpoints return a consistent two‑part envelope:
{
"data": {
},
"errors": []
}
|| Field | Type | Description | |-------------------------|-------------------|-----------------| | data | Array[Object] | Array of suite or export config objects matching the request criteria | | errors | Array[Error] | Array of error objects (empty if no errors) |
Create reporting suite
{
"data": {
"id": "6a97b9e25efb429a803919be",
"entityId": "6a97b9e25efb429a803919be",
"suiteType": "CUSTOM",
"name": "LinkedIn Company BR2",
"description": "LinkedIn Company Level Performace for Ads11",
"dimensions": [
"linkedinMemberCompanyId",
"linkedinCompany"
],
"measurements": [
"impressions"
],
"moduleType": "PAID",
"breakdownType": "LINKEDIN_COMPANY",
"ownerUserId": 66000149,
"createdTime": "Sep 02, 2026, 05:53:38 AM",
"modifiedTime": "Sep 02, 2026, 05:53:38 AM",
"lastModifiedUserId": 66000149,
"deleted": false
},
"errors": []
}Search reporting suite
{
"data": {
"results": [
{
"id": "67d82467b64b120df93fe38f",
"entityId": "67d82467b64b120df93fe38f",
"suiteType": "STANDARD",
"name": "Facebook Ad Set",
"description": "Facebook Ad Set Level Performance",
"moduleType": "PAID",
"breakdownType": "FACEBOOK_AD_SET",
"dimensions": ["adObjective", "currency", "paidInitiative", "adSet", "date", "adChannel", "adAccount", "gender", "age"],
"measurements": ["spent", "impressions", "clicks", "dailyReach", "facebookLinkClicks", "facebookVideoPlays"],
"createdTime": "Mar 17, 2025, 01:32:23 PM",
"modifiedTime": "Mar 17, 2025, 01:32:23 PM",
"deleted": false
},
{
"id": "67d920aeca56fb471938fa6f",
"entityId": "67d920aeca56fb471938fa6f",
"suiteType": "STANDARD",
"name": "Facebook Ad Variant",
"description": "Facebook Ad Variant Level Performance",
"moduleType": "PAID",
"breakdownType": "FACEBOOK_AD_VARIANT",
"dimensions": ["adVariant", "adObjective", "currency", "paidInitiative", "adSet", "date", "adChannel", "adAccount"],
"measurements": ["spent", "impressions", "clicks", "dailyReach", "facebookLinkClicks", "facebookVideoPlays"],
"createdTime": "Mar 18, 2025, 07:28:46 AM",
"modifiedTime": "Mar 18, 2025, 07:28:47 AM",
"deleted": false
},
{
"id": "67d920f0ca56fb471938faff",
"entityId": "67d920f0ca56fb471938faff",
"suiteType": "STANDARD",
"name": "Facebook Initiative",
"description": "Facebook Paid Initiative Level Performance",
"moduleType": "PAID",
"breakdownType": "FACEBOOK_PAID_INITIATIVE",
"dimensions": ["adObjective", "currency", "paidInitiative", "date", "adChannel", "adAccount"],
"measurements": ["spent", "impressions", "clicks", "dailyReach", "facebookLinkClicks"],
"createdTime": "Mar 18, 2025, 07:29:52 AM",
"modifiedTime": "Mar 18, 2025, 07:29:52 AM",
"deleted": false
}
]
},
"errors": []
}
Create export config
{
"data": {
"id": "6a97d5c45efb429a803922b9",
"entityId": "6a97d5c45efb429a803922b9",
"name": "Ad Variant Schedule Export BR2",
"reportingSuite": "6a1e8b0a259e22bdc9eb2797",
"exportType": "ONE_TIME",
"timeRangeFilter": {
"startTime": 1739100163000,
"endTime": 1739445763000,
"timezone": "UTC"
},
"ownerUserId": 66014658,
"createdTime": "Sep 02, 2026, 07:52:36 AM",
"modifiedTime": "Sep 02, 2026, 07:52:39 AM",
"lastModifiedUserId": 66014658,
"deleted": false
},
"errors": []
}
Search export config
{
"data": {
"results": [
{
"id": "67b5fcf97f63067cacbea917",
"entityId": "67b5fcf97f63067cacbea917",
"name": "Ad Variant Schedule Export - one time",
"reportingSuite": "67b5fc887f63067cacbea8db",
"exportType": "ONE_TIME",
"timeRangeFilter": {
"startTime": 1739100163000,
"endTime": 1739445763000,
"timezone": "UTC"
},
"createdTime": "Feb 19, 2025, 03:47:05 PM",
"deleted": false
},
{
"id": "67b6f76be0d90b2d088fa825",
"entityId": "67b6f76be0d90b2d088fa825",
"name": "Ad Variant Schedule Export - one time",
"reportingSuite": "67b6c5afe0d90b2d088fa0f9",
"exportType": "ONE_TIME",
"timeRangeFilter": {
"startTime": 1739100163000,
"endTime": 1739445763000,
"timezone": "UTC"
},
"externalStorageId": "abc",
"createdTime": "Feb 20, 2025, 09:35:39 AM",
"deleted": false
},
{
"id": "67b6fb9de0d90b2d088fa94b",
"entityId": "67b6fb9de0d90b2d088fa94b",
"name": "Ad Variant Schedule Export - one time",
"reportingSuite": "67b6fb80e0d90b2d088fa935",
"exportType": "ONE_TIME",
"timeRangeFilter": {
"startTime": 1739100163000,
"endTime": 1839445763000,
"timezone": "UTC"
},
"externalStorageId": "abc",
"createdTime": "Feb 20, 2025, 09:53:33 AM",
"deleted": false
}
],
"hasMore": true,
"totalCount": 0
},
"errors": []
}Update reporting suite
204 No ContentUpdate export config
204 No ContentRead reporting suite
{
"data": [
{
"id": "6a97b9e25efb429a803919be",
"entityId": "6a97b9e25efb429a803919be",
"suiteType": "CUSTOM",
"name": "LinkedIn Company BR2",
"description": "LinkedIn Company Level Performace for Ads11",
"dimensions": [
"linkedinMemberCompanyId",
"linkedinCompany"
],
"measurements": [
"impressions"
],
"moduleType": "PAID",
"breakdownType": "LINKEDIN_COMPANY",
"ownerUserId": 66000149,
"createdTime": "Sep 02, 2026, 05:53:38 AM",
"modifiedTime": "Sep 02, 2026, 05:53:38 AM",
"lastModifiedUserId": 66000149,
"deleted": false
}
],
"errors": []
}Read export config
{
"data": [
{
"id": "6a97bac05efb429a803919c5",
"entityId": "6a97bac05efb429a803919c5",
"name": "Ad Variant Schedule Export BR2",
"reportingSuite": "6a1e8b0a259e22bdc9eb2797",
"exportType": "ONE_TIME",
"timeRangeFilter": {
"startTime": 1739100163000,
"endTime": 1739445763000,
"timezone": "UTC"
},
"ownerUserId": 66014658,
"createdTime": "Sep 02, 2026, 05:57:20 AM",
"modifiedTime": "Sep 02, 2026, 05:57:20 AM",
"lastModifiedUserId": 66014658,
"deleted": false
}
],
"errors": []
}Read export run status
{
"data": {
"results": [
{
"id": "67d2a86d2627b839008e9468",
"exportConfigId": "67d2a86d2627b839008e9461",
"status": "SUCCESS",
"downloadUrl": "https://dummy-url.com/export/67d2a86d2627b839008e9461_20250224_20250225.json",
"runTimestamp": "Mar 13, 2025, 09:42:05 AM",
"createdTimestamp": "Mar 13, 2025, 09:42:05 AM",
"exportSinceTime": 1740375386000,
"exportUntilTime": 1740461786000,
"createdTime": 1741858925345
},
{
"id": "67d2a86d2627b839008e9466",
"exportConfigId": "67d2a86d2627b839008e9461",
"status": "SUCCESS",
"downloadUrl": "https://dummy-url.com/export/67d2a86d2627b839008e9461_20250222_20250223.json",
"runTimestamp": "Mar 13, 2025, 09:42:05 AM",
"createdTimestamp": "Mar 13, 2025, 09:42:05 AM",
"exportSinceTime": 1740202586000,
"exportUntilTime": 1740288986000,
"createdTime": 1741858925342
},
{
"id": "67d2a86d2627b839008e9464",
"exportConfigId": "67d2a86d2627b839008e9461",
"status": "SUCCESS",
"downloadUrl": "https://dummy-url.com/export/67d2a86d2627b839008e9461_20250220_20250221.json",
"runTimestamp": "Mar 13, 2025, 09:42:05 AM",
"createdTimestamp": "Mar 13, 2025, 09:42:05 AM",
"exportSinceTime": 1740029786000,
"exportUntilTime": 1740116186000,
"createdTime": 1741858925339
},
{
"id": "67d2a86d2627b839008e9462",
"exportConfigId": "67d2a86d2627b839008e9461",
"status": "SUCCESS",
"downloadUrl": "https://dummy-url.com/export/67d2a86d2627b839008e9461_20250218_20250219.json",
"runTimestamp": "Mar 13, 2025, 09:42:05 AM",
"createdTimestamp": "Mar 13, 2025, 09:42:05 AM",
"exportSinceTime": 1739856986000,
"exportUntilTime": 1739943386000,
"createdTime": 1741858925329
}
],
"hasMore": false,
"totalCount": 4
},
"errors": []
}Delete Reporting Suite
204 No ContentDelete Export Config
204 No Content| HTTP Code | Scenario | Description |
|---|---|---|
200 OK | Success | Profiles found and returned successfully |
400 Bad Request | Invalid Parameters | Missing required parameters or invalid parameter combinations |
401 Unauthorized | Authentication Failed | Invalid or missing Authorization token |
403 Forbidden | Insufficient Permissions | User lacks VIEW permission for AUDIENCE_PROFILE |
404 Not Found | No Profiles Found | No profiles match the search criteria |
500 Internal Server Error | Server Error | Unexpected server-side error occurred |
The Reporting Suite APIs have been redesigned in V3 for consistency and clarity.
Here’s a comparison of V2 vs V3 endpoints and behavior:
| Operation | V2 Endpoint | V3 Endpoint | Key Differences |
|---|---|---|---|
| Fetch Field Mappings | GET /api/v2/reporting-suite/field-mappings/{moduleType}?breakdownType= | GET /api/v3/reportingSuite/fieldMappings?moduleType=&breakdownType= | V2 used path parameter for moduleType; V3 uses query parameters for both moduleType and breakdownType. |
| Create Suite | POST /api/v2/reporting-suite/suite | POST /api/v3/reportingSuite/suite | Endpoint path changed; request/response envelope standardized in V3. |
| Fetch Suite by ID | GET /api/v2/reporting-suite/suite/{entityId} | GET /api/v3/reportingSuite/suite?entityId= | V2 used path parameter; V3 uses query parameter. |
| Search Suites | POST /api/v2/reporting-suite/suite/search | POST /api/v3/reportingSuite/suite/search | Same operation; V3 response envelope includes metadata for pagination. |
| Update Suite | PATCH /api/v2/reporting-suite/suite/{entityId} | PATCH /api/v3/reportingSuite/suite?entityId= | V2 used path parameter; V3 uses query parameter. |
| Delete Suite | DELETE /api/v2/reporting-suite/suite/{entityId} | DELETE /api/v3/reportingSuite/suite?entityId= | V2 used path parameter; V3 uses query parameter. |
| Create Export Config | POST /api/v2/reporting-suite/export-config | POST /api/v3/reportingSuite/exportConfig | Endpoint path changed; V3 supports richer timeRangeFilter and scheduleConfig. |
| Fetch Export Config by ID | GET /api/v2/reporting-suite/export-config/{entityId} | GET /api/v3/reportingSuite/exportConfig?entityId= | V2 used path parameter; V3 uses query parameter. |
| Search Export Configs | POST /api/v2/reporting-suite/export-config/search | POST /api/v3/reportingSuite/exportConfig/search | Same operation; V3 response envelope standardized with metadata. |
| Update Export Config | PATCH /api/v2/reporting-suite/export-config/{entityId} | PATCH /api/v3/reportingSuite/exportConfig?entityId= | V2 used path parameter; V3 uses query parameter. |
| Delete Export Config | DELETE /api/v2/reporting-suite/export-config/{entityId} | DELETE /api/v3/reportingSuite/exportConfig?entityId= | V2 used path parameter; V3 uses query parameter. |
| Fetch Export Run Status | POST /api/v2/reporting-suite/export-status/{exportConfigId} | POST /api/v3/reportingSuite/exportStatus?exportConfigId= | V2 used path parameter; V3 uses query parameter. Request body structure aligned with other V3 search endpoints. |