Api keys: how to organize them?

Hi there! I hope everyone is doing well.

I have a question, perhaps a basic one. I currently serve several clients, each utilizing OpenAI services through my account.

What are the best practices for developers in my situation?

  • Should I create a separate account for each client?
  • Or should I centralize everything under an admin account and create distinct keys for each client? If so, is it possible to track usage by key? Can a single key be used by multiple users at the same time?

I’m a bit lost on how to best organize the administrative side of managing my clients’ usage.

Thank you!

Hi and welcome to the Developer Forum!

It really all comes down to if you are making profit from tokens or not, if you keep the token handling through your account then you can and probably should charge some sort of a premium for that, but if you are charging a flat fee or a one off charge then you should get them to create an account for themselves and to either enter the API into the server themselves or let you have the API key and set it up for them.

Thanks for the quick answer, Foxabilo! This helps a lot.

I am charging a flat fee, where that fee incorporates a package of usage (for example, 100 requests to completion API, or 100 hours of whisper speech-to-text). So, following your advice, I should create a different account for each client…

1 Like

I guess it comes down to two main things, rate limits and on-going involvement.

Rate limits can be a double edged sword as you may have a high tier account and have a large limit that a client can make use of, and if they then get their own new low tier account that could cause issues, but those will go away with time and usage. on-going involvement just really depends on if you want to offer continuous support and services to your clients or just one offs

1 Like

The issue arises from the fact that customers are using OpenAI services via an external own application. It seems strange to give the customers the power to enter to their accounts, check usage, etc, since I am charging for it… so they would have access to information related to, for instance, costs.

Is there a way to solve this issue? I think is pretty critical for developers that want to base their product using openai services

Yes, the way to manage that is by using your own API keys and ensuring that you are a tier suitable to keep up with your token usage, as you grow your tier will rise and you will have a great rate and usage cap, if you have a proven track record of usage then you will be able to apply for increases when needed.