Skip to content

Account API V3 — Developer Guide


1. Overview

An account refers to the brand’s social media account that has been successfully added to Sprinklr. Once added, you can view, edit, update, delete, or deactivate the account.

📖 Related Knowledge Base Article: Account


2. API Endpoints

OperationMethodPath
Fetch Account (by Id)GET/api/v3/account?id={id}
Fully Update AccountPUT/api/v3/account?id={id}
Partially Update AccountPATCH/api/v3/account?id={id}
Delete AccountDELETE/api/v3/account?id={id}&clientId={clientId}

3. Base URL

All API calls are sent to:

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

So the Account resource in production is:

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

Replace {env} with your assigned environment identifier (prod0, prod2, prod11, etc.).


4. Authentication & Headers

HeaderValuePurpose
AuthorizationBearer {token}Authenticates the user with the server
api-key{api-key}Authenticates the application with the server
Content-Typeapplication/jsonDeclares request body media type
Acceptapplication/jsonDeclares acceptable response type

5. Account Operations

5.1 Fetch Account

GET /api/v3/account?id={id}

Retrieves account details using its unique ID.

Query Parameter

ParameterRequired/OptionalDescriptionType
idRequiredThe unique ID of the account added in Sprinklr.String

Steps to Extract Account ID from Sprinklr UI

  1. Navigate to All Settings.
  2. Open the Accounts page.
  3. Locate the account you want.
  4. Click the three‑dot icon next to the account name.
  5. Select Details from the dropdown. A third‑pane window opens.
  6. In the window, click the copy URL icon at the top right.
  7. Paste the copied URL into any encoder/decoder tool.
  8. The account ID will appear in the decoded URL.

Example:
If the decoded URL contains /ACCOUNT/100426226/OVERVIEW, then the account ID is 100426226.


Example — Request

curl --location --request GET 'https://api3.sprinklr.com/{env}/api/v3/account?id=66000053' \
--header 'Authorization: {Enter your Access Token}' \
--header 'Key: {Enter your API KEY}' \
--header 'accept: application/json' \
--header 'Content-Type: application/json' \

5.2 Fully Update Account

PUT /api/v3/account?id={id}

Replaces all custom properties on an account.

Query Parameter

ParameterRequired/OptionalDescriptionType
idRequiredThe unique ID of the account added in Sprinklr.String

Steps to Extract Account ID from Sprinklr UI

  1. Navigate to All Settings.
  2. Open the Accounts page.
  3. Locate the account you want.
  4. Click the three‑dot icon next to the account name.
  5. Select Details from the dropdown. A third‑pane window opens.
  6. In the window, click the copy URL icon at the top right.
  7. Paste the copied URL into any encoder/decoder tool.
  8. The account ID will appear in the decoded URL.

Example:
If the decoded URL contains /ACCOUNT/100426226/OVERVIEW, then the account ID is 100426226.


Request Parameters

ParameterRequired/OptionalDescriptionType
spaceIdRequiredClient (space) ID for client‑level custom properties.long
clientCustomPropertiesOptionalClient‑level custom properties to replace on the account. Keys are field names; values are string lists.object (string → array of string)
partnerCustomPropertiesOptionalPartner‑level custom properties to replace on the account.object (string → array of string)

Example — Request

curl --location --request PUT 'https://api3.sprinklr.com/{env}/api/v3/account?id=66000053' \
--header 'Authorization: {Enter Your Access Token}' \
--header 'Key: {Enter Your API Key}' \
--header 'Content-Type: application/json' \
--data '{
    "spaceId": 66000002,
    "clientCustomProperties": {
        "region": ["US"]
    },
    "partnerCustomProperties": {
        "tier": ["gold"]
    }
}'

5.3 Partially Update Account

PATCH /api/v3/account?id={id}

Updates account details without overwriting the entire object. Supports appending/merging custom properties, updating visibility/permissions, or deactivating an account.

Query Parameter

ParameterRequired/OptionalDescriptionType
idRequiredThe unique ID of the account added in Sprinklr.String

