Skip to content

Reporting Suite API V3 — Developer Guide


1. Overview

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.

Why Reporting Suites Matter

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.

Types of Reporting Suites

Sprinklr offers two types of reporting suites:

Standard Reporting Suites

These are pre-built reporting suites for common use cases and are ready to use immediately.

Custom Reporting Suites

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:

OperationMethodPath
Create suitePOST/api/v3/reportingSuite/suite
Search suitesPOST/api/v3/reportingSuite/suite/search
Create export configPOST/api/v3/reportingSuite/exportConfig
Search export configsPOST/api/v3/reportingSuite/exportConfig/search
Update suite (partial)PATCH/api/v3/reportingSuite/suite?entityId=
Update export configPATCH/api/v3/reportingSuite/exportConfig?entityId=
Get suite by IDGET/api/v3/reportingSuite/suite?entityId=
Get export config by IDGET/api/v3/reportingSuite/exportConfig?entityId=
Fetch field mappingsGET/api/v3/reportingSuite/fieldMappings?moduleType=&breakdownType=
Delete suiteDELETE/api/v3/reportingSuite/suite?entityId=
Delete export configDELETE/api/v3/reportingSuite/exportConfig?entityId=

2. Base URLs and environments

All API calls are sent to the production endpoint:

https://api3.sprinklr.com/{env}/api/v3

So the reporting suite resource in production is:

https://api3.sprinklr.com/{env}/api/v3/reportingSuite

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


3. Authentication and common headers

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.

HeaderValuePurposeRequired on
AuthorizationBearer {{accessToken}}Authenticates the user with the serverAll requests
Key{{apiKey}}Authenticates the application with the serverAll requests
Content-Typeapplication/jsonDeclares the request body media typePOST, PUT, PATCH
Acceptapplication/jsonDeclares the acceptable response typeAll requests

4. Write operations

4.1 Create a reporting suite

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.

Request body parameters

ParameterRequired / OptionalDescriptionType
nameOptionalName of the reporting suite.String
descriptionOptionalDescription of the suite’s purpose.String
moduleTypeRequiredModule type for the suite.
Supported Values: PAID, REPORTING, LISTENING, MESSAGE
String
breakdownTypeRequiredType of data breakdown. Must match the breakdownType of the standard reporting suite being cloned.
Supported Values: See the breakdownType Values table below.
String
baseReportingSuiteOptionalID of a standard suite to clone. If not specified, a new custom suite is created without cloning.String
dimensionsOptionalList of dimension names to include. Values must be obtained from the Field Mappings API for the chosen moduleType and breakdownType.
Example: ["budget", "adFormat"]
Array
measurementsOptionalList 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

moduleTypeSupported breakdownType values
PAIDFacebook: FACEBOOK_AD_SET, FACEBOOK_AD_VARIANT, FACEBOOK_AGE_GENDER, FACEBOOK_COUNTRY, FACEBOOK_DESTINATION, FACEBOOK_DMA, FACEBOOK_PAID_INITIATIVE, FACEBOOK_PLATFORM_POSITION, FACEBOOK_PRODUCT, FACEBOOK_REGION

Google: 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_VIDEO

LinkedIn: LINKEDIN_AD_SET, LINKEDIN_AD_VARIANT, LINKEDIN_COMPANY, LINKEDIN_COUNTRY, LINKEDIN_INDUSTRY, LINKEDIN_JOB_TITLE, LINKEDIN_PAID_INITIATIVE

Snapchat: 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_REGION

TikTok: 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_PRODUCT

X (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
REPORTINGCASE, FACEBOOK_PAGE_*, FACEBOOK_POST_*, INSTAGRAM_*, LINKEDIN_*, SNAPCHAT_*, TIKTOK_*, TWITTER_*, YOUTUBE_*
LISTENINGRESEARCH_INSIGHTS
MESSAGEMESSAGE

Request

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"]
}'

4.2 Search reporting suites

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.

Request body parameters

ParameterRequired / OptionalDescriptionType
queryRequiredDefines search criteria, including pagination, filters, and whether to return total counts.Object

query Object

