Connect OpenAI
Cost Catch reads your OpenAI organization cost from OpenAI's Cost API. OpenAI spend lives in several separate billing systems, so the one thing to get right is which product you're connecting — pick the one that matches how you buy.
Before you start
Two things, and the app generates the technical parts:
- An OpenAI Admin key for the product you're connecting (details below). Already have one? Reuse it.
- A Snowflake ACCOUNTADMIN to store the key as a secret and allow outbound calls to
api.openai.com. The app generates the SQL.
Choose your options
Choose the product that matches your billing — the keys are created in different places and aren't interchangeable. Not sure which you have? If you pay for API usage on platform.openai.com, that's the API Platform; if your organization uses ChatGPT Enterprise / Edu managed from the Admin Console, that's the ChatGPT side.
- OpenAI API platform (platform.openai.com) — real-dollar cost from the invoice-reconcilable Cost API. Create an Admin key (Settings → Organization → Admin keys; you must be an org owner). Starts
sk-admin-…. - ChatGPT Enterprise / Edu — usage credits with an estimated dollar value, from the Global Admin Console Cost API. Create a workspace Admin key (Global Admin Console → Credentials → Admin keys) with analytics/cost read access. Starts
sk-admin-….
Not ingestable: ChatGPT Business (formerly Team) exposes only PDF invoices — connect your API Platform usage instead. Individual plans (Free / Plus / Pro / Go) have no billing API. Using OpenAI via Azure OpenAI? That's billed by Microsoft — the Azure connector already covers it.
Create the key
Both products use an Admin key, but they're created in different consoles and aren't interchangeable — follow the branch that matches your product.
OpenAI API Platform (platform.openai.com)
You must be an organization owner:
- Go to Settings → Organization → Admin keys on platform.openai.com.
- Select Create new admin key, name it (e.g.
cost-catch), and create it. - Copy the key (it starts
sk-admin-…and is shown only once) and paste it into the wizard.
Reference: OpenAI Admin APIs guide.
ChatGPT Enterprise / Edu
You must be a workspace owner or admin:
- Open the Global Admin Console and go to Credentials → Admin keys.
- Create a workspace Admin key, granting it analytics/cost read access (the
workspace.analytics.readpermission). - Copy the key (it starts
sk-admin-…and is shown only once) and paste it into the wizard.
Reference: Managing your tenant in Admin Console. These are usage credits with an estimated dollar value, not invoice-reconcilable dollars.
Refresh cadence
Pick how often Cost Catch checks for new data. Every connection offers the same menu; we suggest a default that matches how often OpenAI actually publishes.
| Cadence option | Good for |
|---|---|
| Every hour | Tightest freshness; more runs |
| Every 6 hours Recommended | OpenAI's cost data lags a few hours and is daily-grain; this keeps the current day current and catches late Batch API charges. |
| Every 12 hours | Twice a day; low cost |
| Daily | A once-a-day snapshot; lowest cost |
| Custom | Any schedule you like, on your own cron |
The app pre-selects Every 6 hours and shows this reasoning right next to the picker — override it any time.
What to expect
- API Platform: usually final within a day or two. The last couple of days show as estimates (late Batch API charges land within 24h). Figures are dollars from the invoice-reconcilable Cost API.
- ChatGPT Enterprise: estimates revised through the monthly close (~34 days), reported as credits with an estimated dollar value. Newly added by OpenAI and still being validated — confirm the first run against the Global Admin Console.
- Settled figures: query
ANALYTICS.OPENAI_BILLING_FINAL. The app also offers a Test connection button so a bad key is caught during setup, not hours later.
Connect it
Open OpenAI in the setup wizard, pick your product, and it generates the Snowflake secret and network access for you — with a one-click connection test before you commit.
Stuck on a step? Email [email protected].