Steps to Extract Account ID from Sprinklr UI

  1. Navigate to All Settings.
  2. Open the Accounts page.
  3. Locate the account you want.
  4. Click the three‑dot icon next to the account name.
  5. Select Details from the dropdown. A third‑pane window opens.
  6. In the window, click the copy URL icon at the top right.
  7. Paste the copied URL into any encoder/decoder tool.
  8. The account ID will appear in the decoded URL.

Example:
If the decoded URL contains /ACCOUNT/100426226/OVERVIEW, then the account ID is 100426226.


Request Parameters

ParameterRequired/OptionalDescriptionType
customPropertiesOptionalPartial custom properties update. See Object: customProperties.object
visibilityPermissionsOptionalVisibility and/or share permission update. See Object: visibilityPermissions.object
activeOptionalSet to false to deactivate the account. Only false is supported; true returns 400.boolean
deactivationReasonOptionalReason recorded on deactivation. Defaults to Deactivated by user using API v3 when omitted and active is false.string

Object: customProperties

ParameterRequired/OptionalDescriptionType
spaceIdConditionalClient (space) ID. Required when clientCustomProperties is non‑empty.long
clientCustomPropertiesOptionalClient‑level custom properties to append/merge (partial update).object (string → array of string)
partnerCustomPropertiesOptionalPartner‑level custom properties to append/merge (partial update).object (string → array of string)

Object: visibilityPermissions

ParameterRequired/OptionalDescriptionType
visibilityOptionalVisibility to apply. See Object: visibility.object
permissionsOptionalShare permissions to assign. See Object: permissions[] item.array of objects

Object: visibility

ParameterRequired/OptionalDescriptionType
globallyVisibleOptionalWhen true, asset is globally visible.boolean
visibilityConfigOptionalShare targets for visibility. See Object: visibilityConfig[] item.array of objects

Object: visibilityConfig[] item

ParameterRequired/OptionalDescriptionType
typeRequiredShare target type (e.g. USER, GLOBAL, CLIENT).string
idsOptionalTarget IDs for the given type.array of string

Object: permissions[] item

ParameterRequired/OptionalDescriptionType
typeRequiredShare target type (e.g. USER, GLOBAL, CLIENT).string
idsOptionalTarget IDs for the given type.array of string

Example — Request

curl --location --request PATCH 'https://api3.sprinklr.com/{env}/api/v3/account?id=66000053' \
--header 'Authorization: {Enter Your Access Token}' \
--header 'Key: {api-key}' \
--header 'Content-Type: application/json' \
--data '{
  "visibilityPermissions": {
    "permissions": [
      {
        "type": "GLOBAL",
        "ids": ["1"]
      }
    ]
  }
}'

5.4 Delete Account

DELETE /api/v3/account?id={id}&clientId={clientId}

Removes an account from a specified client (space).

Query Parameter

ParameterRequired/OptionalDescriptionType
idRequiredThe unique ID of the account added in Sprinklr.String
clientIdRequiredClient/space ID from which to remove the account (positive integer).String

Steps to Extract Account ID from Sprinklr UI

  1. Navigate to All Settings.
  2. Open the Accounts page.
  3. Locate the account you want.
  4. Click the three‑dot icon next to the account name.
  5. Select Details from the dropdown. A third‑pane window opens.
  6. In the window, click the copy URL icon at the top right.
  7. Paste the copied URL into any encoder/decoder tool.
  8. The account ID will appear in the decoded URL.

Example:
If the decoded URL contains /ACCOUNT/100426226/OVERVIEW, then the account ID is 100426226.


Example — Request

curl --location --request DELETE 'https://api3.sprinklr.com/api/v3/account?id=2378712&clientId=108' \
--header 'Authorization: Bearer {Enter Your Access Token}' \
--header 'Key: {api-key}' \
--header 'Accept: application/json'

6. Response Format & Status Codes

6.1 Envelope

{
  "data": Object | Array | String | Boolean,
  "errors": []
}

Example — Response (Fetch Account)

