Replicated telemetry API

The telemetry API from Replicated — 3 operation(s) for telemetry.

OpenAPI Specification

replicated-telemetry-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  description: Manage enterprise portal users, install options, branding, documentation, email templates, and access control.
  title: Vendor API V3 apps telemetry API
  contact:
    name: Replicated, Inc.
    url: http://www.replicated.com/
    email: info@replicated.com
  version: 3.0.0
host: api.replicated.com
basePath: /vendor/v3
schemes:
- https
consumes:
- application/json
produces:
- application/json
tags:
- name: telemetry
paths:
  /cli/telemetry/error:
    post:
      security:
      - api_key: []
      description: 'Records detailed error information for a CLI command that failed. The event_id must reference

        a valid event from cli_telemetry_events table, otherwise a 400 error is returned.


        Note: Authentication required. Team and user information is extracted automatically from the Bearer token.

        This endpoint is accessible to all authenticated users, including read-only users, to ensure comprehensive telemetry collection.'
      consumes:
      - application/json
      produces:
      - application/json
      schemes:
      - https
      tags:
      - telemetry
      summary: Record CLI error details
      operationId: postCliTelemetryError
      parameters:
      - name: Body
        in: body
        required: true
        schema:
          type: object
          required:
          - event_id
          - command
          properties:
            command:
              description: Command that failed
              type: string
              x-go-name: Command
              example: release lint
            error_message:
              description: Detailed error message
              type: string
              x-go-name: ErrorMessage
              example: Invalid YAML syntax in release manifest
            error_type:
              description: Type of error that occurred
              type: string
              x-go-name: ErrorType
              example: ValidationError
            event_id:
              description: Event ID to link this error to (must be a valid event_id from cli_telemetry_events)
              type: string
              x-go-name: EventID
              example: 550e8400-e29b-41d4-a716-446655440000
      responses:
        '201':
          $ref: '#/responses/cliTelemetryErrorResponse'
        '400':
          $ref: '#/responses/responseErrBadRequest'
        '401':
          $ref: '#/responses/responseErrUnauthorized'
  /cli/telemetry/event:
    post:
      security:
      - api_key: []
      description: 'Records telemetry data for a CLI command execution including exit code, duration, and environment metadata.

        Returns a unique event_id that can be used to correlate errors with this event.


        Note: Authentication required. Team and user information is extracted automatically from the Bearer token.

        This endpoint is accessible to all authenticated users, including read-only users, to ensure comprehensive telemetry collection.'
      consumes:
      - application/json
      produces:
      - application/json
      schemes:
      - https
      tags:
      - telemetry
      summary: Record CLI command execution event
      operationId: postCliTelemetryEvent
      parameters:
      - name: Body
        in: body
        required: true
        schema:
          type: object
          required:
          - event_id
          - command
          properties:
            command:
              description: Name of the CLI command that was executed
              type: string
              x-go-name: Command
              example: release create
            duration_ms:
              description: Duration of command execution in milliseconds
              type: integer
              format: int64
              x-go-name: DurationMs
              example: 5000
            event_id:
              description: Unique identifier for the event (UUID format, must be generated by client)
              type: string
              x-go-name: EventID
              example: 550e8400-e29b-41d4-a716-446655440000
            exit_code:
              description: Exit code of the command execution
              type: integer
              format: int64
              x-go-name: ExitCode
              example: 0
            has_config_file:
              description: Whether a config file was present
              type: boolean
              x-go-name: HasConfigFile
      responses:
        '201':
          $ref: '#/responses/cliTelemetryEventResponse'
        '400':
          $ref: '#/responses/responseErrBadRequest'
        '401':
          $ref: '#/responses/responseErrUnauthorized'
  /cli/telemetry/stats:
    post:
      security:
      - api_key: []
      description: 'Records resource count statistics for a CLI operation, including number of Helm charts,

        Kubernetes manifests, preflights, and support bundles. Also captures tool version information.


        Note: Authentication required. Team and user information is extracted automatically from the Bearer token.

        This endpoint is accessible to all authenticated users, including read-only users, to ensure comprehensive telemetry collection.'
      consumes:
      - application/json
      produces:
      - application/json
      schemes:
      - https
      tags:
      - telemetry
      summary: Record CLI resource statistics
      operationId: postCliTelemetryStats
      parameters:
      - name: Body
        in: body
        required: true
        schema:
          type: object
          required:
          - command
          properties:
            command:
              description: Name of the CLI command
              type: string
              x-go-name: Command
              example: release create
            helm_charts:
              description: Number of Helm charts in the release
              type: integer
              format: int64
              x-go-name: HelmCharts
              example: 3
            k8s_manifests:
              description: Number of Kubernetes manifests in the release
              type: integer
              format: int64
              x-go-name: K8sManifests
              example: 45
            preflights:
              description: Number of preflight checks
              type: integer
              format: int64
              x-go-name: Preflights
              example: 2
            support_bundles:
              description: Number of support bundle definitions
              type: integer
              format: int64
              x-go-name: SupportBundles
              example: 1
            tool_versions:
              description: Versions of tools used (e.g., helm, kubectl)
              type: object
              additionalProperties:
                type: string
              x-go-name: ToolVersions
              example:
                helm: 3.12.0
                kubectl: 1.28.0
      responses:
        '201':
          $ref: '#/responses/cliTelemetryStatsResponse'
        '400':
          $ref: '#/responses/responseErrBadRequest'
        '401':
          $ref: '#/responses/responseErrUnauthorized'
responses:
  responseErrUnauthorized:
    description: Return if the caller is not authorized
    schema:
      type: object
      properties:
        message:
          type: string
          x-go-name: Message
  cliTelemetryEventResponse:
    description: CliTelemetryEventResponse represents the response from creating a telemetry event
    schema:
      type: object
      properties:
        event_id:
          description: Unique identifier for the event (UUID format)
          type: string
          x-go-name: EventID
          example: 550e8400-e29b-41d4-a716-446655440000
  responseErrBadRequest:
    description: Returned on bad input
    schema:
      type: object
      properties:
        error_code:
          description: Error code if available
          type: string
          x-go-name: ErrorCode
        message:
          description: Error message text if available
          type: string
          x-go-name: Message
  cliTelemetryStatsResponse:
    description: CliTelemetryStatsResponse represents the response from recording stats
    schema:
      type: object
      properties:
        status:
          description: Status indicator
          type: string
          x-go-name: Status
          example: ok
  cliTelemetryErrorResponse:
    description: CliTelemetryErrorResponse represents the response from recording an error
    schema:
      type: object
      properties:
        status:
          description: Status indicator
          type: string
          x-go-name: Status
          example: ok
securityDefinitions:
  api_key:
    type: apiKey
    name: Authorization
    in: header