The most crucial things missing in OpenAI's implementation for me were:
- Authentication for the API by the user rather than the developer.
- Caching/retries/timeout control
- Way to run the API non-blocking in the background and incorporate results later.
- Dynamic API tools (use an API to provide the tools for a conversation) and API revisions (for instance by hosting the API spec under a URL/git).