Gitpod gitpod.v1.UserService API

The gitpod.v1.UserService API from Gitpod — 14 operation(s) for gitpod.v1.userservice.

Operations 14

POST /gitpod.v1.UserService/CreatePersonalAccessToken CreatePersonalAccessToken #
POST /gitpod.v1.UserService/DeletePersonalAccessToken DeletePersonalAccessToken #
POST /gitpod.v1.UserService/DeletePreference DeletePreference #
POST /gitpod.v1.UserService/DeleteUser DeleteUser #
POST /gitpod.v1.UserService/GetAuthenticatedUser GetAuthenticatedUser #
POST /gitpod.v1.UserService/GetDotfilesConfiguration GetDotfilesConfiguration #
POST /gitpod.v1.UserService/GetPersonalAccessToken GetPersonalAccessToken #
POST /gitpod.v1.UserService/GetPreference GetPreference #
POST /gitpod.v1.UserService/GetUser GetUser #
POST /gitpod.v1.UserService/ListPersonalAccessTokens ListPersonalAccessTokens #
POST /gitpod.v1.UserService/ListPreferences ListPreferences #
POST /gitpod.v1.UserService/SetDotfilesConfiguration SetDotfilesConfiguration #
POST /gitpod.v1.UserService/SetPreference SetPreference #
POST /gitpod.v1.UserService/SetSuspended SetSuspended #

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-userservice-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-userservice-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: gitpod.v1 gitpod.v1.AccountService Gitpod.v1.User Service API
  version: v1.0.0
servers:
- url: https://api.gitpod.io
  description: Gitpod API
tags:
- name: gitpod.v1.UserService
  x-displayName: gitpod.v1.UserService
