Skip to main content
Gainsight Inc.

Success Plan APIs

Gainsight NXT

 

The Success Plan APIs are organized around REST (Representational State Transfer). This article explains the admins on how these REST APIs can be used to create, update, fetch Success Plans, and get Success Plan configurations. 

Introduction

Success Plan helps admins capture, track activity and share progress on the customers’ key goals using Objective CTAs and their associated Tasks. Customers who do not use Gainsight can also benefit from accesing Success Plans using these REST APIs.

Admins expect Gainsight to have better integration with the systems of their choice. Customers who have the development resources (software developers) can use these APIs to build tighter and more customized integration between Gainsight and other software applications they use. These APIs help in integrating Success Plan data and building workflows in other software applications.

Example Business Use Cases:

  • Capture your customer’s strategic goals and easily share progress updates with them.
  • Automatically trigger Success Plans at important milestones in a lifecycle to ensure proper hand-off from one stage to another.
  • Create individualized Success Plans to track progress of granular customer relationships for various products, departments, or locations.
  • Monitor goal attainment and visualize your project progress with intuitive Gantt Charts.
  • Track team performance against customer objectives by incorporating Success Plan metrics in your management dashboards.

Authorization

API access is controlled using a unique Access Key. Contact your Gainsight Admin to get an access key of the Gainsight tenant to which you want to send REST API requests. For more information on how to generate or share an access key, Gainsight Admin can refer to the Generate API Access Key article.
Once you get your access key, you have to pass the access key as part of the request header “accesskey” for all of your API requests into Gainsight. 

Note: The AccessKey does not expire. 

Headers

Key Value
Accesskey For more information on how to generate an access key, refer to the Authorization section.
Content Type JSON 

Throttling Limits

API Rate Limit
Synchronous API Calls 00 API calls per min / 50,000 API call per day
Asynchronous API Calls (Gainsight bulk APIs limit) 10 calls per hour / 100 per day

Note: All of the above API limits are *Fixed window rate limits.

* Fixed window rate limiting restricts the number of API requests at a specific time. For example, a server can have a rate limiting component that implements a fixed window algorithm that only accepts 100 requests per minute. The time-frame is fixed, and it starts at a specific time. For example, the server will only serve 100 requests between 10:00 am, and 10:01 am.

Fetch Success Plan API

This API helps fetching the Success Plans data available in your Gainsight org. A maximum of 1000 Success Plans can be fetched in a single request. If there are more, use page number/page size to get details of all the CTAs. 

By default, this API fetches the following standard fields in Success Plan:

  • CompanyID
  • RelationshipID (If relationship CTA)
  • Due Date
  • Success Plan’s GSID
  • OwnerId
  • Status Id
  • Status Name
  • Type Id
  • Type Name
  • Entity type (Company or Relationship).

Admins can also request additional fields. Custom fields must be appended with ‘__gc’ and lookup fields are appended with ‘__gr’. There are three options to fetch a Success Plan based on its status:

  1. Field ID (ex: statusID)
  2. StatusId_gr.Name = draft
  3. status = draft

Date fields are returned in YYYY-MM-DD format and time in GMT. 

Admins can also use filter parameters to only fetch the relevant Success Plans. For more information on filters for Simple and Advanced fetch calls, refer to the Sample Filters to Fetch Success Plans section.

Method

POST

Endpoint URL

v2/successPlan/list/

Sample Request Body 

{
    "select": [          
        "name",
        "customDate__gc",             // Additional Custom Field
        "CompanyId__gr.Name",         // Get data from lookup fields
        "CompanyId__gr.Csm_gr.Email", // Second level lookup fields
        "Days Due",
        "Quoted_ARR__gc",
    ],
    "where": {                        //Filter Conditions
        "conditions": [
          {
          "fieldName": "DueDate",
          "value": [
              "2020-04-14"
            ],
            "alias": "A",
            "operator": "GT"
            },
           {
          "fieldName": "Status",
          "value": [
              "Active"
            ],
            "alias": "B",
            "operator": "IN"
            }              ],
        "expression": "A AND B"
    },
    "pageSize": 100,
    "pageNumber": 1
}

Sample Success Response 

