You have an http api, implement all of this yourself, the devs can't read your mind.
You should be able to issue a request and do stuff before reading the response, boom non-blocking. If you can't handle low level, just use threads plus your favourite abstraction?
User API auth. Never seen this by an api provider, you are in charge of user auth, what do you even expect here?
Do your job, openai isn't supposed to magically solve this for you, you are not a consumer of magical solutions, you are now a provider of them