Gitpod gitpod.v1.ErrorsService API

ErrorsService provides endpoints for clients to report errors that will be sent to error reporting systems.

OpenAPI Specification

gitpod-gitpod-v1-errorsservice-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: gitpod.v1 gitpod.v1.AccountService gitpod.v1.ErrorsService API
  version: v1.0.0
  description: "ErrorsService provides endpoints for clients to report errors\n that will be sent to error reporting systems."
servers:
- url: https://api.gitpod.io
  description: Gitpod API
tags:
- description: "ErrorsService provides endpoints for clients to report errors\n that will be sent to error reporting systems."
  name: gitpod.v1.ErrorsService
  x-displayName: gitpod.v1.ErrorsService
paths:
  /gitpod.v1.ErrorsService/ReportErrors:
    servers: []
    post:
      description: "ReportErrors allows clients to report batches of errors that will be sent to error reporting systems.\n The structure is fully compatible with Sentry's event payload format.\n\n Use this method to:\n - Report client-side errors and exceptions\n - Track application crashes and panics\n - Send error context and metadata for debugging\n\n ### Examples\n\n - Report a JavaScript error with Sentry-compatible structure:\n   The service accepts events with comprehensive error information\n   including stack traces, identity context, breadcrumbs, and metadata\n   that align with Sentry's event payload format."
      operationId: gitpod.v1.ErrorsService.ReportErrors
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/gitpod.v1.ReportErrorsRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.ReportErrorsResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: ReportErrors
      tags:
      - gitpod.v1.ErrorsService
