openapi: 3.0.3 info: title: Windsurf Enterprise analytics billing API description: The Windsurf Enterprise API (formerly Codeium Enterprise API) provides programmatic access to analytics, usage data, billing configuration, and team management for enterprise customers of Windsurf — the AI-native code editor by Codeium. The API enables teams to query code completion usage, Cascade AI analytics, billing configurations, and credit balances. Available for Enterprise plans only. Authentication uses service keys included in the request body. version: 1.0.0 contact: name: Windsurf Developer Support url: https://docs.windsurf.com/plugins/accounts/api-reference/api-introduction servers: - url: https://server.codeium.com/api/v1 description: Windsurf Enterprise API tags: - name: billing description: Usage configuration and credit balance management paths: /UsageConfig: post: operationId: setUsageConfig summary: Set Usage Configuration description: Configure usage settings for the team including AI model access controls, feature flags, and usage limits. Requires Billing Write service key permission. tags: - billing requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UsageConfigRequest' responses: '200': description: Usage configuration updated content: application/json: schema: $ref: '#/components/schemas/UsageConfigResponse' '401': description: Invalid or missing service key '403': description: Insufficient permissions /GetUsageConfig: post: operationId: getUsageConfig summary: Get Usage Configuration description: Retrieve the current usage configuration settings for the team. Requires Billing Read service key permission. tags: - billing requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ServiceKeyRequest' responses: '200': description: Current usage configuration content: application/json: schema: $ref: '#/components/schemas/UsageConfigResponse' '401': description: Invalid or missing service key /GetTeamCreditBalance: post: operationId: getTeamCreditBalance summary: Get Team Credit Balance description: Retrieve the current credit balance for the enterprise team account, including credits used and remaining. Requires Billing Read service key permission. tags: - billing requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ServiceKeyRequest' responses: '200': description: Team credit balance content: application/json: schema: $ref: '#/components/schemas/TeamCreditBalanceResponse' '401': description: Invalid or missing service key components: schemas: UsageConfigRequest: type: object description: Request to set usage configuration required: - service_key properties: service_key: type: string description: Service key with Billing Write permission model_access: type: object description: AI model access controls additionalProperties: type: boolean feature_flags: type: object description: Feature flag settings additionalProperties: type: boolean UsageConfigResponse: type: object description: Usage configuration settings properties: model_access: type: object description: Current AI model access settings additionalProperties: type: boolean feature_flags: type: object description: Current feature flag settings additionalProperties: type: boolean ServiceKeyRequest: type: object description: Base request object containing the service key for authentication required: - service_key properties: service_key: type: string description: Enterprise service key with appropriate permissions TeamCreditBalanceResponse: type: object description: Team credit balance information properties: total_credits: type: integer description: Total credits allocated used_credits: type: integer description: Credits consumed remaining_credits: type: integer description: Credits remaining reset_date: type: string format: date-time description: Date when credits reset