ParameterSub-ParameterRequired / OptionalDescriptionType
pageOptionalParent object for pagination settingsObject
pageOptionalPage number to retrieve (0-based index). Example: 0, 1, 2Number
sizeOptionalNumber of results per page. Example: 50, 100Number
filterOptionalObject containing filter details for narrowing down suitesObject
filterTypeRequiredType of filter operation. Supported: AND, OR, NOT, IN, GT, GTE, LT, LTE, NIN, EQUALS, NOT_EQUALS, CONTAINSString
fieldRequiredField name to filter on. Supported: suiteType (STANDARD, CUSTOM), name, moduleType, breakdownType, baseReportingSuite, deleted, ownerUserId, etc.String
valuesRequiredValue(s) to match against the field. Single string or array of valuesString / Array
returnTotalCountOptionalWhether to include total count of matching results. Supported: true, falseBoolean

Request

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": ""
}'

4.3 Create export config

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.

Request body parameters

ParameterRequired / OptionalDescriptionType
nameRequiredName of the export configurationString
reportingSuiteRequiredID of the associated reporting suite.
Obtain this ID from suite creation or search.
Example: 67a3494047906e5dd61ae727
String
exportTypeRequiredType of export.
Supported Values: ONE_TIME, SCHEDULED
String
externalStorageIdOptionalID of the S3 storage location where the export will be delivered.
Example: 67a4af1dd2643eb564239265
String
timeRangeFilterOptionalDefines the date range for the export. See timeRangeFilter Object below.Object
scheduleConfigOptionalConfiguration for recurring exports. See scheduleConfig Object below.Object
filtersOptionalList of filters to apply to the export data. See filters Object below.Array of Objects

timeRangeFilter Object

ParameterSub-ParameterRequired / OptionalDescriptionType
startTimeOptionalStart timestamp for one-time exports (epoch ms).
Example: 1735705800000
Number
endTimeOptionalEnd timestamp for one-time exports (epoch ms).
Example: 1738211400000
Number
timeRangeOptionalDate range preset for scheduled exports.
Supported Values: TODAY, YESTERDAY, THIS_WEEK, LAST_WEEK, THIS_MONTH, LAST_MONTH, DYNAMIC_DURATION
String
timezoneOptionalFree‑form IANA zone ID string.
Examples: UTC, GMT
String
dynamicTimeRangeOptionalObject defining a dynamic duration. Contains durationUnit, durationValue, endingValue.Object
durationUnitOptionalUnit of time.
Supported Values: MINUTES, HOURS, DAYS, WEEKS, MONTHS, YEARS
String
durationValueOptionalLength of the dynamic duration.
Example: 5
Number
endingValueOptionalOffset from current time at which duration ends.
Example: 0
Number

scheduleConfig Object

ParameterSub-ParameterRequired / OptionalDescriptionType
scheduleFrequencyOptionalDefines frequency settings for scheduled exports. Contains scheduleType and repeatFrequency.Object
scheduleTypeOptionalFrequency type.
Supported Values: DAILY, MINUTES, HOURLY, WEEKLY
String
repeatFrequencyOptionalInterval for scheduled exports.
Example: 3 (positive integer)
Number

filters Object

ParameterRequired / OptionalDescriptionType
filterTypeOptionalType of filter.
Supported Values: AND, OR, NOT, IN, GT, GTE, LT, LTE, NIN, EQUALS, NOT_EQUALS, CONTAINS
String
fieldOptionalField to filter on. Must be a valid dimension name from the suite’s field mapping.
Example: accountId
String
valuesOptionalValues to filter by.
Example: [12345, 23414]
Array

Request

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"
    }
}'

4.4 Search export configs

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.

Request body parameters

ParameterRequired / OptionalTypeDescription
queryRequiredObjectDefines the search criteria, including pagination, filters, and whether to return total counts. See the query Object table below.

query Object