paths:
  /gitpod.v1.UserService/CreatePersonalAccessToken:
    servers: []
    post:
      description: "Creates a new personal access token for API authentication.\n\n Use this method to:\n - Generate API access tokens\n - Create service account credentials\n - Set up automated access\n\n ### Examples\n\n - Create token:\n\n   Creates a new access token valid for 30 days.\n\n   ```yaml\n   userId: \"f53d2330-3795-4c5d-a1f3-453121af9c60\"\n   description: \"CI/CD Pipeline Token\"\n   validFor: \"2592000s\"  # 30 days\n   ```"
      operationId: gitpod.v1.UserService.CreatePersonalAccessToken
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              create_token:
                description: Creates a new access token valid for 30 days.
                value:
                  description: CI/CD Pipeline Token
                  userId: f53d2330-3795-4c5d-a1f3-453121af9c60
                  validFor: 2592000s
            schema:
              $ref: '#/components/schemas/gitpod.v1.CreatePersonalAccessTokenRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.CreatePersonalAccessTokenResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: CreatePersonalAccessToken
      tags:
      - gitpod.v1.UserService
  /gitpod.v1.UserService/DeletePersonalAccessToken:
    servers: []
    post:
      description: "Deletes a personal access token.\n\n Use this method to:\n - Revoke token access\n - Remove unused tokens\n - Rotate credentials\n\n ### Examples\n\n - Delete token:\n\n   Permanently revokes a token.\n\n   ```yaml\n   personalAccessTokenId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n   ```"
      operationId: gitpod.v1.UserService.DeletePersonalAccessToken
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              delete_token:
                description: Permanently revokes a token.
                value:
                  personalAccessTokenId: d2c94c27-3b76-4a42-b88c-95a85e392c68
            schema:
              $ref: '#/components/schemas/gitpod.v1.DeletePersonalAccessTokenRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.DeletePersonalAccessTokenResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: DeletePersonalAccessToken
      tags:
      - gitpod.v1.UserService
  /gitpod.v1.UserService/DeletePreference:
    servers: []
    post:
      description: "Deletes a user preference.\n\n Use this method to:\n - Remove settings\n - Reset preferences\n - Clean up configurations\n\n ### Examples\n\n - Delete preference:\n\n   Removes a specific preference.\n\n   ```yaml\n   userPreferenceId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n   ```"
      operationId: gitpod.v1.UserService.DeletePreference
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              delete_preference:
                description: Removes a specific preference.
                value:
                  userPreferenceId: d2c94c27-3b76-4a42-b88c-95a85e392c68
            schema:
              $ref: '#/components/schemas/gitpod.v1.DeletePreferenceRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.DeletePreferenceResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: DeletePreference
      tags:
      - gitpod.v1.UserService
  /gitpod.v1.UserService/DeleteUser:
    servers: []
    post:
      description: Deletes a user. If the User comes from an organization's SSO provider, the Account will also be deleted.
      operationId: gitpod.v1.UserService.DeleteUser
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/gitpod.v1.DeleteUserRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.DeleteUserResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: DeleteUser
      tags:
      - gitpod.v1.UserService
  /gitpod.v1.UserService/GetAuthenticatedUser:
    servers: []
    post:
      description: "Gets information about the currently authenticated user.\n\n Use this method to:\n - Get user profile information\n - Check authentication status\n - Retrieve user settings\n - Verify account details\n\n ### Examples\n\n - Get current user:\n\n   Retrieves details about the authenticated user.\n\n   ```yaml\n   {}\n   ```"
      operationId: gitpod.v1.UserService.GetAuthenticatedUser
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              get_current_user:
                description: Retrieves details about the authenticated user.
                value: {}
            schema:
              $ref: '#/components/schemas/gitpod.v1.GetAuthenticatedUserRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.GetAuthenticatedUserResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: GetAuthenticatedUser
      tags:
      - gitpod.v1.UserService
  /gitpod.v1.UserService/GetDotfilesConfiguration:
    servers: []
    post:
      description: "Gets the dotfiles for a user.\n\n Use this method to:\n - Retrieve user dotfiles\n\n ### Examples\n\n - Get dotfiles:\n\n   Retrieves the dotfiles for the current user.\n\n   ```yaml\n   {}\n   ```"
      operationId: gitpod.v1.UserService.GetDotfilesConfiguration
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              get_dotfiles:
                description: Retrieves the dotfiles for the current user.
                value: {}
            schema:
              $ref: '#/components/schemas/gitpod.v1.GetDotfilesConfigurationRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.GetDotfilesConfigurationResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: GetDotfilesConfiguration
      tags:
      - gitpod.v1.UserService
  /gitpod.v1.UserService/GetPersonalAccessToken:
    servers: []
    post:
      description: "Gets details about a specific personal access token.\n\n Use this method to:\n - View token metadata\n - Check token expiration\n - Monitor token usage\n\n ### Examples\n\n - Get token details:\n\n   Retrieves information about a specific token.\n\n   ```yaml\n   personalAccessTokenId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n   ```"
      operationId: gitpod.v1.UserService.GetPersonalAccessToken
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              get_token_details:
                description: Retrieves information about a specific token.
                value:
                  personalAccessTokenId: d2c94c27-3b76-4a42-b88c-95a85e392c68
            schema:
              $ref: '#/components/schemas/gitpod.v1.GetPersonalAccessTokenRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.GetPersonalAccessTokenResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: GetPersonalAccessToken
      tags:
      - gitpod.v1.UserService
  /gitpod.v1.UserService/GetPreference:
    servers: []
    post:
      description: "Gets a specific user preference value.\n\n Use this method to:\n - Retrieve user settings\n - Read preference values\n - Check configurations\n\n ### Examples\n\n - Get preference:\n\n   Retrieves a specific preference value.\n\n   ```yaml\n   preferenceId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n   ```"
      operationId: gitpod.v1.UserService.GetPreference
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              get_preference:
                description: Retrieves a specific preference value.
                value:
                  preferenceId: d2c94c27-3b76-4a42-b88c-95a85e392c68
            schema:
              $ref: '#/components/schemas/gitpod.v1.GetPreferenceRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.GetPreferenceResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: GetPreference
      tags:
      - gitpod.v1.UserService
  /gitpod.v1.UserService/GetUser:
    servers: []
    post:
      description: "Gets basic information about a specific user by their ID.\n\n Use this method to:\n - Retrieve user profile information\n - Get user details for display purposes\n - Fetch user metadata for administrative tasks\n\n ### Examples\n\n - Get user by ID:\n\n   Retrieves basic user information by user ID.\n\n   ```yaml\n   userId: \"f53d2330-3795-4c5d-a1f3-453121af9c60\"\n   ```"
      operationId: gitpod.v1.UserService.GetUser
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              get_user_by_id:
                description: Retrieves basic user information by user ID.
                value:
                  userId: f53d2330-3795-4c5d-a1f3-453121af9c60
            schema:
              $ref: '#/components/schemas/gitpod.v1.GetUserRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.GetUserResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: GetUser
      tags:
      - gitpod.v1.UserService
  /gitpod.v1.UserService/ListPersonalAccessTokens:
    servers: []
    post:
      description: "Lists personal access tokens with optional filtering.\n\n Use this method to:\n - View all active tokens\n - Audit token usage\n - Manage token lifecycle\n\n ### Examples\n\n - List user tokens:\n\n   Shows all tokens for specific users.\n\n   ```yaml\n   filter:\n     userIds: [\"f53d2330-3795-4c5d-a1f3-453121af9c60\"]\n   pagination:\n     pageSize: 20\n   ```"
      operationId: gitpod.v1.UserService.ListPersonalAccessTokens
      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:
              list_user_tokens:
                description: Shows all tokens for specific users.
                value:
                  filter:
                    userIds:
                    - f53d2330-3795-4c5d-a1f3-453121af9c60
                  pagination:
                    pageSize: 20
            schema:
              $ref: '#/components/schemas/gitpod.v1.ListPersonalAccessTokensRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.ListPersonalAccessTokensResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: ListPersonalAccessTokens
      tags:
      - gitpod.v1.UserService
  /gitpod.v1.UserService/ListPreferences:
    servers: []
    post:
      description: "Lists all user preferences.\n\n Use this method to:\n - View all user settings\n - Export preferences\n - Audit configurations\n\n ### Examples\n\n - List preferences:\n\n   Shows all preferences with pagination.\n\n   ```yaml\n   pagination:\n     pageSize: 20\n   ```"
      operationId: gitpod.v1.UserService.ListPreferences
      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:
              list_preferences:
                description: Shows all preferences with pagination.
                value:
                  pagination:
                    pageSize: 20
            schema:
              $ref: '#/components/schemas/gitpod.v1.ListPreferencesRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.ListPreferencesResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: ListPreferences
      tags:
      - gitpod.v1.UserService
  /gitpod.v1.UserService/SetDotfilesConfiguration:
    servers: []
    post:
      description: "Sets the dotfiles configuration for a user.\n\n Use this method to:\n - Configure user dotfiles\n - Update dotfiles settings\n\n ### Examples\n\n - Set dotfiles configuration:\n\n   Sets the dotfiles configuration for the current user.\n\n   ```yaml\n   {\n     \"repository\": \"https://github.com/gitpod-io/dotfiles\",\n   }\n   ```\n\n - Remove dotfiles:\n\n   Removes the dotfiles for the current user.\n\n   ```yaml\n   {}\n   ```"
      operationId: gitpod.v1.UserService.SetDotfilesConfiguration
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              remove_dotfiles:
                description: Removes the dotfiles for the current user.
                value: {}
              set_dotfiles_configuration:
                description: Sets the dotfiles configuration for the current user.
                value:
                  repository: https://github.com/gitpod-io/dotfiles
            schema:
              $ref: '#/components/schemas/gitpod.v1.SetDotfilesConfigurationRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.SetDotfilesConfigurationResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: SetDotfilesConfiguration
      tags:
      - gitpod.v1.UserService
  /gitpod.v1.UserService/SetPreference:
    servers: []
    post:
      description: "Sets a user preference value.\n\n Use this method to:\n - Store user settings\n - Update preferences\n - Configure user experience\n\n ### Examples\n\n - Set preference:\n\n   Updates a user preference setting.\n\n   ```yaml\n   key: \"theme\"\n   value: \"dark\"\n   ```"
      operationId: gitpod.v1.UserService.SetPreference
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              set_preference:
                description: Updates a user preference setting.
                value:
                  key: theme
                  value: dark
            schema:
              $ref: '#/components/schemas/gitpod.v1.SetPreferenceRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.SetPreferenceResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: SetPreference
      tags:
      - gitpod.v1.UserService
  /gitpod.v1.UserService/SetSuspended:
    servers: []
    post:
      description: "Sets whether a user account is suspended.\n\n Use this method to:\n - Suspend problematic users\n - Reactivate suspended accounts\n - Manage user access\n\n ### Examples\n\n - Suspend user:\n\n   Suspends a user account.\n\n   ```yaml\n   userId: \"f53d2330-3795-4c5d-a1f3-453121af9c60\"\n   suspended: true\n   ```\n\n - Reactivate user:\n\n   Removes suspension from a user account.\n\n   ```yaml\n   userId: \"f53d2330-3795-4c5d-a1f3-453121af9c60\"\n   suspended: false\n   ```"
      operationId: gitpod.v1.UserService.SetSuspended
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              reactivate_user:
                description: Removes suspension from a user account.
                value:
                  suspended: false
                  userId: f53d2330-3795-4c5d-a1f3-453121af9c60
              suspend_user:
                description: Suspends a user account.
                value:
                  suspended: true
                  userId: f53d2330-3795-4c5d-a1f3-453121af9c60
            schema:
              $ref: '#/components/schemas/gitpod.v1.SetSuspendedRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.SetSuspendedResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: SetSuspended
      tags:
      - gitpod.v1.UserService
