how do people do what insomnia (the http/rest client) does without using insomnia? is it just curl in shell scripts?

the thing that seems missing there that i want is the idea of variables that can change in different environments (i.e. the same api request, that needs an api key, but i want to be able to choose to run it w/ my local api key or my prod api key)

i was building my own thing to do this and i should probably finish it..

i'm trying hurl. seems neat, and they've got a --variables-file option that might work for what i want