Hubspot resulting different response set for the same api call


#1

I am fetching the modified contacts using the python API. I am providing the date range as the time offset parameter, but every time I fired the same request with the same date it giving me the different number of modified contacts.


#2

Hi @Uncle_Buck_developem,

Can you give me examples of the requests you're making? The timeOffset parameter is intended to be used in tandem with the vidOffset parameter, and should reflect the values that appear in the previous response. We don't support passing a date or date range in this parameter.


#3

Hello @Derek_Gervais,
Thanks for your response on this query.

I can understand that the timeOffset parameter can only be used with the vidOffset.
But my requirement is quite different.
I am trying to fetch the customers between the the given date range, for that I may have to pass the time offset parameter but i do not have the vidOffset for the first call.

Can you please help me do such date range queries using only timeOffset parameter.


#4

Hi @Uncle_Buck_developem,

That isn't currently supported; the timeOffset parameter won't accept any date, and the recently modified contacts endpoint can't return contacts within a particular timeframe. If you need to get the contacts that were most recently updated within a certain timeframe (e.g. 8/20/2018 to 8/22/2018) you'd need to start with the most recent group of contacts, and then page backwards until you reach the oldest date you care about. You can then process/store only the records that you're interested in.

One other thing that you might already know, but I want to mention explicitly just in case: This endpoint returns a list of contacts ordered from most to least recently updated. It doesn't return a historical list of contact updates. For example; let's say that I have five contacts:

  • A
  • B
  • C
  • D
  • E

If I update record A, and then update record E, the results of the recently modified endpoint will look like this:

  • B
  • C
  • D
  • A
  • E

This represents a list of my contacts, in order from the most recently updated (E) to the least recently updated (B). If I then update record A again, the list that's returned will look like this:

  • B
  • C
  • D
  • E
  • A

Since this endpoint returns a list of contacts, record A only appears once, and it's position has moved to the beginning of the list since it was updated the most recently. This means that paging back and grabbing a specific date range will not give you a list of the contacts updated during that timeframe. Instead, it will give you a list of contacts who's most recent update took place within that timeframe.

Again, it's possible you already knew that, but it's a common misconception so I wanted to cover it here. Let me know if you have any other questions!