Gitpod gitpod.v1.InsightsService API

InsightsService provides AI code attribution analytics for projects. The CLI reports per-commit co-author data from git history, and the dashboard reads aggregated stats.

Operations 10

POST /gitpod.v1.InsightsService/DisableProjectInsights DisableProjectInsights #
POST /gitpod.v1.InsightsService/EnableProjectInsights EnableProjectInsights #
POST /gitpod.v1.InsightsService/GetAgentTraceStats GetAgentTraceStats #
POST /gitpod.v1.InsightsService/GetCoAuthorStats GetCoAuthorStats #
POST /gitpod.v1.InsightsService/GetInsightsSummary GetInsightsSummary #
POST /gitpod.v1.InsightsService/GetPrStatsSummary GetPrStatsSummary #
POST /gitpod.v1.InsightsService/GetProjectInsightsStatus GetProjectInsightsStatus #
POST /gitpod.v1.InsightsService/ReportAgentTrace ReportAgentTrace #
POST /gitpod.v1.InsightsService/ReportCoAuthorStats ReportCoAuthorStats #
POST /gitpod.v1.InsightsService/ReportPrStats ReportPrStats #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/gitpod-gitpod-v1-insightsservice-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

gitpod-gitpod-v1-insightsservice-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: gitpod.v1 gitpod.v1.AccountService Gitpod.v1.Insights Service API
  version: v1.0.0
  description: "InsightsService provides AI code attribution analytics for projects.\n The CLI reports per-commit co-author data from git history, and the\n dashboard reads aggregated stats."
servers:
- url: https://api.gitpod.io
  description: Gitpod API
tags:
- description: "InsightsService provides AI code attribution analytics for projects.\n The CLI reports per-commit co-author data from git history, and the\n dashboard reads aggregated stats."
  name: gitpod.v1.InsightsService
  x-displayName: gitpod.v1.InsightsService
paths:
  /gitpod.v1.InsightsService/DisableProjectInsights:
    servers: []
    post:
      description: "Disables co-author insights for a project. Idempotent.\n Removes the associated workflow (if any) and sets enabled to false."
      operationId: gitpod.v1.InsightsService.DisableProjectInsights
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/gitpod.v1.DisableProjectInsightsRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.DisableProjectInsightsResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: DisableProjectInsights
      tags:
      - gitpod.v1.InsightsService
  /gitpod.v1.InsightsService/EnableProjectInsights:
    servers: []
    post:
      description: Enables co-author insights for a project. Idempotent.
      operationId: gitpod.v1.InsightsService.EnableProjectInsights
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/gitpod.v1.EnableProjectInsightsRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.EnableProjectInsightsResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: EnableProjectInsights
      tags:
      - gitpod.v1.InsightsService
  /gitpod.v1.InsightsService/GetAgentTraceStats:
    servers: []
    post:
      deprecated: true
      description: "Deprecated: Use UsageService.GetAgentTraceSummary and\n UsageService.GetAgentTraceTimeSeries instead."
      operationId: gitpod.v1.InsightsService.GetAgentTraceStats
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/gitpod.v1.GetAgentTraceStatsRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.GetAgentTraceStatsResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: GetAgentTraceStats
      tags:
      - gitpod.v1.InsightsService
  /gitpod.v1.InsightsService/GetCoAuthorStats:
    servers: []
    post:
      deprecated: true
      description: "Deprecated: Use UsageService.GetCoAuthorSummary and\n UsageService.GetCoAuthorTimeSeries instead.\n This will later be removed."
      operationId: gitpod.v1.InsightsService.GetCoAuthorStats
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/gitpod.v1.GetCoAuthorStatsRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.GetCoAuthorStatsResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: GetCoAuthorStats
      tags:
      - gitpod.v1.InsightsService
  /gitpod.v1.InsightsService/GetInsightsSummary:
    servers: []
    post:
      description: Returns how many projects have insights enabled vs total projects in the org.
      operationId: gitpod.v1.InsightsService.GetInsightsSummary
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/gitpod.v1.GetInsightsSummaryRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.GetInsightsSummaryResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: GetInsightsSummary
      tags:
      - gitpod.v1.InsightsService
  /gitpod.v1.InsightsService/GetPrStatsSummary:
    servers: []
    post:
      deprecated: true
      description: "Deprecated: Use UsageService.GetPrSummary and\n UsageService.GetPrTimeSeries instead."
      operationId: gitpod.v1.InsightsService.GetPrStatsSummary
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/gitpod.v1.GetPrStatsSummaryRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.GetPrStatsSummaryResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: GetPrStatsSummary
      tags:
      - gitpod.v1.InsightsService
  /gitpod.v1.InsightsService/GetProjectInsightsStatus:
    servers: []
    post:
      description: Returns whether co-author insights is enabled for a project.
      operationId: gitpod.v1.InsightsService.GetProjectInsightsStatus
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/gitpod.v1.GetProjectInsightsStatusRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.GetProjectInsightsStatusResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: GetProjectInsightsStatus
      tags:
      - gitpod.v1.InsightsService
  /gitpod.v1.InsightsService/ReportAgentTrace:
    servers: []
    post:
      description: "Reports an agent trace session for a project environment.\n Stores the raw trace alongside denormalized line-change totals."
      operationId: gitpod.v1.InsightsService.ReportAgentTrace
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/gitpod.v1.ReportAgentTraceRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.ReportAgentTraceResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: ReportAgentTrace
      tags:
      - gitpod.v1.InsightsService
  /gitpod.v1.InsightsService/ReportCoAuthorStats:
    servers: []
    post:
      description: "Reports co-author analysis results from a project's git history.\n Accepts a batch of per-commit stats. Writes are idempotent: re-reporting\n the same commit (project_id + commit_hash) overwrites the previous row."
      operationId: gitpod.v1.InsightsService.ReportCoAuthorStats
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/gitpod.v1.ReportCoAuthorStatsRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.ReportCoAuthorStatsResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: ReportCoAuthorStats
      tags:
      - gitpod.v1.InsightsService
  /gitpod.v1.InsightsService/ReportPrStats:
    servers: []
    post:
      description: "Reports PR speed metrics collected from SCM APIs.\n Accepts a batch of per-PR stats. Writes are idempotent: re-reporting\n the same PR (project_id + pr_number) overwrites the previous row."
      operationId: gitpod.v1.InsightsService.ReportPrStats
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/gitpod.v1.ReportPrStatsRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.ReportPrStatsResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: ReportPrStats
      tags:
      - gitpod.v1.InsightsService
