42
What's the best way to monitor an API for breaking changes?
(sh.itjust.works)
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Follow the wormhole through a path of communities !webdev@programming.dev
They haven't so far broken the historical data, so I can't directly compare a response to a known good, sadly.
Don't these clowns version their API?
Not that I've seen! No endpoint tells me anything about the API or endpoint. Would that be in the response headers, maybe? I'll check, but they're bad at change control anyway and they use slightly different versions of their systems for each customer, so there's not really a unified version number anyway.
edit: Nothing in the headers.
I mean.... We version ours in the url.
/api/v1/some_enpointThat way if, for whatever reason, you need to roll a breaking change, you do it in a new version mapped to a new url.
I'm sorry for what you're going through, I've been there before.
They've never rolled out a breaking change INTENTIONALLY, which is a fun distinction!
Do they do testing? Is there no SLA on bug fixes and availability? That should be essential come renewal time.
You can compare the status to a 500 or a 404 though, to see if it’s running?
When it breaks, you’ll know.
I do that, at least. Most recent problem was one endpoint returning [] instead of a bunch of JSON, still with a 200.
Oh duh, I should have known someone would return an empty object/collection or a string or something (“Error”) and 200!
I feel like sometimes monitoring is a bit like whack-a-mole.
That's my feeling, too.