{
    "result": true,
    "errorCode": null,
    "errorDesc": null,
    "requestId": "e0054eed-a60b-421e-bf25-cef5ff1c74d1",
    "data": [
        {
            "CompanyId": "1P02ZUWNMOPV5SZ6ZLG7TZJMDCB8QNDDCACX",
            "CompanyId__gr.Name": "IBM",
            "DueDate": "2021-02-09",
            "EntityType": "COMPANY",
            "Gsid": "1S022C99F0MJ5PG1U42I91911SVLIPCI5THW",
            "Name": "SP from External World attempt - 1",
            "OwnerId": "1P015825RVB81GPY5OQVS7K79GLL4H59ILGI",
            "OwnerId__gr.Email": "hsharma@gainsight.com",
            "OwnerId__gr.Name": "Hitesh Sharma",
            "StatusId": "1I004Y368TQW84KNMB1N111LTI4N68RISOE2",
            "StatusId__gr.Name": "Draft",
            "SuccessPlanTypeId": "1I00640EK7ANCTR7A4TID7AJ4YS3Z6MZUUM8",
            "SuccessPlanTypeId__gr.Name": "Type 1"
        },
        {
            "CompanyId": "1P02ZUWNMOPV5SZ6ZLG7TZJMDCB8QNDDCACX",
            "CompanyId__gr.Name": "IBM",
            "DueDate": "2020-05-02",
            "EntityType": "COMPANY",
            "Gsid": "1S022C99F0MJ5PG1U448JRCASUA9YFKAZ06Z",
            "Name": "SP from External World attempt - 1",
            "OwnerId": "1P015825RVB81GPY5OQVS7K79GLL4H59ILGI",
            "OwnerId__gr.Email": "hsharma@gainsight.com",
            "OwnerId__gr.Name": "Hitesh Sharma",
            "StatusId": "1I004Y368TQW84KNMB1N111LTI4N68RISOE2",
            "StatusId__gr.Name": "Draft",
            "SuccessPlanTypeId": "1I00640EK7ANCTR7A4TID7AJ4YS3Z6MZUUM8",
            "SuccessPlanTypeId__gr.Name": "Type 1"
        }
    ],
    "message": null
}

Sample Failure Response 

{
    "result": false,
    "errorCode": "",
    "errorDesc": "Please add fields in the select clause",
    "requestId": "cfb0da1e-90dd-42dc-88ff-2ff1d2671ce6",
    "data": {},
    "message": null
}

Create Success Plan APIs

Admins can create Success Plans with or without objectives using the REST APIs. Following are the two options to create a Success Plan in Gainsight:

  • Create SP API (without Objectives)
  • Create SP API (with Objectives)

Create Success Plan API (without Objectives)

This API allows admins to create a new Success Plan in Gainsight. Company GSID, Success Plan Type, Success Plan Name, Owner GSID are mandatory to pass, to create a Success Plan for the customer. However, Admins can also pass additional fields on the Success Plan they want to create, if required.

Note: For Company GSID and Owner GSID, if the GSID is not available, use any external identifier to resolve to the corresponding company (eg. SFDC Account ID and SFDC User ID).

Gainsight allows only one Success Plan creation with one API call. On successful creation of the Success Plan, its GSID is returned in the response for your reference. While creating a Success Plan, Admins can pass multiple Success Plan templates in one API call which are applied to the Success Plan.

Date fields are returned in YYYY-MM-DD format and time in GMT. 

Notes

  • ReferenceId is mandatory for Success Plan creation/ updation.
  • FieldName should be passed as part import lookup configuration (case sensitive).

Method

POST

Endpoint URL

v2/successPlan/

Sample Request Body

{
    "requests": [
        {
            "record": {
                "referenceId": "1",
                "Name": "Onboarding Success Plan",
                "SFDCID": "TZHYUJB8QBNHYUIIY",//SFDC Account ID to Resolve the CompanyID
                "OwnerEmail": "hsharma@gainsight.com", //Used to Resolve the OwnerID
                "DueDate": "2020-05-02",
                "SuccessPlanType": "Onboarding",               //Pass Name of SP Type
                "status": "Draft",              //Pass Name of SP Status
                "Templates": [
                "Enterprise Template",
                "Risk Template"
                 ], // Names of templates to apply
                "ActionPlan": "Support risk since too many tickets are open",
                "isEscalaed__gc": false,        // Custom Fields  to populate
            }
        }
    ],
    "lookups": {                  // To Resolve GSID Fields using any key
        "OwnerId": {              // Resolving CTA Owner via
            "fields": {
                "OwnerEmail": "Email"
            },
            "lookupField": "Gsid",
            "objectName": "gsuser",
            "multiMatchOption": "FIRSTMATCH",
            "onNoMatch": "ERROR"
        },
        "CompanyId": {         // Resolving Company using SFDCID
            "fields": {
                "SFDCID": "sfdcid"
            },
            "lookupField": "Gsid",
            "objectName": "company",
            "multiMatchOption": "FIRSTMATCH",
            "onNoMatch": "ERROR"
        },
    }
}

Sample Success Response

