Skip to main content
Gainsight Inc.

Events API

Gainsight NXT

 

This article explains how to publish an event in Gainsight through the publish an event API.

Introduction

The Publish an Event API helps the publisher to publish an event. The Publish an Event API is an external API which helps you to publish an event in the Gainsight.

Authentication/ Authorization

API access is controlled using a SharedSecret Key. You need to register the sender of Events (any other system infrastructure) from Gainsight. Gainsight generates a unique key for this registration which is used while configuring the publisher. This key is always unique for a specific org and should be kept secured.

Headers

Key

Value

eventVersion v01
sharedSecret <secret-token>
eventName sample_event
ContentType JSON
tenantId <tenant-id>

Throttling Limits 

API

Rate Limit

Synchronous API Calls 100 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.

Publish an Event API

The Publish an Event API is an external API which helps you to publish an event in the Gainsight.

Method

POST

Endpoint URL

version/eventManager/event

Sample Request Body


{
  "hello":"world"
}

Publish a System Asset Event

The System Asset Events is being introduced to serve as the connecting mechanism for various systems to communicate with one another without depending on time-based schedules.

Sample Request Body to Publish A System Asset Event


{
  "tenantId":"tid",
  "assetType": "OBJECTS", //  DO NOT USE COLLECTION_MASTER
  "assetId": "Company", //ObjectName 
  "operationType": "DATA", //DATA, METADATA
  "operation": "UPSERT", //  INSERT, UPDATE, UPSERT,DELETE 
  "objectType": "CUSTOM",
  "objectName":"Company",
  "consumer": "BULK_API",
  "dbCollectionName": "salesReport_fdsgw45w45353fetrkgn4k56456",
  "dataStoreType": "REDSHIFT",
  "status": "PARTIAL_SUCCESS",
  "bucketName": "devs3_abcxyz",
  "successFilePath": "MDA-Data-Ingest/input/success/success.csv",
  "errorFilePath": "MDA-Data-Ingest/input/error/error.csv",
  "successCount": 5,
  "failureCount": 2,
  "totalCount": 7,
  "errorMessage": "",
  "jobId": "a3aa9b9f-7b9a-48f0-9fe8-2fe0f1b5a10b",
  "requestId": "",
  "consumerProperties": {
    "jobName": "load to sales",
    "s3FilePath": "",
    "operation": "UPSERT",
    "collectionId": "",
    "projectId": "",
    "uc_id": ""
  }
}

Parameters

Parameter

Data Type

Values

Description 

assetType* String Objects/Rules/DD A String value that contains an asset to configure the event.
assetId* String UniqueId for Asset A String value that contains an AssetId which is the unique identification id of assetType.
operation* String INSERT,UPDATE,UPSERT,DELETE A String value that indicates what kind of operation needs to be performed with the event request.
tenantId* String tenantId A String value that contains the origin/tenantId/instanceId for which the event needs to configured for.

Sample Success Response


{
  "result": true,
  "data": {
    "eventId": "259d8882-8b13-4ded-b2b0-39c43359739d"
  },
  "message": "Successfully received event, please keep the event Id for further reference",
  "messages": [
    "Successfully received event, please keep the event Id for further reference"
  ]
}

Sample Failure Response 


{
  "result": false,
  "errorCode": "1001",
  "errorDesc": "Oops, something went wrong! Please contact Tech Support to report. ",
  "requestId": "4e1f3665-eb88-4017-8dff-2c8d400c9111",
  "message": "Event is not registered",
  "messages": [
    "Event is not registered"
  ]
}

Error Codes 

Error Code

Error Message

Reason

HTTP Status Code 

1001 Oops, something went wrong! Please contact Tech Support to report. Event is not registered 400

 

  • Was this article helpful?