Gitpod gitpod.v1.UsageService API

UsageService provides usage information about environments, users, and projects.

OpenAPI Specification

gitpod-gitpod-v1-usageservice-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: gitpod.v1 gitpod.v1.AccountService gitpod.v1.UsageService API
  version: v1.0.0
  description: UsageService provides usage information about environments, users, and projects.
servers:
- url: https://api.gitpod.io
  description: Gitpod API
tags:
- description: UsageService provides usage information about environments, users, and projects.
  name: gitpod.v1.UsageService
  x-displayName: gitpod.v1.UsageService
paths:
  /gitpod.v1.UsageService/GetActiveEnvironmentsCount:
    servers: []
    post:
      description: Gets the count of active environments in the specified date range.
      operationId: gitpod.v1.UsageService.GetActiveEnvironmentsCount
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/gitpod.v1.GetActiveEnvironmentsCountRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.GetActiveEnvironmentsCountResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: GetActiveEnvironmentsCount
      tags:
      - gitpod.v1.UsageService
  /gitpod.v1.UsageService/GetActiveEnvironmentsTimeSeries:
    servers: []
    post:
      description: Gets the active environments time series in the specified date range, aggregated by the specified resolution.
      operationId: gitpod.v1.UsageService.GetActiveEnvironmentsTimeSeries
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/gitpod.v1.GetActiveEnvironmentsTimeSeriesRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.GetActiveEnvironmentsTimeSeriesResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: GetActiveEnvironmentsTimeSeries
      tags:
      - gitpod.v1.UsageService
  /gitpod.v1.UsageService/GetActiveUsersCount:
    servers: []
    post:
      description: "Gets the count of active users.\n\n Returns the count of unique users who were active within the specified date range."
      operationId: gitpod.v1.UsageService.GetActiveUsersCount
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/gitpod.v1.GetActiveUsersCountRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.GetActiveUsersCountResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: GetActiveUsersCount
      tags:
      - gitpod.v1.UsageService
  /gitpod.v1.UsageService/GetActiveUsersTimeSeries:
    servers: []
    post:
      description: "Gets active users time series in the specified date range, aggregated by the specified resolution.\n\n Returns a time series of active user counts within the specified date range, aggregated by the specified resolution.\n Each data point includes the timestamp and the count of unique users who were active at that time."
      operationId: gitpod.v1.UsageService.GetActiveUsersTimeSeries
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/gitpod.v1.GetActiveUsersTimeSeriesRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.GetActiveUsersTimeSeriesResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: GetActiveUsersTimeSeries
      tags:
      - gitpod.v1.UsageService
  /gitpod.v1.UsageService/GetAdoptionUsageSummary:
    servers: []
    post:
      description: "Gets a summary of adoption and usage metrics for the insight card.\n\n Returns all scalar values, trends, and a sparkline for the Adoption & Usage\n insight category. Designed for the Project Home page card and similar summary\n views. For full-resolution time series, use the individual time series RPCs."
      operationId: gitpod.v1.UsageService.GetAdoptionUsageSummary
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/gitpod.v1.GetAdoptionUsageSummaryRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.GetAdoptionUsageSummaryResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: GetAdoptionUsageSummary
      tags:
      - gitpod.v1.UsageService
  /gitpod.v1.UsageService/GetAgentTraceSummary:
    servers: []
    post:
      description: Gets aggregated agent trace summary for the organization or a specific project.
      operationId: gitpod.v1.UsageService.GetAgentTraceSummary
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/gitpod.v1.GetAgentTraceSummaryRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.GetAgentTraceSummaryResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: GetAgentTraceSummary
      tags:
      - gitpod.v1.UsageService
  /gitpod.v1.UsageService/GetAgentTraceTimeSeries:
    servers: []
    post:
      description: Gets agent trace data as a time series.
      operationId: gitpod.v1.UsageService.GetAgentTraceTimeSeries
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/gitpod.v1.GetAgentTraceTimeSeriesRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.GetAgentTraceTimeSeriesResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: GetAgentTraceTimeSeries
      tags:
      - gitpod.v1.UsageService
  /gitpod.v1.UsageService/GetCoAuthorSummary:
    servers: []
    post:
      description: Gets aggregated co-author summary for the organization or a specific project.
      operationId: gitpod.v1.UsageService.GetCoAuthorSummary
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/gitpod.v1.GetCoAuthorSummaryRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.GetCoAuthorSummaryResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: GetCoAuthorSummary
      tags:
      - gitpod.v1.UsageService
  /gitpod.v1.UsageService/GetCoAuthorTimeSeries:
    servers: []
    post:
      description: Gets co-author contribution data as a time series.
      operationId: gitpod.v1.UsageService.GetCoAuthorTimeSeries
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/gitpod.v1.GetCoAuthorTimeSeriesRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.GetCoAuthorTimeSeriesResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: GetCoAuthorTimeSeries
      tags:
      - gitpod.v1.UsageService
  /gitpod.v1.UsageService/GetEnvironmentRuntime:
    servers: []
    post:
      description: Gets the total runtime of all environments in the specified date range.
      operationId: gitpod.v1.UsageService.GetEnvironmentRuntime
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/gitpod.v1.GetEnvironmentRuntimeRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.GetEnvironmentRuntimeResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: GetEnvironmentRuntime
      tags:
      - gitpod.v1.UsageService
  /gitpod.v1.UsageService/GetEnvironmentRuntimeTimeSeries:
    servers: []
    post:
      description: Gets the total runtime time series in the specified date range, aggregated by the specified resolution.
      operationId: gitpod.v1.UsageService.GetEnvironmentRuntimeTimeSeries
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/gitpod.v1.GetEnvironmentRuntimeTimeSeriesRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.GetEnvironmentRuntimeTimeSeriesResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: GetEnvironmentRuntimeTimeSeries
      tags:
      - gitpod.v1.UsageService
  /gitpod.v1.UsageService/GetEnvironmentSessionsTimeSeries:
    servers: []
    post:
      description: "Gets the environment sessions time series in the specified date range, aggregated by the specified resolution.\n\n Environment sessions count total environment starts (environment.started events),\n as opposed to GetActiveEnvironmentsTimeSeries which counts distinct environment IDs."
      operationId: gitpod.v1.UsageService.GetEnvironmentSessionsTimeSeries
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/gitpod.v1.GetEnvironmentSessionsTimeSeriesRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.GetEnvironmentSessionsTimeSeriesResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: GetEnvironmentSessionsTimeSeries
      tags:
      - gitpod.v1.UsageService
  /gitpod.v1.UsageService/GetPrSummary:
    servers: []
    post:
      description: Gets aggregated PR speed summary for the organization or a specific project.
      operationId: gitpod.v1.UsageService.GetPrSummary
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/gitpod.v1.GetPrSummaryRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.GetPrSummaryResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: GetPrSummary
      tags:
      - gitpod.v1.UsageService
  /gitpod.v1.UsageService/GetPrTimeSeries:
    servers: []
    post:
      description: Gets PR speed metrics as a time series.
      operationId: gitpod.v1.UsageService.GetPrTimeSeries
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/gitpod.v1.GetPrTimeSeriesRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.GetPrTimeSeriesResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: GetPrTimeSeries
      tags:
      - gitpod.v1.UsageService
  /gitpod.v1.UsageService/GetTopActiveUsers:
    servers: []
    post:
      description: "Gets the top active users based on total runtime.\n\n Returns a list of users sorted by their total environment runtime within the specified date range.\n Each result includes the user ID, name (if available), and their total environment runtime in seconds."
      operationId: gitpod.v1.UsageService.GetTopActiveUsers
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/gitpod.v1.GetTopActiveUsersRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.GetTopActiveUsersResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: GetTopActiveUsers
      tags:
      - gitpod.v1.UsageService
  /gitpod.v1.UsageService/GetTopEnvironmentClasses:
    servers: []
    post:
      description: Gets the top environment classes by total runtime in the specified date range.
      operationId: gitpod.v1.UsageService.GetTopEnvironmentClasses
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/gitpod.v1.GetTopEnvironmentClassesRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.GetTopEnvironmentClassesResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: GetTopEnvironmentClasses
      tags:
      - gitpod.v1.UsageService
  /gitpod.v1.UsageService/GetTopProjects:
    servers: []
    post:
      description: Gets the top projects by total environment runtime in the specified date range.
      operationId: gitpod.v1.UsageService.GetTopProjects
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/gitpod.v1.GetTopProjectsRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.GetTopProjectsResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: GetTopProjects
      tags:
      - gitpod.v1.UsageService
  /gitpod.v1.UsageService/ListEnvironmentUsageRecords:
    servers: []
    post:
      description: "Lists completed environment runtime records within a specified date range.\n\n Returns a list of environment runtime records that were completed within the specified date range. Records of currently running environments are not included.\n\n Use this method to:\n - View environment runtime records\n - Filter by project\n - Create custom usage reports\n\n ### Example\n\n ```yaml\n filter:\n   projectId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n   dateRange:\n     startTime: \"2024-01-01T00:00:00Z\"\n     endTime: \"2024-01-02T00:00:00Z\"\n pagination:\n   pageSize: 100\n ```"
      operationId: gitpod.v1.UsageService.ListEnvironmentUsageRecords
      parameters:
      - in: query
        name: pageSize
        schema:
          default: 25
          maximum: 100
          minimum: 0
          type: integer
      - in: query
        name: token
        schema:
          default: ''
          type: string
      requestBody:
        content:
          application/json:
            examples:
              create_custom_usage_reports:
                description: ''
                value:
                  filter:
                    dateRange:
                      endTime: '2024-01-02T00:00:00Z'
                      startTime: '2024-01-01T00:00:00Z'
                    projectId: d2c94c27-3b76-4a42-b88c-95a85e392c68
                  pagination:
                    pageSize: 100
            schema:
              $ref: '#/components/schemas/gitpod.v1.ListEnvironmentUsageRecordsRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.ListEnvironmentUsageRecordsResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: ListEnvironmentUsageRecords
      tags:
      - gitpod.v1.UsageService