{
  "data": [
    {
      "id": "66000053",
      "type": "SPR_ANNOUNCEMENT",
      "displayName": "Announcement",
      "channelId": "66000000_SPR_ANNOUNCEMENT",
      "owner": 0,
      "channelType": "SPRINKLR",
      "spaceId": 66000002,
      "partnerCustomProperties": {
        "_c_6a1de4ab34f417401396e8cc": ["BMW"],
        "_c_6a1de4e434f417401396f5f9": ["45"]
      },
      "visibility": {
        "globallyVisible": false,
        "visibilityConfig": [
          { "type": "GLOBAL" }
        ]
      },
      "permissions": [
        { "type": "GLOBAL", "ids": ["1", "78", "69"] }
      ],
      "active": true,
      "deactivationReason": "",
      "deleted": false,
      "createdTime": "2024-06-26 12:36:41",
      "modifiedTime": "2025-08-21 06:41:08"
    }
  ],
  "errors": []
}

Response Parameters

ParameterSub‑ParamDefinitionType
idThe unique account IDInteger
typeThe type of account. Example: TWITTER, LINKEDIN, FBPAGEString
displayNameThe display name on the social accountString
channelIdThe unique ID of the channel where the account existsString
ownerRefers to user ID of the account ownerInteger
propertiesObject defining the different properties (attributes) of the accountObject
channelTypeThe respective channel typeString
spaceIdThe client ID related to the accountString
clientCustomPropertiesWorkspace‑level custom propertiesObject
partnerCustomPropertiesGlobal‑level custom propertiesObject
visibilityObject containing account sharing (visibility) detailsObject
globallyVisibleDetermines whether the account is globally visible or notBoolean
shareConfigsThe object containing details of account sharing configurationArray
permissionsArray defining the details of different permissions on the accountArray
permalinkAccount URLURL
activeDetermines whether the account is active or notBoolean
deletedDetermines whether the account is deleted or notBoolean
deactivationReasonIf deactivated, determines the reason of account deactivationString
createdTimeThe time when the account was createdString
modifiedTimeThe time when the account was last modifiedString

Array Details for permissions and shareConfigs

ParameterDefinitionType
typeThe type of permission/shareConfigString
idsIDs related to the mentioned typeList [String]

Notes

  • Fetch Account API returns a JSON object with data and errors.

  • For Update, Patch, and Delete APIs, the response is always:

204 No Content

6.2 Response codes

HTTP CodeScenarioDescription
200 OKSuccessOperation executed successfully; resource returned
204 No ContentSuccess (Update/Delete)Resource updated or deleted successfully
400 Bad RequestInvalid ParametersMissing required parameters or invalid parameter combinations
401 UnauthorizedAuthentication FailedInvalid or missing Authorization token
403 ForbiddenInsufficient PermissionsUser lacks permission to perform the operation
404 Not FoundResource MissingBusiness Hours or Holiday List not found
500 Internal Server ErrorServer ErrorUnexpected server-side error occurred

7. Migration from V2 to V3

The Account APIs have been streamlined in V3 for consistency and lifecycle control.
Below is a comparison of V2 vs V3 endpoints and behavior:

OperationV2 EndpointV3 EndpointKey Differences
Fetch Account (by Id)GET /api/v2/account/{id}
GET /api/v2/account/{type}/{id}
GET /api/v3/account?id={id}V2 supported both path by ID and type+ID; V3 consolidates into query parameter id.
Fully Replace Custom PropertiesPUT /api/v2/account/update/{id}/customPropertiesPUT /api/v3/account?id={id}V2 used /update/{id}/customProperties; V3 uses PUT with query parameter id.
Append/Merge Custom PropertiesPOST /api/v2/account/update/{id}/customPropertiesPATCH /api/v3/account?id={id}V2 used POST for partial updates; V3 uses PATCH with selective fields.
Update Visibility PermissionsPUT /api/v2/account/{id}/visibility-permissionsPATCH /api/v3/account?id={id} with visibilityPermissions objectV2 had a dedicated endpoint; V3 consolidates into PATCH with visibilityPermissions.
Deactivate AccountPUT /api/v2/account/{id}/deactivatePATCH /api/v3/account?id={id} with active=false and optional deactivationReasonV2 had a separate deactivate endpoint; V3 uses PATCH with active=false.
Delete AccountNot supported in V2DELETE /api/v3/account?id={id}&clientId={clientId}Delete is newly supported in V3; requires both id and clientId as query parameters.