Some of my complaints:
1. Hubspot released Sequences 10 years ago, and somehow they still don't have API suppport.
2. Meanwhile if I need to fetch associations between objects I have to use their V4 associations API but if I want to fetch contact lists I need to use their V1 API, and to fetch contacts themselves I sometimes have to use a V1 API and sometimes a V3 API. Who is versioning all of this
3. It's 2024 and somehow none of their APIs support sorting, ordering or filtering and to do so you need to use their /search endpoint. The problem is there's a 4 requests per second rate limit on the endpoint. That leads to my next complaint
4. A 4 rps limit is fine, if HubSpot allowed you to have an individual user go through oauth, but for some reason they suggest and push you to authenticate only 1 super admin, which means if you have 10+ users the search endpoint is pretty much useless and needs to be throttled significantly
There's so many other issues with fields that should be deprecated but aren't, fields getting deprecated and the only answers being some community message 5 years ago, lack of API support for workflows and other new features, and there's even issues where I noticed we'd get small bursts of 401's for no reason and Hubspot's response was that when they rotate the credentials used to verify tokens it can cause temporary downtime daily.
For shits and giggles I created an app for the marketplace and copied similar screenshots to what a competitor offered but then my application was rejected for not having proper screenshots. The app manager just responded that they had special privilege to not abide by any of the marketplace rules. Turns out they signed a pretty large deal with the competitor...
was done by people who did not receive the appropriated training in design patterns and has to glue something that worked in order to be proved by someone else
outside of a few orgs who chase excellency in every regard this is the reality for most companies, organizations and people. it makes sense given the circumstances they found themselves in.
it's actually quite impressive that anything works when you REALLY think about it
#
I'm not here saying every company is perfect, I have quite a few gripes with other services but they either:
A. Actually respond to issues and work with developers and actively help maintain their app integrations despite significantly smaller support teams(I've worked with at most 1-2 csms and an engineer or pm with most integrations but with hubspot I get routed from our app manager, to a csm to an entire engineering team and even the head of support all to just get an email that their oauth issues won't be fixed until q3 202x since developer experience isn't a priority)
or
B. Blatantly don't care but don't sell themselves to sales team that they have a great integration and great support for people building integrations. I'm at a point where I'm trying to actively push our mutual customers to anything but hubspot
Responding to the way that Hubspot handled your concerns: competitors Pardot and Marketo are not any better. I don't remember them ever correcting bugs that I reported. And simply getting through the gauntlet of "this isn't a bug, its a feature" Level 1 support is exhausting. Eloqua was much better - but only because I was working at a "partner consultant" org at the time and concerns/bug reports were fast-tracked to senior support techs.
Generally, Salesforce is what I consider "perfect software" (Joel's "good software takes 10 years" concept). It beats all the startups on so many fronts...
While am I sure their service is not free of flaws (the versioning as described comes off especially strange), the biggest issue here may be taking "API" too literally. What you are looking for is, indeed, an API, but that is not what they have on offer. Presumably their expectation is that you will build your API on top of the transferred state.
"HubSpot’s developer platform is a core part of our mission to empower organizations to grow better. Our APIs are designed to enable teams of any shape or size to build robust integrations that help them customize and get the most value out of HubSpot.
All HubSpot APIs are built using REST conventions and designed to have a predictable URL structure. They use many standard HTTP features, including methods (POST, GET, PUT, DELETE) and error response codes. All HubSpot API calls are made under https://api.hubapi.com and all responses return standard JSON."
If it's not actually an API in the traditional sense then that's absolutely awful documentation.
> HubSpot’s developer platform is a core part of our mission to empower organizations to grow better. Our APIs are designed to enable teams of any shape or size to build robust integrations that help them customize and get the most value out of HubSpot. All HubSpot APIs are built using REST conventions and designed to have a predictable URL structure. They use many standard HTTP features, including methods (POST, GET, PUT, DELETE) and error response codes. All HubSpot API calls are made under https://api.hubapi.com and all responses return standard JSON.
I'm getting a bit more estate transfer implications in their old docs but barely
> The API is built to allow you to create a functional application or integration quickly and easily. We know from experience - these are the APIs that power the HubSpot application. The ecosystem of developers creating integrations on top of the APIs is strong and diverse, ranging from webinar providers to CRMs to social media.
Not really sure where they mention it as a state transfer service. Not to mention even if it was, their lack of support for over 50% of their workflow/sequence/queue automations products make state transfer impossible anyways even for internal teams.
Glad to hear it. That means you don't have a problem (at least for some of the points raised).
L take buddy
But, regardless, I am happy that you were able to solve your problem.
Most developers I know would spin their wheels for weeks with such little information, and once they finally get the job done they wouldn't have time to joke around because they'd be so far behind in everything else they need to get done.
1. The might have had well supported API until the point at which they realized they wanted to have more people to use the webapp, rather than having the data sent through an API. More time spent on the Hubspot webapp means, more chances the customer notices the other services Hubspot provides and pays for them.
2. The versioning APIs that you see are most likely due to an enterprise deal Hubspot made with a large company who asked for variations in the API, and Hubspot introduced a v2/v3/v4 instead of modifying v1 (to not cause disruptions for their customers using v1).
Support for If-Match seems like a low bar and yet few clear it.
When asked about data quality issues (“data in a weird state” or “shouldn’t be possible”) and the API has zero protection for lost updates… I sigh. Nothing to do.