Gitpod gitpod.v1.UserService API

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

OpenAPI Specification

gitpod-gitpod-v1-userservice-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: gitpod.v1 gitpod.v1.AccountService gitpod.v1.UserService 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.User:
      additionalProperties: false
      properties:
        avatarUrl:
          description: avatar_url is a link to the user avatar
          title: avatar_url
          type: string
        createdAt:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          description: created_at is the creation time
          title: created_at
        email:
          description: email is the user's email address
          title: email
          type: string
        id:
          description: id is a UUID of the user
          format: uuid
          title: id
          type: string
        name:
          description: name is the full name of the user
          title: name
          type: string
        organizationId:
          description: "organization_id is the id of the organization this account is owned by.\n\n +optional if not set, this account is owned by the installation."
          format: uuid
          title: organization_id
          type: string
        status:
          $ref: '#/components/schemas/gitpod.v1.UserStatus'
          description: status is the status the user is in
          title: status
      required:
      - id
      title: User
      type: object
    gitpod.v1.SetSuspendedResponse:
      additionalProperties: false
      title: SetSuspendedResponse
      type: object
    gitpod.v1.DeletePersonalAccessTokenRequest:
      additionalProperties: false
      properties:
        personalAccessTokenId:
          format: uuid
          title: personal_access_token_id
          type: string
      title: DeletePersonalAccessTokenRequest
      type: object
    gitpod.v1.ListPersonalAccessTokensRequest:
      additionalProperties: false
      properties:
        filter:
          $ref: '#/components/schemas/gitpod.v1.ListPersonalAccessTokensRequest.Filter'
          title: filter
        pagination:
          $ref: '#/components/schemas/gitpod.v1.PaginationRequest'
          title: pagination
      title: ListPersonalAccessTokensRequest
      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.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.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.GetUserResponse:
      additionalProperties: false
      properties:
        user:
          $ref: '#/components/schemas/gitpod.v1.User'
          title: user
      required:
      - user
      title: GetUserResponse
      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.PersonalAccessToken:
      additionalProperties: false
      properties:
        createdAt:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          title: created_at
        creator:
          $ref: '#/components/schemas/gitpod.v1.Subject'
          title: creator
        description:
          title: description
          type: string
        expiresAt:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          title: expires_at
        id:
          format: uuid
          title: id
          type: string
        lastUsed:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          title: last_used
        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
      title: PersonalAccessToken
      type: object
    gitpod.v1.SetDotfilesConfigurationResponse:
      additionalProperties: false
      title: SetDotfilesConfigurationResponse
      type: object
    gitpod.v1.UserStatus:
      enum:
      - USER_STATUS_UNSPECIFIED
      - USER_STATUS_ACTIVE
      - USER_STATUS_SUSPENDED
      - USER_STATUS_LEFT
      title: UserStatus
      type: string
    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.GetDotfilesConfigurationRequest:
      additionalProperties: false
      properties:
        empty:
          type: boolean
      title: GetDotfilesConfigurationRequest
      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.DeleteUserResponse:
      additionalProperties: false
      title: DeleteUserResponse
      type: object
    gitpod.v1.SetPreferenceRequest:
      additionalProperties: false
      properties:
        key:
          maxLength: 255
          minLength: 1
          title: key
          type: string
        value:
          description: "omitting value field will cause an error due to min_len validation,\n to unset a preference use DeletePreference instead"
          maxLength: 10240
          minLength: 1
          title: value
          type: string
      title: SetPreferenceRequest
      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.ListPreferencesRequest:
      additionalProperties: false
      properties:
        pagination:
          $ref: '#/components/schemas/gitpod.v1.PaginationRequest'
          title: pagination
      title: ListPreferencesRequest
      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.SetDotfilesConfigurationRequest:
      additionalProperties: false
      properties:
        repository:
          format: uri
          maxLength: 255
          title: repository
          type: string
      title: SetDotfilesConfigurationRequest
      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.GetAuthenticatedUserRequest:
      additionalProperties: false
      properties:
        empty:
          type: boolean
      title: GetAuthenticatedUserRequest
      type: object
    gitpod.v1.D

# --- 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