openapi: 3.2.0 info: title: LiteLLM Cost Tracking API description: "Enterprise Edition \n\nProxy Server to call 100+ LLMs in the OpenAI format. [**Customize Swagger Docs**](https://docs.litellm.ai/docs/proxy/enterprise#swagger-docs---custom-routes--branding)\n\n\U0001F449 [```LiteLLM Admin Panel on /ui```](/ui). Create, Edit Keys with SSO. Having issues? Try [```Fallback Login```](/fallback/login)\n\n\U0001F4B8 [```LiteLLM Model Cost Map```](https://models.litellm.ai/).\n\n\U0001F50E [```LiteLLM Model Hub```](/ui/model_hub_table). See available models on the proxy. [**Docs**](https://docs.litellm.ai/docs/proxy/ai_hub)" version: 1.95.0 x-operator: institution x-provenance: method: probed source: https://llmproxy.uva.nl/openapi.json retrieved: '2026-08-19' note: Document is generated by the LiteLLM proxy software the University of Amsterdam self-hosts; the deployment, the key issuance and the host (llmproxy.uva.nl, UvA Azure) are the institution's. servers[] added by API Evangelist because the served document omits it; nothing else altered. servers: - url: https://llmproxy.uva.nl description: University of Amsterdam / Amsterdam University of Applied Sciences shared AI gateway tags: - name: Cost Tracking paths: /config/cost_discount_config: get: tags: - Cost Tracking summary: Get Cost Discount Config description: 'Get current cost discount configuration. Returns the cost_discount_config from litellm_settings.' operationId: get_cost_discount_config_config_cost_discount_config_get responses: '200': description: Successful Response content: application/json: schema: {} security: - APIKeyHeader: [] patch: tags: - Cost Tracking summary: Update Cost Discount Config description: "Update cost discount configuration.\n\nUpdates the cost_discount_config in litellm_settings.\nDiscounts should be between 0 and 1 (e.g., 0.05 = 5% discount).\n\nExample:\n```json\n{\n \"vertex_ai\": 0.05,\n \"gemini\": 0.05,\n \"openai\": 0.01\n}\n```" operationId: update_cost_discount_config_config_cost_discount_config_patch requestBody: content: application/json: schema: additionalProperties: type: number type: object title: Cost Discount Config required: true responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' security: - APIKeyHeader: [] /config/cost_margin_config: get: tags: - Cost Tracking summary: Get Cost Margin Config description: 'Get current cost margin configuration. Returns the cost_margin_config from litellm_settings.' operationId: get_cost_margin_config_config_cost_margin_config_get responses: '200': description: Successful Response content: application/json: schema: {} security: - APIKeyHeader: [] patch: tags: - Cost Tracking summary: Update Cost Margin Config description: "Update cost margin configuration.\n\nUpdates the cost_margin_config in litellm_settings.\nMargins can be:\n- Percentage: {\"openai\": 0.10} = 10% margin\n- Fixed amount: {\"openai\": {\"fixed_amount\": 0.001}} = $0.001 per request\n- Combined: {\"vertex_ai\": {\"percentage\": 0.08, \"fixed_amount\": 0.0005}}\n- Global: {\"global\": 0.05} = 5% global margin on all providers\n\nExample:\n```json\n{\n \"global\": 0.05,\n \"openai\": 0.10,\n \"anthropic\": {\"fixed_amount\": 0.001},\n \"vertex_ai\": {\"percentage\": 0.08, \"fixed_amount\": 0.0005}\n}\n```" operationId: update_cost_margin_config_config_cost_margin_config_patch requestBody: content: application/json: schema: additionalProperties: anyOf: - type: number - additionalProperties: type: number type: object type: object title: Cost Margin Config required: true responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' security: - APIKeyHeader: [] /cost/estimate: post: tags: - Cost Tracking summary: Estimate Cost description: "Estimate cost for a given model and token counts.\n\nThis endpoint uses the same cost calculation logic as actual requests,\nincluding any configured margins and discounts.\n\nParameters:\n- model: Model name (e.g., \"gpt-4\", \"claude-3-opus\")\n- input_tokens: Expected input tokens per request\n- output_tokens: Expected output tokens per request\n- num_requests_per_day: Number of requests per day (optional)\n- num_requests_per_month: Number of requests per month (optional)\n\nReturns cost breakdown including:\n- Per-request costs (input, output, margin)\n- Daily costs (if num_requests_per_day provided)\n- Monthly costs (if num_requests_per_month provided)\n\nExample:\n```json\n{\n \"model\": \"gpt-4\",\n \"input_tokens\": 1000,\n \"output_tokens\": 500,\n \"num_requests_per_day\": 100,\n \"num_requests_per_month\": 3000\n}\n```" operationId: estimate_cost_cost_estimate_post requestBody: content: application/json: schema: $ref: '#/components/schemas/CostEstimateRequest' required: true responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/CostEstimateResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' security: - APIKeyHeader: [] components: schemas: CostEstimateRequest: properties: model: type: string title: Model description: Model name (from /model_group/info) input_tokens: type: integer minimum: 0.0 title: Input Tokens description: Expected input tokens per request output_tokens: type: integer minimum: 0.0 title: Output Tokens description: Expected output tokens per request num_requests_per_day: anyOf: - type: integer minimum: 0.0 - type: 'null' title: Num Requests Per Day description: Number of requests per day num_requests_per_month: anyOf: - type: integer minimum: 0.0 - type: 'null' title: Num Requests Per Month description: Number of requests per month type: object required: - model - input_tokens - output_tokens title: CostEstimateRequest description: Request body for /cost/estimate endpoint. CostEstimateResponse: properties: model: type: string title: Model input_tokens: type: integer title: Input Tokens output_tokens: type: integer title: Output Tokens num_requests_per_day: anyOf: - type: integer - type: 'null' title: Num Requests Per Day num_requests_per_month: anyOf: - type: integer - type: 'null' title: Num Requests Per Month cost_per_request: type: number title: Cost Per Request description: Total cost per request (includes margin) input_cost_per_request: type: number title: Input Cost Per Request description: Input token cost per request (before margin) output_cost_per_request: type: number title: Output Cost Per Request description: Output token cost per request (before margin) margin_cost_per_request: type: number title: Margin Cost Per Request description: Margin/fee added per request default: 0.0 daily_cost: anyOf: - type: number - type: 'null' title: Daily Cost description: Total daily cost (includes margin) daily_input_cost: anyOf: - type: number - type: 'null' title: Daily Input Cost description: Daily input token cost daily_output_cost: anyOf: - type: number - type: 'null' title: Daily Output Cost description: Daily output token cost daily_margin_cost: anyOf: - type: number - type: 'null' title: Daily Margin Cost description: Daily margin/fee monthly_cost: anyOf: - type: number - type: 'null' title: Monthly Cost description: Total monthly cost (includes margin) monthly_input_cost: anyOf: - type: number - type: 'null' title: Monthly Input Cost description: Monthly input token cost monthly_output_cost: anyOf: - type: number - type: 'null' title: Monthly Output Cost description: Monthly output token cost monthly_margin_cost: anyOf: - type: number - type: 'null' title: Monthly Margin Cost description: Monthly margin/fee input_cost_per_token: anyOf: - type: number - type: 'null' title: Input Cost Per Token output_cost_per_token: anyOf: - type: number - type: 'null' title: Output Cost Per Token provider: anyOf: - type: string - type: 'null' title: Provider type: object required: - model - input_tokens - output_tokens - cost_per_request - input_cost_per_request - output_cost_per_request title: CostEstimateResponse description: Response body for /cost/estimate endpoint. HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type input: title: Input ctx: type: object title: Context type: object required: - loc - msg - type title: ValidationError securitySchemes: APIKeyHeader: type: apiKey description: Bearer token in: header name: x-litellm-api-key