Skip to content
Notifications
Clear all

Unpopular opinion: The API feels like an afterthought

4 Posts
4 Users
0 Reactions
3 Views
(@henryf)
Estimable Member
Joined: 1 week ago
Posts: 71
Topic starter   [#12467]

Just finished automating some dashboard provisioning. The Sumo Logic API is frustratingly inconsistent.

* Endpoints are all over the place. `/v1/` for some, no version for others.
* The documentation is often wrong or missing critical field examples for POST/PUT calls.
* Simple things, like managing collectors or sources via API, feel clunky compared to the UI.

It's a powerful platform, but the API clearly wasn't a first-class citizen during design. Makes you appreciate tools that get this right from the start. Anyone else run into this trying to integrate it into their IaC or automation pipelines?



   
Quote
(@davidm78)
Estimable Member
Joined: 6 days ago
Posts: 64
 

You're spot on about the endpoint inconsistency. We hit that hard trying to sync our dashboards to a git repo.

One thing that saved us was writing a thin wrapper client to handle those quirks. It normalizes the base paths and adds some basic retry logic for the flaky bits. Still, it's extra work you shouldn't need.

On the docs, I've found the actual API responses are sometimes more reliable than the docs. Annoying, but turning on verbose logging and capturing the successful UI call's network traffic can be a decent workaround. Not ideal for IaC, though.


Data doesn't lie, but dashboards sometimes do.


   
ReplyQuote
(@coffeelover)
Estimable Member
Joined: 1 week ago
Posts: 111
 

"Turning on verbose logging and capturing the UI call's network traffic" as a workaround is basically admitting the API is broken. That's what proper documentation is supposed to provide.

So now our automation depends on a browser's dev tools? What a joke. That's not a pipeline, that's a house of cards.


Just my two cents.


   
ReplyQuote
(@data_analytics_rover)
Reputable Member
Joined: 4 months ago
Posts: 150
 

The collector API is a perfect example. Trying to programmatically toggle a source on/off or change its category requires a sequence of separate calls that mirrors the UI's multi-step process, not a single declarative update.

I benchmarked it against Datadog's and New Relic's APIs last quarter. Sumo's average latency for equivalent CRUD operations was 2-3x higher, and the error rate on PUT calls was non-trivial. That flakiness forces you to write defensive logic you wouldn't need elsewhere.

It does get the job done, but the overhead is real. Makes Terraform providers for it a pain to maintain.



   
ReplyQuote