components:
  schemas:
    gitpod.v1.GetAgentTraceTimeSeriesResponse:
      additionalProperties: false
      properties:
        timeSeries:
          description: Time series of agent trace stats, bucketed by the requested resolution.
          items:
            $ref: '#/components/schemas/gitpod.v1.AgentTraceTimeBucket'
          title: time_series
          type: array
      title: GetAgentTraceTimeSeriesResponse
      type: object
    gitpod.v1.AgentTraceTimeBucket:
      additionalProperties: false
      description: AgentTraceTimeBucket contains stats for a single time period.
      properties:
        byModel:
          description: Per-model breakdown for this bucket.
          items:
            $ref: '#/components/schemas/gitpod.v1.AgentTraceModelBreakdown'
          title: by_model
          type: array
        startTime:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          description: Start of this time bucket.
          title: start_time
        totalLinesAdded:
          description: Total lines added in this bucket.
          title: total_lines_added
          type: string
        totalLinesRemoved:
          description: Total lines removed in this bucket.
          title: total_lines_removed
          type: string
        totalSessions:
          description: Number of agent trace sessions in this bucket.
          title: total_sessions
          type: string
      title: AgentTraceTimeBucket
      type: object
    gitpod.v1.GetTopEnvironmentClassesResponse.EnvironmentClassRuntimeInfo:
      additionalProperties: false
      properties:
        environmentClassId:
          description: Environment class ID. Not set for local runners.
          title: environment_class_id
          type: string
        environmentClassName:
          description: Environment class name if available.
          title: environment_class_name
          type: string
        runnerKind:
          $ref: '#/components/schemas/gitpod.v1.RunnerKind'
          description: Type of runner that created the environment class.
          title: runner_kind
        runnerName:
          description: Name of the runner that created the environment class.
          title: runner_name
          type: string
        totalRuntimeSeconds:
          description: Total runtime in seconds.
          title: total_runtime_seconds
          type: string
      title: EnvironmentClassRuntimeInfo
      type: object
    gitpod.v1.GetTopEnvironmentClassesRequest:
      additionalProperties: false
      properties:
        dateRange:
          $ref: '#/components/schemas/gitpod.v1.DateRange'
          description: Date range to query metrics within.
          title: date_range
        pagination:
          $ref: '#/components/schemas/gitpod.v1.PaginationRequest'
          description: Pagination options.
          title: pagination
        projectId:
          description: Optional project ID to filter metrics by.
          title: project_id
          type: string
      required:
      - dateRange
      title: GetTopEnvironmentClassesRequest
      type: object
    gitpod.v1.CoAuthorTimeBucket:
      additionalProperties: false
      description: CoAuthorTimeBucket contains stats for a single time period.
      properties:
        aiRatio:
          description: Ratio of AI-assisted lines added to total lines added (0.0–1.0).
          format: double
          title: ai_ratio
          type: number
        byTool:
          description: Per-tool breakdown for this bucket.
          items:
            $ref: '#/components/schemas/gitpod.v1.ToolBreakdown'
          title: by_tool
          type: array
        distinctAuthors:
          description: Number of distinct authors (by author_hash) in this bucket.
          title: distinct_authors
          type: string
        startTime:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          description: Start of this time bucket.
          title: start_time
        totalCommits:
          description: Total number of commits in this bucket (across all tools).
          title: total_commits
          type: string
        totalLinesAdded:
          description: Total lines added in this bucket (across all tools).
          title: total_lines_added
          type: string
        totalLinesRemoved:
          description: Total lines removed in this bucket (across all tools).
          title: total_lines_removed
          type: string
      title: CoAuthorTimeBucket
      type: object
    gitpod.v1.GetActiveEnvironmentsCountResponse:
      additionalProperties: false
      properties:
        count:
          description: Count of active environments in the date range.
          title: count
          type: string
        trend:
          description: "Fractional change in active environments vs previous period.\n Computed as (current - previous) / previous."
          format: double
          title: trend
          type: number
      title: GetActiveEnvironmentsCountResponse
      type: object
    gitpod.v1.PrTimeBucket:
      additionalProperties: false
      description: PrTimeBucket contains PR speed metrics for a single time period.
      properties:
        deploys:
          description: Total number of deploys (merged PRs) in this bucket.
          title: deploys
          type: string
        leadTimeSeconds:
          description: Median lead time in seconds for PRs merged in this bucket.
          format: double
          title: lead_time_seconds
          type: number
        prsMergedCount:
          description: Number of PRs merged in this bucket.
          title: prs_merged_count
          type: string
        startTime:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          description: Start of this time bucket.
          title: start_time
        timeToFirstApprovalSeconds:
          description: "Median time to first approval in seconds for PRs in this bucket.\n Zero when no PRs in the bucket had approvals."
          format: double
          title: time_to_first_approval_seconds
          type: number
      title: PrTimeBucket
      type: object
    gitpod.v1.GetActiveEnvironmentsTimeSeriesRequest:
      additionalProperties: false
      properties:
        dateRange:
          $ref: '#/components/schemas/gitpod.v1.DateRange'
          description: Date range to query metrics within.
          title: date_range
        projectId:
          description: Optional project ID to filter metrics by.
          title: project_id
          type: string
        resolution:
          $ref: '#/components/schemas/gitpod.v1.Resolution'
          description: Time resolution for the series data.
          title: resolution
      required:
      - dateRange
      title: GetActiveEnvironmentsTimeSeriesRequest
      type: object
    gitpod.v1.GetEnvironmentSessionsTimeSeriesRequest:
      additionalProperties: false
      properties:
        dateRange:
          $ref: '#/components/schemas/gitpod.v1.DateRange'
          description: Date range to query metrics within.
          title: date_range
        projectId:
          description: Optional project ID to filter metrics by.
          title: project_id
          type: string
        resolution:
          $ref: '#/components/schemas/gitpod.v1.Resolution'
          description: Time resolution for the series data.
          title: resolution
      required:
      - dateRange
      title: GetEnvironmentSessionsTimeSeriesRequest
      type: object
    connect.error:
      additionalProperties: true
      description: 'Error type returned by Connect: https://connectrpc.com/docs/go/errors/#http-representation'
      properties:
        code:
          description: The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
          enum:
          - canceled
          - unknown
          - invalid_argument
          - deadline_exceeded
          - not_found
          - already_exists
          - permission_denied
          - resource_exhausted
          - failed_precondition
          - aborted
          - out_of_range
          - unimplemented
          - internal
          - unavailable
          - data_loss
          - unauthenticated
          example:
          - not_found
          type: string
        message:
          description: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
          type: string
      title: Connect Error
      type: object
    gitpod.v1.AgentTraceSummary:
      additionalProperties: false
      description: AgentTraceSummary contains aggregate totals for a date range.
      properties:
        byModel:
          description: Per-model breakdown of session stats.
          items:
            $ref: '#/components/schemas/gitpod.v1.AgentTraceModelBreakdown'
          title: by_model
          type: array
        totalLinesAdded:
          description: Total lines added across all sessions.
          title: total_lines_added
          type: string
        totalLinesAddedTrend:
          description: Fractional change in total_lines_added compared to the previous period.
          format: double
          title: total_lines_added_trend
          type: number
        totalLinesRemoved:
          description: Total lines removed across all sessions.
          title: total_lines_removed
          type: string
        totalLinesRemovedTrend:
          description: Fractional change in total_lines_removed compared to the previous period.
          format: double
          title: total_lines_removed_trend
          type: number
        totalSessions:
          description: Total number of agent trace sessions in the date range.
          title: total_sessions
          type: string
        totalSessionsTrend:
          description: "Fractional change in total_sessions compared to the previous period of\n equal length. Computed as (current - previous) / previous. Zero when there\n is no previous data."
          format: double
          title: total_sessions_trend
          type: number
      title: AgentTraceSummary
      type: object
    gitpod.v1.GetTopEnvironmentClassesResponse:
      additionalProperties: false
      properties:
        environmentClasses:
          description: List of environment classes sorted by total runtime (descending). All environment classes belonging to local runners are grouped together.
          items:
            $ref: '#/components/schemas/gitpod.v1.GetTopEnvironmentClassesResponse.EnvironmentClassRuntimeInfo'
          title: environment_classes
          type: array
        pagination:
          $ref: '#/components/schemas/gitpod.v1.PaginationResponse'
          title: pagination
      title: GetTopEnvironmentClassesResponse
      type: object
    gitpod.v1.GetPrSummaryRequest:
      additionalProperties: false
      properties:
        dateRange:
          $ref: '#/components/schemas/gitpod.v1.DateRange'
          description: Date range to query within.
          title: date_range
        projectId:
          description: Optional project ID to scope results.
          title: project_id
          type: string
        teamId:
          description: "Optional team ID to scope results to a specific team.\n Mutually exclusive with user_id."
          title: team_id
          type: string
        userId:
          description: "Optional user ID to scope results to a specific user.\n Mutually exclusive with team_id."
          title: user_id
          type: string
      required:
      - dateRange
      title: GetPrSummaryRequest
      type: object
    gitpod.v1.GetAgentTraceSummaryRequest:
      additionalProperties: false
      properties:
        dateRange:
          $ref: '#/components/schemas/gitpod.v1.DateRange'
          description: Date range to query within.
          title: date_range
        projectId:
          description: Optional project ID to scope results.
          title: project_id
          type: string
        teamId:
          description: "Optional team ID to scope results to a specific team.\n Mutually exclusive with user_id."
          title: team_id
          type: string
        userId:
          description: "Optional user ID to scope results to a specific user.\n Mutually exclusive with team_id."
          title: user_id
          type: string
      required:
      - dateRange
      title: GetAgentTraceSummaryRequest
      type: object
    gitpod.v1.ListEnvironmentUsageRecordsRequest.Filter:
      additionalProperties: false
      properties:
        dateRange:
          $ref: '#/components/schemas/gitpod.v1.DateRange'
          description: Date range to query runtime records within.
          title: date_range
        projectId:
          description: Optional project ID to fi

# --- truncated at 32 KB (66 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/gitpod/refs/heads/main/openapi/gitpod-gitpod-v1-usageservice-api-openapi.yml