The biggest "Oh my god, this is so much easier" moment was just setting up a tiny JS script onto the login API to stash the bearer token from the return response into a variable, and then propagate it into the header of all subsequent calls. Trying to script THAT in Bash (parsing the bearer token from the return response) was also a headache and never worked 100% for me.
Although that was me trying to do it manually. I'm sure a vibe-coded solution would probably work well enough these days.
Personally I use a wrapper cli I built myself over curl which automatically gets api docs of my product and easily get the token so its great for agents
As a .NET developer I had been using LinqPad for years, and just kept a set of template scripts for the various rote web-call scripts I might need to do e.x. XML or JSON, Auth handling, etc.
(For the non .NET folks, LinqPad is a simple application that lets you write small script-esque bits of C#/F#/VB.NET and has a wonderful little `.Dump()` method that can pretty-print just about any object to it's output window, and even export that output window to Excel/HTML which is nice for some tasks.)
Nice to see the leaner alternatives people are suggesting here.