{
  "result": true,
    "errorCode": null,
    "errorDesc": null,
    "requestId": "0bf2f76c-01d6-42a2-b292-eb9166d77aa7",
    "data": {
        "success": [
            {
                "1": "1S01B8KR0ST6J5HC5NHIE7VNUDERF7E7QTC3" // GSID of Success Plan
        ],
        "failure": []
  },
    "message": null
} 

Sample Failure Response 

{
    "result": false,
    "errorCode": <ERROR_CODE>,
    "errorDesc": <ERROR_DESC>, // If the issue comes while resolving the request
    "requestId": <REQUEST_ID>,  
    "data": {
        "success": [],
        "failure": [
        {
            "1": "ERROR_MESSAGE" // Reference ID to highlight issue when creating
        }
      ]
    },
    "message": null
}

Create Success Plan with Objectives API

This API creates a Success Plan with objectives within the same API call without the need to call multiple APIs to create objectives. It initially creates the Success Plan and then the objectives under the Success Plan. The objectives and tasks are assigned to the Success Plan owner.

Method Details

POST

Endpoint URL

v2/successPlan?withObjectives=true

Sample Request

{
    "requests": [
        {
            "record": {
                "referenceId": "1",
                "Name": "Onboarding Success Plan",
                "SFDCID": "TZHYUJB8QBNHYUIIY",
                "OwnerEmail": "hsharma@gainsight.com",
                "DueDate": "2020-05-02",
                "SuccessPlanType": "Onboarding",
                "status": "Draft",
                "Templates": [
                "Enterprise Template",
                "Risk Template"
                 ]
                "ActionPlan": "Support risk since too many tickets are open",
                "isEscalaed__gc": false,
                "Objectives": [
                    {
                        "Name": "Objective 1",
                        "DueDate": "2021-10-08",
                        "category": "Security Monitoring",
                        "maturityLevel__gc": "Level 1",
                        "Comments": "Ingestion of raw machine data,universal...",
                        "status": "Work in Progress 75%",
                        "priority": "High",
                        "playbook": "Dummy Playbook"
                    },
                    {
                        "Name": "Objective 2",
                        "DueDate": "2021-10-08",
                        "category": "Security Monitoring",
                        "maturityLevel__gc": "Level 1",
                        "Comments": "Ingestion of raw...",
                        "status": "Work in Progress 75%",
                        "priority": "High",
                        "playbook": "Dummy Playbook"
                    }
                ]
            }
        }],
        "lookups": {
            "OwnerId": {
                "fields": {
                    "OwnerEmail": "Email"
                },
                "lookupField": "Gsid",
                "objectName": "gsuser",
                "multiMatchOption": "FIRSTMATCH",
                "onNoMatch": "ERROR"
            },
            "CompanyId": {
                "fields": {
                    "SFDCID": "sfdcid"
                },
                "lookupField": "Gsid",
                "objectName": "company",
                "multiMatchOption": "FIRSTMATCH",
                "onNoMatch": "ERROR"
            }
        }
        "allOrNone":True

    }

Sample Success Response

{
  "result": true,
    "errorCode": null,
    "errorDesc": null,
    "requestId": "0bf2f76c-01d6-42a2-b292-eb9166d77aa7",
    "data": {
        "success": [
            {
                "1": "1S01B8KR0ST6J5HC5NHIE7VNUDERF7E7QTC3" // GSID of Success Plan
        ],
        "failure": []
  },
    "message": null
}

Sample Failure Response

{
    "result": false,
    "errorCode": <ERROR_CODE>,
    "errorDesc": <ERROR_DESC>, // If the issue comes while resolving the request
    "requestId": <REQUEST_ID>,  
    "data": {
        "success": [],
        "failure": [
        {
            "1": "ERROR_MESSAGE" // Reference ID to highlight issue when creating
        }
      ]
    },
    "message": null
}

Update Success Plan API

This API updates the existing Success Plans in Gainsight. Success Plan ID (GSID) and Reference ID are two mandatory parameters of this API to identify which Success Plan needs to be updated and format the results.

Gainsight allows the users to update only one Success Plan with one API call. Admins can pass a list of fields and their values that need to be updated for the Success Plan. Admins can also add a new Success Plan template to an existing Success Plan but cannot remove an already applied template. Success or Failure (with reason) of the update is sent in the response.

Method 

PUT

Endpoint URL

v2/successPlan/

Sample Request

{
  "requests": [
    {
      "record": {
        "referenceId": "1",                              //ID to return errors
        "Gsid": "1S01B8KR0ST6J5HC5N9LNPIQ4ID70SCNKM1T",  //SP Id to update
        "DueDate": "2020-05-05",                         //Update Due Date of the SP
        "status": "New",                                 //Update SP Status
        "Templates": [
        "New Template"         ]                     //Append template to plan
        "Comments__gc": "CTA Comments",                      //Replace the CTA Comments
        },
    }
  ]
} 

Sample Success Response 

{
  "result": true,
    "errorCode": null,
    "errorDesc": null,
    "requestId": "93ce3633-383b-4e2d-a07a-15e74e2f6d0a",
    "data": {      
        "success": [
            {
                "1": "1S01B8KR0ST6J5HC5N9LNPIQ4ID70SCNKM1T"
            }
        ],
        "failure": []
    },    "message": null
}

Sample Failure Response 

"result": false,
    "errorCode": <ERROR_CODE>,
    "errorDesc": <ERROR_DESC>, // If the issue comes while resolving the request
    "requestId": <REQUEST_ID>,  
    "data": {
        "success": [],
        "failure": [
        {
            "1": "ERROR_MESSAGE" // Reference ID to highlight issue when creating
        }
      ]
    },

Get Success Plan Configurations API

This API gets the Success Plan Configuration for the Success Plan Type, Status, and Objective Categories. Admins can select which values to return in the response. For example, category=SP_Status only returns the Success Plan Status. 

‘et’ is for the entity type for which the picklist configuration should be returned. ‘etid’ is the entity id for relationships that is the relationship type ID. If you do not use relationships, you can just pass et=COMPANY to get the data.

Method

GET

Endpoint URL

v2/successPlan/admin/picklist/lite?category=SUCCESS_PLAN_TYPE&et=<ENTITY_TYPE>&entityId=<RELATIONSHIP_TYPE_ID>

Sample Request

https://localhost:8080.gainsightcloud.com/v2/successPlan/admin/picklist/lite?category=SUCCESS_PLAN_TYPE&et=<ENTITY_TYPE>&entityId=<RELATIONSHIP_TYPE_ID>

Sample Success Response

{
    "result": true,
    "errorCode": null,
    "errorDesc": null,
    "requestId": "e60d877a-7885-44f2-96b9-94ce6fad35fe",
    "data": {
        "SUCCESS_PLAN_TYPE": [
            {
                "name": "Type 1",
                "gsid": "1I00640EK7ANCTR7A4TID7AJ4YS3Z6MZUUM8",
                "active": true,
                "entityType": "GLOBAL",
                "defaults": {
                    "defaultObjectiveCategory": "1I0021Q3PN5ISJJTZDITY5J8C6XEJ0S9NNCB"
                },
                "childPicklists": {
                    "objective_category": [
                        {
                            "name": "Type 1 OC 1",
                            "gsid": "1I0021Q3PN5ISJJTZDITY5J8C6XEJ0S9NNCB",
                            "active": true
                        }
                    ]
                }
            },
            {
                "name": "rel type t2",
                "gsid": "1I00640EK7ANCTR7A4HFFPNBC8BQOVZTDL1Y",
                "active": true,
                "entityType": "RELATIONSHIP",
                "entityId": "1P06KISR7DFIRGGQ1VO0Z45L503HF8Q2F6WY"
            },
            {
                "name": "Type 2",
                "gsid": "1I00640EK7ANCTR7A48X2H3BBZIJK85SMDFI",
                "active": true,
                "entityType": "GLOBAL"
            },
            {
                "name": "ALL_SUCCESS_PLAN_TYPE",
                "gsid": "1I00640EK7ANCTR7A4CJR6DCEX1WH18XV12E",
                "active": true,
                "entityType": "GLOBAL",
                "defaults": {
                    "defaultObjectiveCategory": "1I0021Q3PN5ISJJTZD4UVH3NHXHVL3VDAWZI"
                },
                "childPicklists": {
                    "objective_category": [
                        {
                            "name": "Partner",
                            "gsid": "1I0021Q3PN5ISJJTZDI3GFCP5MKM1T1BC5I1",
                            "active": true
                        },
                        {
                            "name": "Marketing",
                            "gsid": "1I0021Q3PN5ISJJTZDOMTBNJZI0HVNM7YFIQ",
                            "active": true
                        },
                        {
                            "name": "Research",
                            "gsid": "1I0021Q3PN5ISJJTZD4UVH3NHXHVL3VDAWZI",
                            "active": true
                        },
                        {
                            "name": "Relationship",
                            "gsid": "1I0021Q3PN5ISJJTZDDA6GLY5BOGQD9YPFQU",
                            "active": true
                        },
                        {
                            "name": "Other",
                            "gsid": "1I0021Q3PN5ISJJTZDJFNLET4O28I0SR5CYL",
                            "active": true
                        },
                        {
                            "name": "Business Development",
                            "gsid": "1I0021Q3PN5ISJJTZD9CZ39AP6SQD3VUCJC4",
                            "active": true
                        },
                        {
                            "name": "Customer Success",
                            "gsid": "1I0021Q3PN5ISJJTZD26NXMFAQISX57805GM",
                            "active": true
                        },
                        {
                            "name": "Revenue",
                            "gsid": "1I0021Q3PN5ISJJTZDCZNOMZG9LUAK6PMEFJ",
                            "active": true
                        },
                        {
                            "name": "Global OC 1",
                            "gsid": "1I0021Q3PN5ISJJTZDSGKEO9TZYIDFAZXHXQ",
                            "active": true
                        }
                    ]
                }
            },
            {
                "name": "ALL_SUCCESS_PLAN_TYPE",
                "gsid": "1I00640EK7ANCTR7A4LAMH1TMHGEPQRWVXZO",
                "active": true,
                "entityType": "RELATIONSHIP",
                "entityId": "1P06KISR7DFIRGGQ1VO0Z45L503HF8Q2F6WY"
            },
            {
                "name": "Test",
                "gsid": "1I00640EK7ANCTR7A4BYNO1A6JMJ3S597J1M",
                "active": true,
                "entityType": "GLOBAL"
            }
        ]
    },
    "message": null
} 

Sample Failure Response 

{
    "result": false,
    "errorCode": <ERROR_CODE>,
    "errorDesc": <ERROR_DESC>, // If the issue comes while resolving the request
    "requestId": <REQUEST_ID>,  
    "data": {
        "success": [],
        "failure": [
        {
            "1": "ERROR_MESSAGE" // Reference ID to highlight issue when creating
        }
      ]
    },
    "message": null
}

Sample Filters to Fetch Success Plans

All the filters mentioned below must be encoded and then provided in the URL. Here, the mentioned filters are the decoded version.

Advanced Fetch Calls

Following are some of the examples of advanced fetch calls filters:

Date Filters

These are some of the operators supported in advanced Date filters fetch calls:

  • Between
{
 "fieldName": "DueDate",
 "value": ["2020-04-01","2020-04-30"],
 "alias": "A",
 "operator": "BTW"
}
  • Equal
{
 "fieldName": "DueDate",
 "value": ["2020-04-14"],
 "alias": "A",
 "operator": "EQ"
}
  • Not Equal
{
 "fieldName": "DueDate",
 "value": ["2020-04-14"],
 "alias": "A",
 "operator": "NE"
}
  • Greater than
{
 "fieldName": "DueDate",
 "value": ["2020-04-14"],
 "alias": "A",
 "operator": "GT"
}
  • Greater than or Equal to
{
 "fieldName": "DueDate",
 "value": ["2020-04-14"],
 "alias": "A",
 "operator": "GTE"
}
  • Less than
{
 "fieldName": "DueDate",
 "value": ["2020-04-14"],
 "alias": "A",
 "operator": "LT"
}
  • Less than or Equal to
{
 "fieldName": "DueDate",
 "value": ["2020-04-14"],
 "alias": "A",
 "operator": "LTE"
}
  • Is Null
{
 "fieldName": "CustomDate__gc",
 "value": [],
 "alias": "A",
 "operator": "IS_NULL"
}
  • Is Not Null
{
 "fieldName": "CustomDate__gc",
 "value": [],
 "alias": "A",
 "operator": "IS_NOT_NULL"
}
Special Cases in Date Filters

There are many special tokens available in date filters. Following are some of the special cases that can be used to fetch CTAs using date filters:

  • Today
{
 "fieldName": "DueDate",
 "value": [],
 "alias": "A",
 "operator": "EQ",
 "literal": "TODAY"
}
  • Yesterday
{
 "fieldName": "DueDate",
 "value": [],
 "alias": "A",
 "operator": "EQ",
 "literal": "YESTERDAY"
}
  • Tomorrow
{
 "fieldName": "DueDate",
 "value": [],
 "alias": "A",
 "operator": "EQ",
 "literal": "TOMORROW"
}
  • Next N days
{
 "fieldName": "DueDate",
 "value": [30],
 "alias": "A",
 "operator": "EQ",
 "literal": "LAST_N_DAYS"
}

User Filters

It is a special type of filter available only when the lookup is on a GSUser object. These are some of the operators supported in advanced User filters fetch calls:

  • Equal
  • Not Equal
  • Starts With
  • Contains
  • Does not Contains
Special Cases in Date Filters

There are three special tokens available in user filters. These tokens can be used only with Equal and Not Equal operators.

  • Current User filter
{
 "fieldName": "OwnerId",
 "value": [],
 "alias": "A",
 "operator": "EQ",
 "literal": "CURRENT_USER"
}
  • All Users filter
{
 "fieldName": "OwnerId",
 "value": [],
 "alias": "A",
 "operator": "EQ",
 "literal": "ALL_USERS"
}
  • Other User filters
{
 "fieldName": "OwnerId",
 "value": ["1P015825RVB81GPY5OTDQ4GYW31IZC14GWQR"],
 "alias": "A",
 "operator": "NE",
 "literal": "OTHER_USER"
}

String Filters

Following are some of the operators supported in advanced String filters fetch calls:

  • Equal
{
 "fieldName": "CompanyId__gr.Company_Test_Field__gc",
 "value": ["Manufacturing process has started"],
 "alias": "A",
 "operator": "EQ"
}
  • Not Equal
{
 "fieldName": "CompanyId__gr.Company_Test_Field__gc",
 "value": ["Manufacturing process has started"],
 "alias": "A",
 "operator": "NE"
}
  • Starts with
{
 "fieldName": "CompanyId__gr.Company_Test_Field__gc",
 "value": ["Manufacturing"],
 "alias": "A",
 "operator": "STARTS_WITH"
}
  • Contains
{
 "fieldName": "CompanyId__gr.Company_Test_Field__gc",
 "value": ["process"],
 "alias": "A",
 "operator": "CONTAINS"
}
  • Does not contains
{
 "fieldName": "CompanyId__gr.Company_Test_Field__gc",
 "value": ["process"],
 "alias": "A",
 "operator": "DOES_NOT_CONTAINS"
}
  • Is Null
{
 "fieldName": "CompanyId__gr.Company_Test_Field__gc",
 "value": [],
 "alias": "A",
 "operator": "IS_NULL"
}
  • Is Not Null
{
 "fieldName": "CompanyId__gr.Company_Test_Field__gc",
 "value": [],
 "alias": "A",
 "operator": "IS_NOT_NULL"
}

Boolean Filters

Following are some of the operators supported in advanced Boolean filters fetch calls:

  • Equal
{  "fieldName": "IsImportant",
 "value": [true],
 "alias": "A",
 "operator": "NE"
}
  • Not Equal
Not Equal
{
 "fieldName": "CompanyId__gr.CompanyBoolean__gc",  "value": [true],
 "alias": "A",
 "operator": "EQ"
}

Number Filters

Following are some of the operators supported in advanced Number filters fetch calls:

  • Equal
{
 "fieldName": "ownerId__gr.user_number__gc",
 "value": [10],
 "alias": "A",
 "operator": "EQ"
}
  • Not Equal
{
 "fieldName": "age",
 "value": [10],
 "alias": "A",
 "operator": "NE"
}
  • Greater Than
{
 "fieldName": "companyId__gr.csm__gr.user_number__gc",
 "value": [10],
 "alias": "A",
 "operator": "GT"
}
  • Greater than or equal to
{
 "fieldName": "age",
 "value": [10],
 "alias": "A",
 "operator": "GTE"
}
  • Less than
{
 "fieldName": "age",
 "value": [10],
 "alias": "A",
 "operator": "LT"
}
  • Less than or equal to
{
 "fieldName": "age",
 "value": [10],
 "alias": "A",
 "operator": "LTE"
}
  • Is Null
{
 "fieldName": "companyId__gr.csm__gr.user_number__gc",
 "value": [],
 "alias": "A",
 "operator": "IS_NULL"
}
  • Is Not Null
{
 "fieldName": "companyId__gr.csm__gr.user_number__gc",
 "value": [],
 "alias": "A",
 "operator": "IS_NOT_NULL"
}

Percentage Filters

Following are some of the operators supported in advanced Percentage filters fetch calls:

  • Equal
{
 "fieldName": "companyId__gr.company_percentage__gc",
 "value": [83],
 "alias": "A",
 "operator": "EQ"
}
  • Not Equal
{
 "fieldName": "companyId__gr.company_percentage__gc",
 "value": [83],
 "alias": "A",
 "operator": "NE"
}
  • Greater Than
{
 "fieldName": "companyId__gr.csm__gr.user_percentage__gc",
 "value": [10],
 "alias": "A",
 "operator": "GT"
}
  • Greater than or equal to
{
 "fieldName": "companyId__gr.csm__gr.user_percentage__gc",
 "value": [10],
 "alias": "A",
 "operator": "GTE"
}
  • Less than
{
 "fieldName": "ownerId__gr.user_percentage__gc",
 "value": [60],
 "alias": "A",
 "operator": "LT"
}
  • Less than or equal to
{
 "fieldName": "ownerId__gr.user_percentage__gc",
 "value": [30],
 "alias": "A",
 "operator": "LTE"
}
  • Is Null
{
 "fieldName": "companyId__gr.csm__gr.user_percentage__gc",
 "value": [],
 "alias": "A",
 "operator": "IS_NULL"
}
  • Is Not Null
{
 "fieldName": "companyId__gr.csm__gr.user_percentage__gc",
 "value": [],
 "alias": "A",
 "operator": "IS_NOT_NULL"
}

Currency Filters

Following are some of the operators supported in advanced Currency filters fetch calls:

  • Equal
{
 "fieldName": "ownerId__gr.user_currency__gc",
 "value": [83],
 "alias": "A",
 "operator": "EQ"
}
  • Not Equal
{
 "fieldName": "companyId__gr.company_currency__gc",
 "value": [83],
 "alias": "A",
 "operator": "NE"
}
  • Greater Than
{
 "fieldName": "companyId__gr.csm__gr.user_currency__gc",
 "value": [10],
 "alias": "A",
 "operator": "GT"
}
  • Greater than or equal to
{
 "fieldName": "companyId__gr.csm__gr.user_currency__gc",
 "value": [10],
 "alias": "A",
 "operator": "GTE"
}
  • Less than
{
 "fieldName": "ownerId__gr.user_currency__gc",
 "value": [60],
 "alias": "A",
 "operator": "LT"
}
  • Less than or equal to
{
 "fieldName": "ownerId__gr.user_percentage__gc",
 "value": [30],
 "alias": "A",
 "operator": "LTE"
}
  • Is Null
{
 "fieldName": "companyId__gr.csm__gr.user_percentage__gc",
 "value": [],
 "alias": "A",
 "operator": "IS_NULL"
}
  • Is Not Null
{
 "fieldName": "companyId__gr.csm__gr.user_percentage__gc",
 "value": [],
 "alias": "A",
 "operator": "IS_NOT_NULL"
}

Picklist Filters

Following are some of the operators supported in advanced Picklist filters fetch calls:

  • Equal
{
 "fieldName": "companyId__gr.csm__gr.user_picklist__gc",
 "value": ["1I0054U9FAKXZ0H26HF3ESSG4UYB5YTTPQVV"],
 "alias": "A",
 "operator": "EQ"
}
  • Not Equal

{
 "fieldName": "CompanyId__gr.company_picklist__gc",
 "value": ["1I0054U9FAKXZ0H26HF3ESSG4UYB5YTTPQVV"],
 "alias": "A",
 "operator": "NE"
} 
  • Starts with

{
 "fieldName": "custom_picklist__gc",
 "value": ["1I0054U9FAKXZ0H26HCDNCOD7NQT456P7RJL"],
 "alias": "A",
 "operator": "STARTS_WITH"
}
  • Contains

{
 "fieldName": "ownerId__gr.user_picklist__gc",
 "value": ["1I0054U9FAKXZ0H26HF3ESSG4UYB5YTTPQVV"],
 "alias": "A",
 "operator": "CONTAINS"
}
  • Does not contains

{
 "fieldName": "custom_picklist__gc",
 "value": ["process"],
 "alias": "A",
 "operator": "DOES_NOT_CONTAINS"
}
  • Includes

{
 "fieldName": "ownerId__gr.user_picklist__gc",
 "value": ["1I0054U9FAKXZ0H26HF3ESSG4UYB5YTTPQVV","1I0054U9FAKXZ0H26HTD7Y3TC7VE7MCN6BD0"],
 "alias": "A",
 "operator": "INCLUDES"
}
  • Excludes

{
 "fieldName": "ownerId__gr.user_picklist__gc",
 "value": ["1I0054U9FAKXZ0H26HTD7Y3TC7VE7MCN6BD0","1I0054U9FAKXZ0H26HCDNCOD7NQT456P7RJL"],
 "alias": "A",
 "operator": "CONTAINS"
}
  • Is Null

{
 "fieldName": "companyId__gr.csm__gr.user_picklist__gc",
 "value": [],
 "alias": "A",
 "operator": "IS_NULL"
}
  • Is Not Null

{
 "fieldName": "companyId__gr.csm__gr.user_picklist__gc",
 "value": [],
 "alias": "A",
"operator": "IS_NOT_NULL"
}

Multi-Picklist Filters

Following are some of the operators supported in advanced Multi-Picklist filters fetch calls:

  • Includes
{
 "fieldName": "ownerId__gr.user_multipicklist__gc",
 "value": ["1I0054U9FAKXZ0H26HF3ESSG4UYB5YTTPQVV","1I0054U9FAKXZ0H26HTD7Y3TC7VE7MCN6BD0"],
 "alias": "A",
 "operator": "INCLUDES"
}
  • Excludes
{
 "fieldName": "ownerId__gr.user_multipicklist__gc",
 "value": ["1I0054U9FAKXZ0H26HTD7Y3TC7VE7MCN6BD0","1I0054U9FAKXZ0H26HCDNCOD7NQT456P7RJL"],
 "alias": "A",
 "operator": "EXCLUDES"
}

GSID Filters

Following are some of the operators supported in advanced GSID filters fetch calls:

  • Equal
{
 "fieldName": "gsid",
 "value": ["1S01B8KR0ST6J5HC5N0R2NDNAVC5V9P4GABM"],
 "alias": "A",
 "operator": "EQ"
}
  • Not Equal
{
 "fieldName": "CompanyId__gr.gsid",
 "value": ["1P02ZUWNMOPV5SZ6ZLG7TZJMDCB8QNDDCACX"],
 "alias": "A",
 "operator": "NE"
}
  • Starts with
{
 "fieldName": "CompanyId__gr.gsid",
 "value": ["1P02ZUWNMOPV5"],
 "alias": "A",
"operator": "STARTS_WITH"
}
  • Contains
{
 "fieldName": "CompanyId__gr.csm__gr.gsid",
 "value": ["5HC5N0R2NDNAV"],
 "alias": "A",
 "operator": "CONTAINS"
}
  • Does not contains
{
 "fieldName": "ownerId",
 "value": ["VC5V9P4GABM"],
 "alias": "A",
 "operator": "DOES_NOT_CONTAINS"
}
  • Is Null
{
 "fieldName": "CompanyId__gr.csm__gr.gsid",
 "value": [],
 "alias": "A",
 "operator": "IS_NULL"
}
  • Is Not Null
{
 "fieldName": "companyId__gr.csm__gr.gsid",
 "value": [],
 "alias": "A",
 "operator": "IS_NOT_NULL"
}

Lookup Filters

Following are some of the operators supported in advanced Lookup filters fetch calls:

  • Equal
{
 "fieldName": "companyId",
 "value": ["1P02ZUWNMOPV5SZ6ZLG7TZJMDCB8QNDDCACX"],
 "alias": "A",
"operator": "EQ"
}
  • Not Equal
{
 "fieldName": "companyId",
 "value": ["1P02ZUWNMOPV5SZ6ZLG7TZJMDCB8QNDDCACX"],
 "alias": "A",
 "operator": "NE"
}
  • Starts with
{
 "fieldName": "CompanyId",
 "value": ["1P02ZUWNMOP"],
 "alias": "A",
 "operator": "STARTS_WITH"
} 
  • Contains
{
 "fieldName": "ownerId",
 "value": ["PV5SZ6ZLG7TZJMD"],
 "alias": "A",
 "operator": "CONTAINS"
}
  • Does not Contains
{
 "fieldName": "ownerId",
 "value": ["1S01B8KR0ST6J5HC5N0R2NDNAVC5V9P4GABM"],
 "alias": "A",
 "operator": "DOES_NOT_CONTAINS"
}
  • Is Null
{
 "fieldName": "companyId",
 "value": [],
 "alias": "A",
 "operator": "IS_NULL"
}
  • Is Not Null
{
 "fieldName": "companyId",
"value": [],
 "alias": "A",
 "operator": "IS_NOT_NULL"
}

Linked Object Filters

Following are some of the operators supported in advanced Linked Object filters fetch calls:

  • Equals
{
 "value": ["1Z027IA57F6SFBKJUYMKE58DPGDEHC14BP2F"],
 "associatedRecord" : true,
 "alias": "A",
 "operator": "EQ"
}
  • Not Equals
{
 "value": ["1Z027IA57F6SFBKJUYMKE58DPGDEHC14BP2F"],
 "associatedRecord" : true,
 "alias": "A",
 "operator": "NE"
}
  • Includes
{
 "value": ["1Z027IA57F6SFBKJUYMKE58DPGDEHC14BP2F", "1Z027IA57F6SFBKJUYT86Y0KE4JV9FK2IOCR"],
 "associatedRecord" : true,
 "alias": "A",
 "operator": "INCLUDES"
}
  • Excludes
{
 "value": ["1Z027IA57F6SFBKJUYMKE58DPGDEHC14BP2F", "1Z027IA57F6SFBKJUYT86Y0KE4JV9FK2IOCR"],
 "associatedRecord" : true,
 "alias": "A",
 "operator": "EXCLUDES"
}

Retrieve Deleted Data API

This API helps to retrieve deleted data and improve backup strategies, allowing admins to restore data more efficiently and less resource-intensive. It assures admins that their organizational data is protected from loss or unintentional deletion.
Note: Deleted data is available for retrieval via REST API only for 15 days after deletion.

Method

Post

Endpoint URL

Endpoint One: /v2/successPlan/deleted/list

Endpoint Two: /v2/successPlan/list (against this endpoint send "includeonlyDeletedRecords":true as part of Body)

Sample Request

{
    "select": [
        "Gsid",
        "ModifiedDate"
    ],
    "where": {
        "conditions": [
            {
                "fieldName": "ModifiedDate",
                "value": ["2024-02-22", "2024-02-23"],
                "alias": "A",
                "operator": "BTW"
            }
        ],
        "expression": "A"
    },
    "pageSize": 100,
    "pageNumber": 1
}


 

Sample Response

{
    "result": true,
    "requestId": "f034d554-c15f-4bb6-9cb6-507fa979d50b",
    "data": [
        {
            "CompanyId": "1P02GQJ2T8PZDDHPV8RRK08ULA1XP3CKPCOM",
            "CompanyId__gr.Name": "Apple Now",
            "DueDate": "2021-10-27",
            "EntityType": "COMPANY",
            "Gsid": "1S028KOZK8KADQ7PYVQJ5QA7NVK39CUBQBRY",
            "ModifiedDate": "2024-02-23T05:57:48.492Z",
            "Name": "SP1",
            "OwnerId": "1P015YKO42CZHTP3S18ODI6518A9JL84Z3WK",
            "OwnerId__gr.Email": "ssahu@gainsight.com",
            "OwnerId__gr.Name": "akshat",
            "StatusId": "1I004Y368TQW84KNMBKSL8FYIBKYSLDBGSU5",
            "StatusId__gr.Name": "Draft",
            "SuccessPlanTypeId": "1I00640EK7ANCTR7A49D3LQF19OQXHT4PQVU",
            "SuccessPlanTypeId__gr.Name": "Test"
        }
    ],
    "pageSize": 100,
    "currentPageNum": 1
}

 

  • Was this article helpful?