components:
  schemas:
    gitpod.v1.GetProjectInsightsStatusRequest:
      additionalProperties: false
      description: GetProjectInsightsStatusRequest checks whether insights is enabled for a project.
      properties:
        projectId:
          description: Project to check.
          format: uuid
          title: project_id
          type: string
      title: GetProjectInsightsStatusRequest
      type: object
    gitpod.v1.ReportAgentTraceRequest:
      additionalProperties: false
      description: "ReportAgentTraceRequest pushes an agent trace session containing one or more\n trace lines (typically JSONL) for storage."
      properties:
        agentExecutionId:
          description: Agent execution that produced the trace.
          format: uuid
          title: agent_execution_id
          type: string
        environmentId:
          description: Environment that produced the trace.
          format: uuid
          title: environment_id
          type: string
        linesAdded:
          description: Total lines added across all edits in the trace session.
          title: lines_added
          type: string
        linesRemoved:
          description: Total lines removed across all edits in the trace session.
          title: lines_removed
          type: string
        model:
          $ref: '#/components/schemas/gitpod.v1.SupportedModel'
          description: The LLM model used during this agent session.
          title: model
        projectId:
          description: Project the trace belongs to.
          format: uuid
          title: project_id
          type: string
        traces:
          description: "Individual trace lines (typically one JSON object per line).\n May be empty when only line-count aggregates are reported.\n Each line is capped at 5 MiB."
          items:
            maxLength: 5242880
            minLength: 1
            type: string
          title: traces
          type: array
      title: ReportAgentTraceRequest
      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.CommitCoAuthorStat:
      additionalProperties: false
      description: CommitCoAuthorStat represents co-author data for a single commit.
      properties:
        authorHash:
          description: "One-way hash of the author email. Enables distinct author counts\n without storing PII."
          maxLength: 128
          minLength: 1
          title: author_hash
          type: string
        commitDate:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          description: Author date of the commit.
          title: commit_date
        commitHash:
          description: SHA of the commit. Used with project_id as the idempotency key.
          maxLength: 64
          minLength: 1
          title: commit_hash
          type: string
        linesAdded:
          description: Lines added in this commit.
          title: lines_added
          type: string
        linesRemoved:
          description: Lines removed in this commit.
          title: lines_removed
          type: string
        rawCoauthor:
          description: "Raw co-author email address from the Co-authored-by trailer.\n Empty when there is no co-author trailer. Stored verbatim so the\n backend can reclassify historical data when new AI tools are added."
          maxLength: 320
          title: raw_coauthor
          type: string
        tool:
          $ref: '#/components/schemas/gitpod.v1.CoAuthorTool'
          description: "Which tool co-authored this commit, NO_COAUTHOR for solo commits,\n or HUMAN_COAUTHOR for human pair-programming.\n UNSPECIFIED is rejected — callers must always set a concrete value."
          not:
            enum:
            - 0
          title: tool
      required:
      - commitDate
      title: CommitCoAuthorStat
      type: object
    gitpod.v1.ReportPrStatsRequest:
      additionalProperties: false
      description: ReportPrStatsRequest is sent by the CLI to push PR speed metrics.
      properties:
        projectId:
          description: Project that was analyzed.
          format: uuid
          title: project_id
          type: string
        stats:
          description: Per-PR stats to upsert.
          items:
            $ref: '#/components/schemas/gitpod.v1.PullRequestStat'
          maxItems: 10000
          minItems: 1
          title: stats
          type: array
      title: ReportPrStatsRequest
      type: object
    gitpod.v1.ToolBreakdown:
      additionalProperties: false
      description: ToolBreakdown contains stats for a single AI tool (or human).
      properties:
        commits:
          description: Number of commits attributed to this tool.
          title: commits
          type: string
        distinctAuthors:
          description: Distinct authors who used this tool.
          title: distinct_authors
          type: string
        linesAdded:
          description: Lines added by this tool.
          title: lines_added
          type: string
        linesRemoved:
          description: Lines removed by this tool.
          title: lines_removed
          type: string
        tool:
          $ref: '#/components/schemas/gitpod.v1.CoAuthorTool'
          description: The tool these stats are for.
          title: tool
      title: ToolBreakdown
      type: object
    gitpod.v1.SupportedModel:
      enum:
      - SUPPORTED_MODEL_UNSPECIFIED
      - SUPPORTED_MODEL_SONNET_3_5
      - SUPPORTED_MODEL_SONNET_3_7
      - SUPPORTED_MODEL_SONNET_3_7_EXTENDED
      - SUPPORTED_MODEL_SONNET_4
      - SUPPORTED_MODEL_SONNET_4_EXTENDED
      - SUPPORTED_MODEL_SONNET_4_5
      - SUPPORTED_MODEL_SONNET_4_5_EXTENDED
      - SUPPORTED_MODEL_SONNET_4_6
      - SUPPORTED_MODEL_SONNET_4_6_EXTENDED
      - SUPPORTED_MODEL_OPUS_4
      - SUPPORTED_MODEL_OPUS_4_EXTENDED
      - SUPPORTED_MODEL_OPUS_4_5
      - SUPPORTED_MODEL_OPUS_4_5_EXTENDED
      - SUPPORTED_MODEL_OPUS_4_6
      - SUPPORTED_MODEL_OPUS_4_6_EXTENDED
      - SUPPORTED_MODEL_HAIKU_4_5
      - SUPPORTED_MODEL_OPENAI_4O
      - SUPPORTED_MODEL_OPENAI_4O_MINI
      - SUPPORTED_MODEL_OPENAI_O1
      - SUPPORTED_MODEL_OPENAI_O1_MINI
      title: SupportedModel
      type: string
    gitpod.v1.GetCoAuthorStatsRequest:
      additionalProperties: false
      description: "GetCoAuthorStatsRequest is used by the dashboard to read aggregated stats.\n When project_id is set, returns stats for that project only.\n When project_id is empty, aggregates across all projects in the org."
      properties:
        dateRange:
          $ref: '#/components/schemas/gitpod.v1.DateRange'
          description: Date range to query within.
          title: date_range
        organizationId:
          description: Organization to query stats for.
          format: uuid
          title: organization_id
          type: string
        projectId:
          description: "Optional. When set, scopes stats to this project only.\n When empty, aggregates across all projects in the org."
          title: project_id
          type: string
        resolution:
          $ref: '#/components/schemas/gitpod.v1.Resolution'
          description: Time resolution for the time series. Defaults to WEEKLY if unspecified.
          title: resolution
      required:
      - dateRange
      title: GetCoAuthorStatsRequest
      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.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.AgentTraceModelBreakdown:
      additionalProperties: false
      description: AgentTraceModelBreakdown contains stats for a single LLM model.
      properties:
        linesAdded:
          description: Lines added by sessions using this model.
          title: lines_added
          type: string
        linesRemoved:
          description: Lines removed by sessions using this model.
          title: lines_removed
          type: string
        model:
          $ref: '#/components/schemas/gitpod.v1.SupportedModel'
          description: The model these stats are for.
          title: model
        sessions:
          description: Number of sessions that used this model.
          title: sessions
          type: string
      title: AgentTraceModelBreakdown
      type: object
    gitpod.v1.PullRequestStat:
      additionalProperties: false
      description: PullRequestStat represents speed metrics for a single merged pull request.
      properties:
        authorLogin:
          description: Raw SCM username of the PR author (e.g. GitHub user.login, GitLab author.username).
          maxLength: 256
          minLength: 1
          title: author_login
          type: string
        createdAt:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          description: When the PR was opened.
          title: created_at
        firstApprovalAt:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          description: Timestamp of the earliest approving review. Unset when the PR had no approvals.
          title: first_approval_at
        firstCommitAt:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          description: Author date of the earliest commit on the PR branch.
          title: first_commit_at
        mergedAt:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          description: When the PR was merged.
          title: merged_at
        prNumber:
          description: "PR/MR number from the SCM provider. Together with project_id forms the\n idempotency key for upserts."
          format: int32
          title: pr_number
          type: integer
          exclusiveMinimum: 0
        scmProvider:
          $ref: '#/components/schemas/gitpod.v1.ScmProvider'
          description: SCM platform the PR was fetched from.
          not:
            enum:
            - 0
          title: scm_provider
        targetBranch:
          description: Branch the PR was merged into (e.g. "main").
          maxLength: 256
          minLength: 1
          title: target_branch
          type: string
      required:
      - createdAt
      - mergedAt
      - firstCommitAt
      title: PullRequestStat
      type: object
    gitpod.v1.DateRange:
      additionalProperties: false
      description: DateRange specifies a time period for queries.
      properties:
        endTime:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          description: End time of the date range (exclusive).
          title: end_time
        startTime:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          description: Start time of the date range (inclusive).
          title: start_time
      required:
      - startTime
      - endTime
      title: DateRange
      type: object
    gitpod.v1.DisableProjectInsightsResponse:
      additionalProperties: false
      title: DisableProjectInsightsResponse
      type: object
    gitpod.v1.ReportAgentTraceResponse:
      additionalProperties: false
      title: ReportAgentTraceResponse
      type: object
    gitpod.v1.ReportPrStatsResponse:
      additionalProperties: false
      properties:
        insertedCount:
          description: Number of rows inserted (new PRs).
          title: inserted_count
          type: string
        updatedCount:
          description: Number of rows updated (re-reported PRs).
          title: updated_count
          type: string
      title: ReportPrStatsResponse
      type: object
    gitpod.v1.GetCoAuthorStatsResponse:
      additionalProperties: false
      properties:
        summary:
          $ref: '#/components/schemas/gitpod.v1.CoAuthorSummary'
          description: Summary totals for the requested date range.
          title: summary
        timeSeries:
          description: Time series of contribution stats, bucketed by the requested resolution.
          items:
            $ref: '#/components/schemas/gitpod.v1.CoAuthorTimeBucket'
          title: time_series
          type: array
      title: GetCoAuthorStatsResponse
      type: object
    gitpod.v1.EnableProjectInsightsResponse:
      additionalProperties: false
      title: EnableProjectInsightsResponse
      type: object
    google.protobuf.Timestamp:
      description: "A Timestamp represents a point in time independent of any time zone or local\n calendar, encoded as a count of seconds and fractions of seconds at\n nanosecond resolution. The count is relative to an epoch at UTC midnight on\n January 1, 1970, in the proleptic Gregorian calendar which extends the\n Gregorian calendar backwards to year one.\n\n All minutes are 60 seconds long. Leap seconds are \"smeared\" so that no leap\n second table is needed for interpretation, using a [24-hour linear\n smear](https://developers.google.com/time/smear).\n\n The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By\n restricting to that range, we ensure that we can convert to and from [RFC\n 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.\n\n # Examples\n\n Example 1: Compute Timestamp from POSIX `time()`.\n\n     Timestamp timestamp;\n     timestamp.set_seconds(time(NULL));\n     timestamp.set_nanos(0);\n\n Example 2: Compute Timestamp from POSIX `gettimeofday()`.\n\n     struct timeval tv;\n     gettimeofday(&tv, NULL);\n\n     Timestamp timestamp;\n     timestamp.set_seconds(tv.tv_sec);\n     timestamp.set_nanos(tv.tv_usec * 1000);\n\n Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.\n\n     FILETIME ft;\n     GetSystemTimeAsFileTime(&ft);\n     UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;\n\n     // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z\n     // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.\n     Timestamp timestamp;\n     timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));\n     timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));\n\n Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.\n\n     long millis = System.currentTimeMillis();\n\n     Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)\n         .setNanos((int) ((millis % 1000) * 1000000)).build();\n\n Example 5: Compute Timestamp from Java `Instant.now()`.\n\n     Instant now = Instant.now();\n\n     Timestamp timestamp =\n         Timestamp.newBuilder().setSeconds(now.getEpochSecond())\n             .setNanos(now.getNano()).build();\n\n Example 6: Compute Timestamp from current time in Python.\n\n     timestamp = Timestamp()\n     timestamp.GetCurrentTime()\n\n # JSON Mapping\n\n In JSON format, the Timestamp type is encoded as a string in the\n [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the\n format is \"{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z\"\n where {year} is always expressed using four digits while {month}, {day},\n {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional\n seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),\n are optional. The \"Z\" suffix indicates the timezone (\"UTC\"); the timezone\n is required. A proto3 JSON serializer should always use UTC (as indicated by\n \"Z\") when printing the Timestamp type and a proto3 JSON parser should be\n able to accept both UTC and other timezones (as indicated by an offset).\n\n For example, \"2017-01-15T01:30:15.01Z\" encodes 15.01 seconds past\n 01:30 UTC on January 15, 2017.\n\n In JavaScript, one can convert a Date object to this format using the\n standard\n [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)\n method. In Python, a standard `datetime.datetime` object can be converted\n to this format using\n [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with\n the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use\n the Joda Time's [`ISODateTimeFormat.dateTime()`](\n http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()\n ) to obtain a formatter capable of generating timestamps in this format."
      format: date-time
      type: string
    gitpod.v1.GetAgentTraceStatsRequest:
      additionalProperties: false
      description: "GetAgentTraceStatsRequest is used by the dashboard to read aggregated agent trace stats.\n When project_id is set, returns stats for that project only.\n When project_id is empty, aggregates across all projects in the org."
      properties:
        dateRange:
          $ref: '#/components/schemas/gitpod.v1.DateRange'
          description: Date range to query within.
          title: date_range
        organizationId:
          description: Organization to query stats for.
          format: uuid
          title: organization_id
          type: string
        projectId:
          description: "Optional. When set, scopes stats to this project only.\n When empty, aggregates across all projects in the org."
          title: project_id
          type: string
        resolution:
          $ref: '#/components/schemas/gitpod.v1.Resolution'
          description: Time resolution for the time series. Defaults to WEEKLY if unspecified.
          title: resolution
      required:
      - dateRange
      title: GetAgentTraceStatsRequest
      type: object
    gitpod.v1.GetPrStatsSummaryRequest:
      additionalProperties: false
      description: GetPrStatsSummaryRequest is used by the dashboard to read aggregated PR speed metrics.
      properties:
        dateRange:
          $ref: '#/components/schemas/gitpod.v1.DateRange'
          description: Date range to query within. PRs are filtered by merged_at.
          title: date_range
        projectId:
          description: Project to query stats for.
          format: uuid
          title: project_id
          type: string
      required:
      - dateRange
      title: GetPrStatsSummaryRequest
      type: object
    gitpod.v1.GetProjectInsightsStatusResponse:
      additionalProperties: false
      properties:
        enabled:
          description: Whether co-author insights is enabled for the project.
          title: enabled
          type: boolean
        lastRanAt:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          description: "When the insights workflow last completed successfully.\n Nil when enabled is true but no data has been collected yet (pending state)."
          title: last_ran_at
    

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