ParameterSub-ParameterRequired / OptionalTypeDescription
pageOptionalObjectObject containing pagination details for the search results.
pageOptionalIntegerPage number to retrieve (0-based index).
Example: 1, 2
sizeOptionalIntegerNumber of results per page.
Example: 10, 50, 100
filterOptionalObjectObject containing filter details for narrowing down export configs.
filterTypeRequiredStringType of filter operation.
Supported Values: AND, OR, NOT, IN, GT, GTE, LT, LTE, NIN, EQUALS, NOT_EQUALS, CONTAINS
fieldRequiredStringDimension or property to filter on.
Examples: accountId, ownerUserId
Other searchable properties: exportType (ONE_TIME, SCHEDULED), reportingSuite, name, externalStorageId, deleted
valuesRequiredString / Array of StringsValue(s) to match against the chosen field. Always passed as an array, even if only one value.
Example: ["SCHEDULED"]
returnTotalCountOptionalBooleanWhether to include the total count of matching results.
Example: true, false

Request

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"
}'

4.5 Update reporting suite

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.

Query parameter

ParameterRequired / OptionalDescriptionType
entityIdRequiredUnique 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

Request body parameters

ParameterRequired / OptionalDescriptionType
fieldNameRequiredName of the field to update.
Supported Values: name, description, dimensions, measurements, filters, baseReportingSuite
Dev 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
valueOptionalNew value for the specified field.Object / String
opRequiredOperation to perform on the field.
Supported Values: SET, UNSET, INC, DEC, INCREMENT_BY, DECREMENT_BY, ADD, REMOVE, PUSH, MERGE, SET_IF_ABSENT
String

Request

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"
        ]
    }
}'

4.6 Update export config

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.

Query parameter

ParameterRequired / OptionalDescriptionType
entityIdRequiredUnique identifier of the export config.
Example: 67a3515847906e5dd61aea24
String

Request body parameters

ParameterRequired / OptionalDescriptionType
fieldNameRequiredName of the field to update.
Supported Values: timeRangeFilter, name, filters, scheduleConfig, externalStorageId, exportType
String
valueRequiredNew value for the specified field.
Example: {"startTime": 1735705800000, "endTime": 1738211400000, "timezone": "GMT"}
Object / String
opRequiredOperation to perform on the field.
Supported Values: SET, UNSET, INC, DEC, INCREMENT_BY, DECREMENT_BY, ADD, REMOVE, PUSH, MERGE, SET_IF_ABSENT
String

Request

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"
    }
}'

5. Read operations

5.1 Read field mappings

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

Query parameters

ParameterRequired / OptionalDescriptionType
moduleTypeRequiredSpecifies the module type for the mappings.
Supported Values: PAID, REPORTING, LISTENING, MESSAGE
String
breakdownTypeOptionalFilters 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

breakdownType Values

moduleTypeSupported breakdownType values
PAIDFacebook: FACEBOOK_AD_SET, FACEBOOK_AD_VARIANT, FACEBOOK_AGE_GENDER, FACEBOOK_COUNTRY, FACEBOOK_DESTINATION, FACEBOOK_DMA, FACEBOOK_PAID_INITIATIVE, FACEBOOK_PLATFORM_POSITION, FACEBOOK_PRODUCT, FACEBOOK_REGION
Google: 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_VIDEO
LinkedIn: LINKEDIN_AD_SET, LINKEDIN_AD_VARIANT, LINKEDIN_COMPANY, LINKEDIN_COUNTRY, LINKEDIN_INDUSTRY, LINKEDIN_JOB_TITLE, LINKEDIN_PAID_INITIATIVE
Snapchat: 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_REGION
TikTok: 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_PRODUCT
X (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
REPORTINGCASE, FACEBOOK_PAGE_*, FACEBOOK_POST_*, INSTAGRAM_*, LINKEDIN_*, SNAPCHAT_*, TIKTOK_*, TWITTER_*, YOUTUBE_*
LISTENINGRESEARCH_INSIGHTS
MESSAGEMESSAGE

Request

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'

5.2 Read reporting suite

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.

Query parameter

ParameterRequired / OptionalDescriptionType
entityIdRequiredUnique 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

Request

curl --location --request GET 'https://api3.sprinklr.com/{env}/api/v3/reportingSuite/suite?entityId=6a97b9e25efb429a803919be'

5.3 Read reporting suite export config

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.

Query parameter

ParameterRequired / OptionalDescriptionType
entityIdRequiredUnique 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

Request

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'

5.4 Read export run status

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.

Query Parameter

ParameterRequired / OptionalDescriptionType
exportConfigIdRequiredUnique identifier of the export config.
Example: 67a34bbe47906e5dd61ae7a4
String

Request body parameters

ParameterSub-ParameterRequired / OptionalDescriptionType
page—RequiredParent object for pagination settingsObject
pagepageRequiredPage number for pagination.
Example: 0, 1, 2 (non‑negative integers)
Number
pagesizeRequiredNumber of items per page.
Example: 10 (positive integers)
Number
returnTotalCount—RequiredWhether to include total count of items.
Example: true, false
Boolean

Example Request

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
    }
}'