components:
  schemas:
    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.StackFrame:
      additionalProperties: false
      description: Stack trace frame information (Sentry-compatible)
      properties:
        colno:
          description: Column number in the line
          format: int32
          title: colno
          type: integer
        contextLine:
          maxLength: 1000
          title: context_line
          type: string
        filename:
          description: File name or path
          maxLength: 1000
          title: filename
          type: string
        function:
          description: Function name
          maxLength: 1000
          title: function
          type: string
        inApp:
          description: Whether this frame is in application code (vs library/framework code)
          title: in_app
          type: boolean
        lineno:
          description: Line number in the file
          format: int32
          title: lineno
          type: integer
        module:
          description: Module or package name
          maxLength: 1000
          title: module
          type: string
        postContext:
          items:
            maxItems: 10
            type: string
          maxItems: 10
          title: post_context
          type: array
        preContext:
          description: Source code context around the error line
          items:
            maxItems: 10
            type: string
          maxItems: 10
          title: pre_context
          type: array
        vars:
          additionalProperties:
            maxLength: 1000
            title: value
            type: string
          description: Additional frame-specific variables/locals
          maxProperties: 20
          title: vars
          type: object
      title: StackFrame
      type: object
    gitpod.v1.ExceptionInfo:
      additionalProperties: false
      description: Exception information (Sentry-compatible)
      properties:
        mechanism:
          $ref: '#/components/schemas/gitpod.v1.ExceptionMechanism'
          description: Exception mechanism
          title: mechanism
        module:
          description: Module or package where the exception type is defined
          maxLength: 200
          title: module
          type: string
        stacktrace:
          description: Stack trace frames
          items:
            $ref: '#/components/schemas/gitpod.v1.StackFrame'
          maxItems: 100
          title: stacktrace
          type: array
        threadId:
          description: Thread ID if applicable
          maxLength: 100
          title: thread_id
          type: string
        type:
          description: Exception type/class name
          maxLength: 200
          minLength: 1
          title: type
          type: string
        value:
          description: Exception message/value
          maxLength: 10000
          title: value
          type: string
      title: ExceptionInfo
      type: object
    gitpod.v1.ReportErrorsRequest:
      additionalProperties: false
      description: ReportErrorsRequest contains the error information to be reported
      properties:
        events:
          description: Error events to be reported (batch) - now using Sentry-compatible structure
          items:
            $ref: '#/components/schemas/gitpod.v1.ErrorEvent'
          maxItems: 100
          minItems: 1
          title: events
          type: array
      title: ReportErrorsRequest
      type: object
    gitpod.v1.ErrorEvent:
      additionalProperties: false
      description: ErrorEvent contains comprehensive error information (Sentry-compatible)
      properties:
        breadcrumbs:
          description: Breadcrumbs leading up to the error
          items:
            $ref: '#/components/schemas/gitpod.v1.Breadcrumb'
          maxItems: 100
          title: breadcrumbs
          type: array
        environment:
          description: Environment (e.g., "production", "staging", "development")
          maxLength: 100
          title: environment
          type: string
        eventId:
          description: Unique event identifier (required by Sentry)
          maxLength: 32
          minLength: 32
          pattern: ^[a-f0-9]{32}$
          title: event_id
          type: string
        exceptions:
          description: Exception information (primary error data)
          items:
            $ref: '#/components/schemas/gitpod.v1.ExceptionInfo'
          maxItems: 10
          minItems: 1
          title: exceptions
          type: array
        extra:
          additionalProperties:
            maxLength: 1000
            title: value
            type: string
          description: Additional arbitrary metadata
          maxProperties: 50
          title: extra
          type: object
        fingerprint:
          description: Custom fingerprint for grouping
          items:
            maxItems: 10
            maxLength: 200
            minLength: 1
            type: string
          maxItems: 10
          title: fingerprint
          type: array
        identityId:
          description: Identity ID of the user (UUID)
          pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
          title: identity_id
          type: string
        level:
          $ref: '#/components/schemas/gitpod.v1.ErrorLevel'
          description: Error severity level
          title: level
        logger:
          description: Logger name
          maxLength: 200
          title: logger
          type: string
        modules:
          additionalProperties:
            maxLength: 100
            title: value
            type: string
          description: Modules/dependencies information
          maxProperties: 100
          title: modules
          type: object
        platform:
          description: Platform identifier (required by Sentry)
          maxLength: 100
          minLength: 1
          title: platform
          type: string
        release:
          description: Release version
          maxLength: 200
          title: release
          type: string
        request:
          $ref: '#/components/schemas/gitpod.v1.RequestInfo'
          description: Request information
          title: request
        sdk:
          additionalProperties:
            maxLength: 200
            title: value
            type: string
          description: SDK information
          maxProperties: 10
          title: sdk
          type: object
        serverName:
          description: Server/host name
          maxLength: 200
          title: server_name
          type: string
        tags:
          additionalProperties:
            maxLength: 200
            title: value
            type: string
          description: Tags for filtering and grouping
          maxProperties: 50
          title: tags
          type: object
        timestamp:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          description: When the event occurred (required by Sentry)
          title: timestamp
        transaction:
          description: Transaction name (e.g., route name, function name)
          maxLength: 200
          title: transaction
          type: string
      title: ErrorEvent
      type: object
    gitpod.v1.ReportErrorsResponse:
      additionalProperties: false
      description: "ReportErrorsResponse confirms that the errors were successfully received\n Success is indicated by HTTP 200 status code, failures by other status codes Empty response - success indicated by HTTP status code"
      title: ReportErrorsResponse
      type: object
    gitpod.v1.ErrorLevel:
      description: Error severity levels (aligned with Sentry levels)
      enum:
      - ERROR_LEVEL_UNSPECIFIED
      - ERROR_LEVEL_DEBUG
      - ERROR_LEVEL_INFO
      - ERROR_LEVEL_WARNING
      - ERROR_LEVEL_ERROR
      - ERROR_LEVEL_FATAL
      title: ErrorLevel
      type: string
    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.RequestInfo:
      additionalProperties: false
      description: Request information (Sentry-compatible)
      properties:
        data:
          description: Request body (truncated if large)
          maxLength: 10000
          title: data
          type: string
        headers:
          additionalProperties:
            maxLength: 1000
            title: value
            type: string
          description: Request headers
          maxProperties: 50
          title: headers
          type: object
        method:
          description: HTTP method
          maxLength: 10
          title: method
          type: string
        queryString:
          additionalProperties:
            maxLength: 1000
            title: value
            type: string
          description: Query parameters
          maxProperties: 50
          title: query_string
          type: object
        url:
          description: Request URL
          maxLength: 2000
          title: url
          type: string
      title: RequestInfo
      type: object
    gitpod.v1.Breadcrumb:
      additionalProperties: false
      description: Breadcrumb information (Sentry-compatible)
      properties:
        category:
          description: Breadcrumb category
          maxLength: 100
          title: category
          type: string
        data:
          additionalProperties:
            maxLength: 1000
            title: value
            type: string
          description: Additional breadcrumb data
          maxProperties: 20
          title: data
          type: object
        level:
          $ref: '#/components/schemas/gitpod.v1.ErrorLevel'
          description: Breadcrumb level
          title: level
        message:
          description: Breadcrumb message
          maxLength: 1000
          title: message
          type: string
        timestamp:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          description: When the breadcrumb occurred
          title: timestamp
        type:
          description: Breadcrumb type (e.g., "navigation", "http", "user", "error")
          maxLength: 100
          title: type
          type: string
      title: Breadcrumb
      type: object
    gitpod.v1.ExceptionMechanism:
      additionalProperties: false
      description: Exception mechanism information (Sentry-compatible)
      properties:
        data:
          additionalProperties:
            maxLength: 1000
            title: value
            type: string
          description: Additional mechanism-specific data
          maxProperties: 20
          title: data
          type: object
        description:
          description: Human-readable description of the mechanism
          maxLength: 1000
          title: description
          type: string
        handled:
          description: Whether the exception was handled by user code
          title: handled
          type: boolean
        synthetic:
          description: Whether this is a synthetic exception (created by SDK)
          title: synthetic
          type: boolean
        type:
          description: Type of mechanism (e.g., "generic", "promise", "onerror")
          maxLength: 100
          minLength: 1
          title: type
          type: string
      title: ExceptionMechanism
      type: object
  securitySchemes:
    bearerAuth:
      bearerFormat: JWT
      scheme: bearer
      type: http
x-tagGroups:
- name: gitpod.v1
  tags:
  - gitpod.v1.AccountService
  - gitpod.v1.AgentService
  - gitpod.v1.AgentSecurityService
  - gitpod.v1.BillingService
  - gitpod.v1.EditorService
  - gitpod.v1.EnvironmentAutomationService
  - gitpod.v1.EnvironmentService
  - gitpod.v1.ErrorsService
  - gitpod.v1.EventService
  - gitpod.v1.GatewayService
  - gitpod.v1.GroupService
  - gitpod.v1.IdentityService
  - gitpod.v1.InsightsService
  - gitpod.v1.IntegrationService
  - gitpod.v1.NotificationService
  - gitpod.v1.OnaIntelligenceService
  - gitpod.v1.OrganizationService
  - gitpod.v1.PrebuildService
  - gitpod.v1.ProjectService
  - gitpod.v1.RunnerConfigurationService
  - gitpod.v1.RunnerInteractionService
  - gitpod.v1.RunnerManagerService
  - gitpod.v1.RunnerService
  - gitpod.v1.SecretService
  - gitpod.v1.ServiceAccountService
  - gitpod.v1.SessionService
  - gitpod.v1.TeamService
  - gitpod.v1.UsageService
  - gitpod.v1.UserService
  - gitpod.v1.WebhookService
  - gitpod.v1.WorkflowService