Timeline API Article is Now Available!

Userlevel 3

The Timeline API article is now available on our support site.

With this document, we have simplified and revised the structure of the API document to align it to the industry standards and improve readability. We plan to update the existing documents in this format to maintain consistency.

Your feedback is valuable to us. We are open to any suggestions that you may have.
Please reach out to me (@Sania Ahmed) if you have any queries/suggestions.

Community Ask: https://community.gainsight.com/rules-permissions-15/where-is-the-rest-api-or-other-api-documentation-4527

***Follow this post and/or subscribe to this category to automatically receive updates when new content/document/communication is posted.***

FYI @minh_phan @neelam_mukherjee @Divya @Adrian Raposo @Uzma Gani @Sneha Naranje @Bhawya  


Thank you!

34 replies

Userlevel 7
Badge +2

Great. Except for the fact that the full Timeline API is not apparently active yet.  POST returns results. PUT returns nothing.

Userlevel 7
Badge +2

Gainsight really needs to get its act together with regard to releases. This is, I believe, the third time I have run into something that was shown to be released (just in this recent release alone) but was not fully.

It’s a terrible customer experience for us to have to bump into these things on our own, after wasting time testing and trying things out only to find that it’s just not a fully released feature.

Userlevel 7
Badge +2

We are looking into this on priority @darkknight 

Sorry for the inconvenience caused, please use the end point as “/v1/ant/es/activity/bulk?identifier=<identifier>“ for PUT call. Please let us know if you are still facing any issue. We are happy to help you @darkknight . We will update the documentation soon.

Userlevel 3

Hi @smitha bhanoori , @Sneha Naranje  is working on updating the documentation. 

@Sneha Naranje Please provide an update here once the document is updated. 

@darkknight Thank you for sharing this with us. Your feedback is valuable to us. 

FYI @anirbandutta @Bhawya @neelam_mukherjee  @Divya @Adrian Raposo 


HI @smitha bhanoori, the article has been updated.
FYI @Sania Ahmed @Bhawya @Divya @darkknight @anirbandutta @neelam_mukherjee 

Userlevel 7
Badge +2

@smitha bhanoori here is the response I get:

Which tells me it’s not even attempting to respond - otherwise I’d get a success or a fail due to misconfiguration. 

@wayne_baker also said here’s what he gets when he tries to PUT:


Thanks for contacting, Based on the request Id we have observed that the end point used is incorrect for PUT call. Please use end point as “/v1/ant/es/activity/bulk?identifier=<identifier>” for PUT call for single activity update as well.


Userlevel 3

Thanks for contacting, Based on the request Id we have observed that the end point used is incorrect for PUT call. Please use end point as “/v1/ant/es/activity/bulk?identifier=<identifier>” for PUT call for single activity update as well.


Hi @Sneha Naranje , can you please look into this?

Userlevel 7
Badge +2

@smitha bhanoori ok by adding in the “bulk” I do get a response this time (which is good) but the data isn’t actually getting updated (which is not good):



@darkknight Job got completed with the below error , hence the activity data is not updated.

[{"errorCode":"GS_TL_10_0204","message":"Activity identifier key not provided"}]}

Please provide activityId for the key “Gsid” as part of the payload.


Userlevel 7
Badge +2

@smitha bhanoori why didn’t that error message come through on my side during the test? I shouldn’t have to rely on reaching out to Gainsight to understand why it didn’t go through.

Also, I am using the ActivityId, but the documentation isn’t very clear on exact format or JSON config.  Perhaps we can schedule a call to walk through this?

@darkknight  Please use the job Id received in the response as the input for for Status API to know the result. In documentation it is already mentioned that we can either use External Id or activity Id. Sure, we can have a call.

Userlevel 7
Badge +2

@smitha bhanoori I should clarify, I’m attempting to do this via External Actions (not via custom code), which I have done successfully using other APIs (CTA, Company) and haven’t had this much trouble.  


Userlevel 3

Having similar issues.

Request id:     37bbb4bf-4e02-4cde-8bb7-8dda40ec26af



@Wayne Please use the url as “activity/bulk?identifier=externalid” .

Angular braces are mentioned to represent the placeholder.

Userlevel 6
Badge +4

Maybe a good idea would be to have examples of a URL as it would appear when it is configured?

Assuming these aren’t lingering technical problems with the API, it seems like most of this back and forth could have been avoided with clear end-to-end examples of the whole process (once PUT was enabled that is).

I haven’t worked much with the API, and I can tell you that having that level of technical detail would be useful for me but also having a full example to reverse engineer for troubleshooting is equally helpful even if you’re an API pro, when a new API feature comes out.

Userlevel 3

Still erroring out,


Request id: d17667a0-fa9f-48c2-a10e-10c61db289fa

@Wayne We are not observing this request from our end. Can you please share more details on the issue.

Userlevel 3

Hey @smitha bhanoori I figured out that issue.


It was because I am trying to send a date time. I defined the format my data is in, yyyy-MM-dd'T'HH:mm:ssZ. However, Timeline APIT is still expecting it in, yyyy-MM-dd'T'HH:mm:ss.SSSZ




I’ve built a workaround for this. Now I am to the point where we have the same timeline type name across multiple relationship types and I need to define the type name id instead of type name and have no way to do this en masse.

Hello. My team is having issues with the Read API. They are saying the GET api isnt formatted correctly and the “Read Record JSON” Parameter is missing. Can you please verify if the API is deployed?



Userlevel 1


@chris1 The Read API is also a POST method. Can you please try with that and let us know if you are still facing this issue?

Hi @Bhawya thanks for confirming it is POST. We are still missing the exact name of the parameter. Can you please provide?

Userlevel 3

Do you have a sample call that pushes external attendees via lookup that works?


When I push this, 


I get a "Sql exception occurred while processing" error. If I remove that ExternalAttendees lookup portion from my call it works fine.


I’ve tried  mimicking the exact call in sample documentation with the Person_ID__gr.Name or Email.


This too did not work. 


I’ve gotten it to work if instead I push GS external attendees like this without the lookup portion, 


However, that does not solve the use case that we have.

@Wayne We need few more details for your usecase to debug. We need to have company lookup as well for “externalAttendees” lookup to work. From your screenshots, it seems like you did not add company lookup in your payload. Please add company lookup before externalAttendee lookup. Meanwhile you can try with below samples. 

In the below sample, “Title” is field present under company person object.

Payload sample: