Based on my testing, the maximum number of records that can be provided within one responses is 100. Apologies for the delay in getting back to you with this.
Are you receiving actual timeouts or a response with a HTTP code? The current API usage guidelines state a maximum of 40k requests per day and no more than 10 requests per second; if these limits are exceeded, requests will be met with a HTTP 429 (Too many requests) response code.
The deals system doesn’t currently perform any type of deduplication. If you’re using the Deals API to create deals in HubSpot, you’d need to store the dealId you’d get in the response, and use that ID to update that specific deal when you need to make updates.
How to ensure duplicate Deals from our ERP are not inserted to Deals?
Would it be possible to store the dealId in your ERP? We don’t currently have a way to set a custom property as a secondary ID, so the only way to update a specific record would be to use our internal dealId.
How to ensure duplicate Deals from our ERP are not inserted to Deals?
We use CData HubSpot SSIS driver for integration. CData has confirmed that the only way to query HubSpot deals is by using DealId and that too by only using a single DealId filter, i.e. we can only use an equal to (=) filter to a single DealId.
The challenge we are currently facing is that we are selecting number of rows from ERP and inserting to Deals. How do I know which rows in the ERP have to be updated with DealId from HubSpot if HubSpot only allows to query the Deals by DealId?
How to ensure duplicate Deals from our ERP are not inserted to Deals?
If you’re only creating deals in HubSpot after the deals are created in the ERP, you should record the dealId that you’ll get in the response from the Deals API after the deal is created.
If you’re creating deals in both systems, you can get all of the deals currently in HubSpot using the Deals API, which would include the dealId.
With regards to the ‘Get recently modified deals’ endpoint, there are no limitations in the columns that you’ll receive per deal record - All columns are returned.
The count URL parameter stipulates the number of records to be returned and defaults to 20 if not specified in the request. The limit is stated as 500 records per response, but after testing, I’m only able to pull 100 at a time - let me confirm and get back to you on that.
Please pay attention to the returned hasMore value, which is indicative of whether there are more records left in the query, which you can then access by using the offset URL parameter.
Do you have any update for me on the number of records pulled at a time?
Also i get frequent time out errors from HubSpot gateway after I try to insert over 5,000 records to Deals using Deals API. Is there a limit to number of records i can insert in a day?