6. Delete operations

6.1 Delete reporting suite

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.

Query parameter

ParameterRequired / OptionalDescriptionType
{entityId}RequiredUnique 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

Request

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'

6.2 Delete export config

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.

Query parameter

ParameterRequired / OptionalDescriptionType
entityIdRequiredUnique identifier of the export config.
Example: 67a3515847906e5dd61aea24
String

Request

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'

7. Response format and status codes

7.1 The V3 envelope

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


7.2 Example responses

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 Content

Update export config

204 No Content

Read 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 Content

Delete Export Config

204 No Content

7.3 Response codes

HTTP CodeScenarioDescription
200 OKSuccessProfiles found and returned successfully
400 Bad RequestInvalid ParametersMissing required parameters or invalid parameter combinations
401 UnauthorizedAuthentication FailedInvalid or missing Authorization token
403 ForbiddenInsufficient PermissionsUser lacks VIEW permission for AUDIENCE_PROFILE
404 Not FoundNo Profiles FoundNo profiles match the search criteria
500 Internal Server ErrorServer ErrorUnexpected server-side error occurred

7. V2 → V3 migration

The Reporting Suite APIs have been redesigned in V3 for consistency and clarity.
Here’s a comparison of V2 vs V3 endpoints and behavior:

OperationV2 EndpointV3 EndpointKey Differences
Fetch Field MappingsGET /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 SuitePOST /api/v2/reporting-suite/suitePOST /api/v3/reportingSuite/suiteEndpoint path changed; request/response envelope standardized in V3.
Fetch Suite by IDGET /api/v2/reporting-suite/suite/{entityId}GET /api/v3/reportingSuite/suite?entityId=V2 used path parameter; V3 uses query parameter.
Search SuitesPOST /api/v2/reporting-suite/suite/searchPOST /api/v3/reportingSuite/suite/searchSame operation; V3 response envelope includes metadata for pagination.
Update SuitePATCH /api/v2/reporting-suite/suite/{entityId}PATCH /api/v3/reportingSuite/suite?entityId=V2 used path parameter; V3 uses query parameter.
Delete SuiteDELETE /api/v2/reporting-suite/suite/{entityId}DELETE /api/v3/reportingSuite/suite?entityId=V2 used path parameter; V3 uses query parameter.
Create Export ConfigPOST /api/v2/reporting-suite/export-configPOST /api/v3/reportingSuite/exportConfigEndpoint path changed; V3 supports richer timeRangeFilter and scheduleConfig.
Fetch Export Config by IDGET /api/v2/reporting-suite/export-config/{entityId}GET /api/v3/reportingSuite/exportConfig?entityId=V2 used path parameter; V3 uses query parameter.
Search Export ConfigsPOST /api/v2/reporting-suite/export-config/searchPOST /api/v3/reportingSuite/exportConfig/searchSame operation; V3 response envelope standardized with metadata.
Update Export ConfigPATCH /api/v2/reporting-suite/export-config/{entityId}PATCH /api/v3/reportingSuite/exportConfig?entityId=V2 used path parameter; V3 uses query parameter.
Delete Export ConfigDELETE /api/v2/reporting-suite/export-config/{entityId}DELETE /api/v3/reportingSuite/exportConfig?entityId=V2 used path parameter; V3 uses query parameter.
Fetch Export Run StatusPOST /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.