components:
  schemas:
    gitpod.v1.Principal:
      enum:
      - PRINCIPAL_UNSPECIFIED
      - PRINCIPAL_ACCOUNT
      - PRINCIPAL_USER
      - PRINCIPAL_RUNNER
      - PRINCIPAL_ENVIRONMENT
      - PRINCIPAL_SERVICE_ACCOUNT
      - PRINCIPAL_RUNNER_MANAGER
      title: Principal
      type: string
    gitpod.v1.UserStatus:
      enum:
      - USER_STATUS_UNSPECIFIED
      - USER_STATUS_ACTIVE
      - USER_STATUS_SUSPENDED
      - USER_STATUS_LEFT
      title: UserStatus
      type: string
    gitpod.v1.GetAuthenticatedUserRequest:
      additionalProperties: false
      properties:
        empty:
          type: boolean
      title: GetAuthenticatedUserRequest
      type: object
    gitpod.v1.GetDotfilesConfigurationResponse:
      additionalProperties: false
      properties:
        dotfilesConfiguration:
          $ref: '#/components/schemas/gitpod.v1.DotfilesConfiguration'
          title: dotfiles_configuration
      required:
      - dotfilesConfiguration
      title: GetDotfilesConfigurationResponse
      type: object
    gitpod.v1.PaginationResponse:
      additionalProperties: false
      properties:
        nextToken:
          description: "Token passed for retrieving the next set of results. Empty if there are no\n more results"
          title: next_token
          type: string
      title: PaginationResponse
      type: object
    gitpod.v1.SetPreferenceResponse:
      additionalProperties: false
      title: SetPreferenceResponse
      type: object
    gitpod.v1.CreatePersonalAccessTokenResponse:
      additionalProperties: false
      properties:
        token:
          title: token
          type: string
      required:
      - token
      title: CreatePersonalAccessTokenResponse
      type: object
    gitpod.v1.GetPreferenceResponse:
      additionalProperties: false
      properties:
        preference:
          $ref: '#/components/schemas/gitpod.v1.UserPreference'
          title: preference
      title: GetPreferenceResponse
      type: object
    gitpod.v1.ListPreferencesResponse:
      additionalProperties: false
      properties:
        pagination:
          $ref: '#/components/schemas/gitpod.v1.PaginationResponse'
          title: pagination
        preferences:
          items:
            $ref: '#/components/schemas/gitpod.v1.UserPreference'
          title: preferences
          type: array
      title: ListPreferencesResponse
      type: object
    gitpod.v1.UserPreference:
      additionalProperties: false
      properties:
        createdAt:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          title: created_at
        id:
          format: uuid
          title: id
          type: string
        key:
          maxLength: 255
          minLength: 1
          title: key
          type: string
        updatedAt:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          title: updated_at
        value:
          description: "omitting value field will cause an error due to min_len validation,\n to unset a preference use DeletePreference instead"
          maxLength: 2480
          minLength: 1
          title: value
          type: string
      title: UserPreference
      type: object
    gitpod.v1.CreatePersonalAccessTokenRequest:
      additionalProperties: false
      properties:
        description:
          title: description
          type: string
        readOnly:
          description: "When true, the token can only be used for read operations.\n Mutations will be denied at the data layer."
          title: read_only
          type: boolean
        userId:
          format: uuid
          title: user_id
          type: string
        validFor:
          $ref: '#/components/schemas/google.protobuf.Duration'
          title: valid_for
      title: CreatePersonalAccessTokenRequest
      type: object
    gitpod.v1.DeletePersonalAccessTokenResponse:
      additionalProperties: false
      title: DeletePersonalAccessTokenResponse
      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.ListPreferencesRequest:
      additionalProperties: false
      properties:
        pagination:
          $ref: '#/components/schemas/gitpod.v1.PaginationRequest'
          title: pagination
      title: ListPreferencesRequest
      type: object
    gitpod.v1.DeleteUserRequest:
      additionalProperties: false
      properties:
        userId:
          format: uuid
          title: user_id
          type: string
      title: DeleteUserRequest
      type: object
    gitpod.v1.GetPreferenceRequest:
      additionalProperties: false
      oneOf:
      - not:
          anyOf:
          - required:
            - preferenceKey
        required:
        - preferenceId
      - not:
          anyOf:
          - required:
            - preferenceId
        required:
        - preferenceKey
      properties:
        preferenceId:
          title: preference_id
          type: string
        preferenceKey:
          maxLength: 255
          minLength: 1
          title: preference_key
          type: string
        userPreferenceId:
          deprecated: true
          title: user_preference_id
          type: string
      title: GetPreferenceRequest
      type: object
    gitpod.v1.SetSuspendedRequest:
      additionalProperties: false
      properties:
        suspended:
          title: suspended
          type: boolean
        userId:
          format: uuid
          title: user_id
          type: string
      title: SetSuspendedRequest
      type: object
    gitpod.v1.PaginationRequest:
      additionalProperties: false
      properties:
        pageSize:
          description: "Page size is the maximum number of results to retrieve per page.\n Defaults to 25. Maximum 100."
          format: int32
          maximum: 100
          title: page_size
          type: integer
        token:
          description: "Token for the next set of results that was returned as next_token of a\n PaginationResponse"
          title: token
          type: string
      title: PaginationRequest
      type: object
    gitpod.v1.GetUserResponse:
      additionalProperties: false
      properties:
        user:
          $ref: '#/components/schemas/gitpod.v1.User'
          title: user
      required:
      - user
      title: GetUserResponse
      type: object
    gitpod.v1.GetAuthenticatedUserResponse:
      additionalProperties: false
      properties:
        user:
          $ref: '#/components/schemas/gitpod.v1.User'
          title: user
      required:
      - user
      title: GetAuthenticatedUserResponse
      type: object
    gitpod.v1.DeletePreferenceResponse:
      additionalProperties: false
      title: DeletePreferenceResponse
      type: object
    google.protobuf.Duration:
      description: "A Duration represents a signed, fixed-length span of time represented\n as a count of seconds and fractions of seconds at nanosecond\n resolution. It is independent of any calendar and concepts like \"day\"\n or \"month\". It is related to Timestamp in that the difference between\n two Timestamp values is a Duration and it can be added or subtracted\n from a Timestamp. Range is approximately +-10,000 years.\n\n # Examples\n\n Example 1: Compute Duration from two Timestamps in pseudo code.\n\n     Timestamp start = ...;\n     Timestamp end = ...;\n     Duration duration = ...;\n\n     duration.seconds = end.seconds - start.seconds;\n     duration.nanos = end.nanos - start.nanos;\n\n     if (duration.seconds < 0 && duration.nanos > 0) {\n       duration.seconds += 1;\n       duration.nanos -= 1000000000;\n     } else if (duration.seconds > 0 && duration.nanos < 0) {\n       duration.seconds -= 1;\n       duration.nanos += 1000000000;\n     }\n\n Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.\n\n     Timestamp start = ...;\n     Duration duration = ...;\n     Timestamp end = ...;\n\n     end.seconds = start.seconds + duration.seconds;\n     end.nanos = start.nanos + duration.nanos;\n\n     if (end.nanos < 0) {\n       end.seconds -= 1;\n       end.nanos += 1000000000;\n     } else if (end.nanos >= 1000000000) {\n       end.seconds += 1;\n       end.nanos -= 1000000000;\n     }\n\n Example 3: Compute Duration from datetime.timedelta in Python.\n\n     td = datetime.timedelta(days=3, minutes=10)\n     duration = Duration()\n     duration.FromTimedelta(td)\n\n # JSON Mapping\n\n In JSON format, the Duration type is encoded as a string rather than an\n object, where the string ends in the suffix \"s\" (indicating seconds) and\n is preceded by the number of seconds, with nanoseconds expressed as\n fractional seconds. For example, 3 seconds with 0 nanoseconds should be\n encoded in JSON format as \"3s\", while 3 seconds and 1 nanosecond should\n be expressed in JSON format as \"3.000000001s\", and 3 seconds and 1\n microsecond should be expressed in JSON format as \"3.000001s\"."
      format: regex
      pattern: ^[-\+]?([0-9]+\.?[0-9]*|\.[0-9]+)s$
      type: string
    gitpod.v1.DeletePersonalAccessTokenRequest:
      additionalProperties: false
      properties:
        personalAccessTokenId:
          format: uuid
          title: personal_access_token_id
          type: string
      title: DeletePersonalAccessTokenRequest
      type: object
    gitpod.v1.Subject:
      additionalProperties: false
      properties:
        id:
          description: id is the UUID of the subject
          format: uuid
          title: id
          type: string
        principal:
          $ref: '#/components/schemas/gitpod.v1.Principal'
          description: Principal is the principal of the subject
          title: principal
      title: Subject
      type: object
    gitpod.v1.GetPersonalAccessTokenResponse:
      additionalProperties: false
      properties:
        pat:
          $ref: '#/components/schemas/gitpod.v1.PersonalAccessToken'
          title: pat
      required:
      - pat
      title: GetPersonalAccessTokenResponse
      type: object
    gitpod.v1.DeleteUserResponse:
      additionalProperties: false
      title: DeleteUserResponse
      type: object
    gitpod.v1.SetDotfilesConfigurationRequest:
      additionalProperties: false
      properties:
        repository:
          format: uri
          maxLength: 255
          title: repository
          type: string
      title: SetDotfilesConfigurationRequest
      type: object
    gitpod.v1.DeletePreferenceRequest:
      additionalProperties: false
      properties:
        userPreferenceId:
          format: uuid
          title: user_preference_id
          type: string
      title: DeletePreferenceRequest
      type: object
    gitpod.v1.GetUserRequest:
      additionalProperties: false
      properties:
        userId:
          format: uuid
          title: user_id
          type: string
      title: GetUserRequest
      type: object
    gitpod.v1.PersonalAccessToken:
      additionalProperties: false
      properties:
        createdAt:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          title: created_at
        creator:
          $ref: '#/components/schemas/gitpod.v1.Subject'
  

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