"Over the past few years, Swagger 2 has become the de facto standard for defining your API." - LOL. I stopped reading here.

What do you use for defining & documenting your APIs?

I ask because this is something the UK Government is looking at - https://github.com/alphagov/tech-and-data-standards/issues/3...

The best part about Swagger is there's a lot of good open-source tooling for it (though this depends on the language).

One alternative I find super interesting lately is defining APIs with grpc and then exposing them with the gateway proxy: https://github.com/grpc-ecosystem/grpc-gateway

In this way, you get strongly-typed interfaces and Swagger is autogenned for you.