openapi: 3.0.3 info: title: Tabby Server Chat Events API description: Tabby is an open-source, self-hosted AI coding assistant (Apache-2.0) from TabbyML. You run the Tabby server yourself; it exposes an OpenAPI-documented REST surface for code completion, OpenAI-compatible chat completions, an Answer Engine backed by a doc-ingestion knowledge base, health, the model registry, and telemetry events. The interactive Swagger UI is served at /swagger-ui and the raw spec at /api-docs/openapi.json on your own instance. Because Tabby is self-hosted, the server URL below is a placeholder for your own deployment (default port 8080); replace it with your instance host. Endpoints authenticate with a Bearer registration token. Completion and chat endpoints return 501 Not Implemented when the corresponding model is not configured. version: 0.17.0 contact: name: TabbyML url: https://www.tabbyml.com license: name: Apache-2.0 url: https://github.com/TabbyML/tabby/blob/main/LICENSE servers: - url: http://localhost:8080 description: Self-hosted Tabby instance (default). Replace host and port with your own deployment. security: - bearerAuth: [] tags: - name: Events description: Client telemetry event logging. paths: /v1/events: post: operationId: event tags: - Events summary: Log a client telemetry event description: Logs completion-acceptance and other client telemetry events so a self-hosted deployment can measure suggestion quality locally. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/LogEventRequest' responses: '200': description: Event recorded. '401': $ref: '#/components/responses/Unauthorized' components: responses: Unauthorized: description: Missing or invalid bearer token. schemas: LogEventRequest: type: object properties: type: type: string description: Event type, e.g. view, select, dismiss. completion_id: type: string choice_index: type: integer required: - type securitySchemes: bearerAuth: type: http scheme: bearer description: 'Bearer token authentication. Use the registration token from the Tabby web UI (Information -> System -> Registration token), passed as `Authorization: Bearer YOUR_TOKEN`.'