Usage & billing
Usage shapes
Section titled “Usage shapes”usage reflects real model token consumption for the turn, mapped into the
OpenAI-compatible shape for whichever endpoint you called:
| Endpoint | Usage shape |
|---|---|
POST /v1/chat/completions | { prompt_tokens, completion_tokens, total_tokens } |
POST /v1/responses | { input_tokens, output_tokens, total_tokens } |
// Responses API"usage": { "input_tokens": 812, "output_tokens": 143, "total_tokens": 955 }
// Chat Completions"usage": { "prompt_tokens": 812, "completion_tokens": 143, "total_tokens": 955 }Metered like everything else
Section titled “Metered like everything else”Every turn made through the API is metered through the same path as the dashboard and the email/chat channels — API usage counts against the workspace’s normal budget and suspension rules. There’s no separate “API plan”; it’s the same spend as any other surface.
Suspended or out-of-credit workspaces
Section titled “Suspended or out-of-credit workspaces”If the workspace is suspended or out of credits, a request fails before running with:
{ "error": { "message": "...", "type": "insufficient_quota", "param": null, "code": "insufficient_quota" } }which the OpenAI SDK raises as PermissionDeniedError (HTTP 403). See the
Errors table for the full list of error conditions.