Gitpod gitpod.v1.GroupService API
The gitpod.v1.GroupService API from Gitpod — 14 operation(s) for gitpod.v1.groupservice.
The gitpod.v1.GroupService API from Gitpod — 14 operation(s) for gitpod.v1.groupservice.
openapi: 3.0.0
info:
title: gitpod.v1 gitpod.v1.AccountService gitpod.v1.GroupService API
version: v1.0.0
servers:
- url: https://api.gitpod.io
description: Gitpod API
tags:
- name: gitpod.v1.GroupService
x-displayName: gitpod.v1.GroupService
paths:
/gitpod.v1.GroupService/CreateGroup:
servers: []
post:
description: "Creates a new group within an organization.\n\n Use this method to:\n - Create teams for access control\n - Organize users by department or function\n - Set up role-based access groups\n\n ### Examples\n\n - Create a basic group:\n\n Creates a group with name and description.\n\n ```yaml\n organizationId: \"b0e12f6c-4c67-429d-a4a6-d9838b5da047\"\n name: \"Backend Team\"\n description: \"Backend engineering team\"\n ```\n\n ### Authorization\n\n Requires `org:admin` role on the organization."
operationId: gitpod.v1.GroupService.CreateGroup
parameters: []
requestBody:
content:
application/json:
examples:
create_a_basic_group:
description: Creates a group with name and description.
value:
description: Backend engineering team
name: Backend Team
organizationId: b0e12f6c-4c67-429d-a4a6-d9838b5da047
schema:
$ref: '#/components/schemas/gitpod.v1.CreateGroupRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/gitpod.v1.CreateGroupResponse'
description: Success
default:
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
description: Error
security:
- bearerAuth: []
summary: CreateGroup
tags:
- gitpod.v1.GroupService
/gitpod.v1.GroupService/CreateMembership:
servers: []
post:
description: "Creates a membership for a user in a group.\n\n Use this method to:\n - Add users to groups\n - Grant group-based permissions to users\n\n ### Examples\n\n - Add a user to a group:\n\n Creates a membership for a user in a group.\n\n ```yaml\n groupId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n subject:\n id: \"f53d2330-3795-4c5d-a1f3-453121af9c60\"\n principal: PRINCIPAL_USER\n ```\n\n ### Authorization\n\n Requires `org:admin` permission on the organization or `group:admin` permission on the specific group."
operationId: gitpod.v1.GroupService.CreateMembership
parameters: []
requestBody:
content:
application/json:
examples:
add_a_user_to_a_group:
description: Creates a membership for a user in a group.
value:
groupId: d2c94c27-3b76-4a42-b88c-95a85e392c68
subject:
id: f53d2330-3795-4c5d-a1f3-453121af9c60
principal: PRINCIPAL_USER
schema:
$ref: '#/components/schemas/gitpod.v1.CreateMembershipRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/gitpod.v1.CreateMembershipResponse'
description: Success
default:
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
description: Error
security:
- bearerAuth: []
summary: CreateMembership
tags:
- gitpod.v1.GroupService
/gitpod.v1.GroupService/CreateRoleAssignment:
servers: []
post:
description: "Creates a role assignment for a group on a resource.\n\n Use this method to:\n - Assign specific roles to groups on runners, projects, or environments\n - Grant group-based access to resources\n\n ### Examples\n\n - Assign admin role on a runner:\n\n Grants the group admin access to a runner.\n\n ```yaml\n groupId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n resourceType: RESOURCE_TYPE_RUNNER\n resourceId: \"f53d2330-3795-4c5d-a1f3-453121af9c60\"\n resourceRole: RESOURCE_ROLE_RUNNER_ADMIN\n ```\n\n - Assign user role on a project:\n\n Grants the group user access to a project.\n\n ```yaml\n groupId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n resourceType: RESOURCE_TYPE_PROJECT\n resourceId: \"a1b2c3d4-5678-90ab-cdef-1234567890ab\"\n resourceRole: RESOURCE_ROLE_PROJECT_USER\n ```\n\n ### Authorization\n\n Requires admin role on the specific resource."
operationId: gitpod.v1.GroupService.CreateRoleAssignment
parameters: []
requestBody:
content:
application/json:
examples:
assign_admin_role_on_a_runner:
description: Grants the group admin access to a runner.
value:
groupId: d2c94c27-3b76-4a42-b88c-95a85e392c68
resourceId: f53d2330-3795-4c5d-a1f3-453121af9c60
resourceRole: RESOURCE_ROLE_RUNNER_ADMIN
resourceType: RESOURCE_TYPE_RUNNER
assign_user_role_on_a_project:
description: Grants the group user access to a project.
value:
groupId: d2c94c27-3b76-4a42-b88c-95a85e392c68
resourceId: a1b2c3d4-5678-90ab-cdef-1234567890ab
resourceRole: RESOURCE_ROLE_PROJECT_USER
resourceType: RESOURCE_TYPE_PROJECT
schema:
$ref: '#/components/schemas/gitpod.v1.CreateRoleAssignmentRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/gitpod.v1.CreateRoleAssignmentResponse'
description: Success
default:
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
description: Error
security:
- bearerAuth: []
summary: CreateRoleAssignment
tags:
- gitpod.v1.GroupService
/gitpod.v1.GroupService/DeleteGroup:
servers: []
post:
description: "Deletes a group and removes all its resource assignments.\n\n When a group is deleted, all resource assignments revert to org-level scope.\n\n Use this method to:\n - Remove unused groups\n - Clean up after team reorganization\n\n ### Examples\n\n - Delete a group:\n\n Permanently removes a group.\n\n ```yaml\n groupId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n ```\n\n ### Authorization\n\n Requires `org:admin` role on the organization."
operationId: gitpod.v1.GroupService.DeleteGroup
parameters: []
requestBody:
content:
application/json:
examples:
delete_a_group:
description: Permanently removes a group.
value:
groupId: d2c94c27-3b76-4a42-b88c-95a85e392c68
schema:
$ref: '#/components/schemas/gitpod.v1.DeleteGroupRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/gitpod.v1.DeleteGroupResponse'
description: Success
default:
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
description: Error
security:
- bearerAuth: []
summary: DeleteGroup
tags:
- gitpod.v1.GroupService
/gitpod.v1.GroupService/DeleteMembership:
servers: []
post:
description: "Deletes a membership for a user in a group.\n\n Use this method to:\n - Remove users from groups\n - Revoke group-based permissions\n\n ### Examples\n\n - Remove a user from a group:\n\n Deletes a membership by its ID.\n\n ```yaml\n membershipId: \"a1b2c3d4-5678-90ab-cdef-1234567890ab\"\n ```\n\n ### Authorization\n\n Requires `org:admin` permission on the organization or `group:admin` permission on the specific group."
operationId: gitpod.v1.GroupService.DeleteMembership
parameters: []
requestBody:
content:
application/json:
examples:
remove_a_user_from_a_group:
description: Deletes a membership by its ID.
value:
membershipId: a1b2c3d4-5678-90ab-cdef-1234567890ab
schema:
$ref: '#/components/schemas/gitpod.v1.DeleteMembershipRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/gitpod.v1.DeleteMembershipResponse'
description: Success
default:
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
description: Error
security:
- bearerAuth: []
summary: DeleteMembership
tags:
- gitpod.v1.GroupService
/gitpod.v1.GroupService/DeleteRoleAssignment:
servers: []
post:
description: "Deletes a role assignment.\n\n Use this method to:\n - Remove group access to resources\n - Revoke role-based permissions\n\n ### Examples\n\n - Delete a role assignment:\n\n Removes a role assignment by its ID.\n\n ```yaml\n assignmentId: \"a1b2c3d4-5678-90ab-cdef-1234567890ab\"\n ```\n\n ### Authorization\n\n Requires admin role on the specific resource."
operationId: gitpod.v1.GroupService.DeleteRoleAssignment
parameters: []
requestBody:
content:
application/json:
examples:
delete_a_role_assignment:
description: Removes a role assignment by its ID.
value:
assignmentId: a1b2c3d4-5678-90ab-cdef-1234567890ab
schema:
$ref: '#/components/schemas/gitpod.v1.DeleteRoleAssignmentRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/gitpod.v1.DeleteRoleAssignmentResponse'
description: Success
default:
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
description: Error
security:
- bearerAuth: []
summary: DeleteRoleAssignment
tags:
- gitpod.v1.GroupService
/gitpod.v1.GroupService/GetGroup:
servers: []
post:
description: "Gets information about a specific group by ID or name.\n\n Use this method to:\n - Retrieve group details and metadata\n - Check group configuration\n - View member count\n\n ### Examples\n\n - Get group by ID:\n\n Retrieves information about a specific group by its unique ID.\n\n ```yaml\n id: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n ```\n\n ### Authorization\n\n All organization members can view group information (transparency model)."
operationId: gitpod.v1.GroupService.GetGroup
parameters: []
requestBody:
content:
application/json:
examples:
get_group_by_id:
description: Retrieves information about a specific group by its unique ID.
value:
id: d2c94c27-3b76-4a42-b88c-95a85e392c68
schema:
$ref: '#/components/schemas/gitpod.v1.GetGroupRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/gitpod.v1.GetGroupResponse'
description: Success
default:
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
description: Error
security:
- bearerAuth: []
summary: GetGroup
tags:
- gitpod.v1.GroupService
/gitpod.v1.GroupService/GetMembership:
servers: []
post:
description: "Gets a specific membership by group ID and subject.\n\n Use this method to:\n - Check if a user or service account is a member of a group\n - Verify group membership for access control\n\n ### Examples\n\n - Check user membership:\n\n Checks if a user is a member of a specific group.\n\n ```yaml\n groupId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n subject:\n id: \"f53d2330-3795-4c5d-a1f3-453121af9c60\"\n principal: PRINCIPAL_USER\n ```\n\n ### Authorization\n\n All organization members can check group membership (transparency model)."
operationId: gitpod.v1.GroupService.GetMembership
parameters: []
requestBody:
content:
application/json:
examples:
check_user_membership:
description: Checks if a user is a member of a specific group.
value:
groupId: d2c94c27-3b76-4a42-b88c-95a85e392c68
subject:
id: f53d2330-3795-4c5d-a1f3-453121af9c60
principal: PRINCIPAL_USER
schema:
$ref: '#/components/schemas/gitpod.v1.GetMembershipRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/gitpod.v1.GetMembershipResponse'
description: Success
default:
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
description: Error
security:
- bearerAuth: []
summary: GetMembership
tags:
- gitpod.v1.GroupService
/gitpod.v1.GroupService/ListGroups:
servers: []
post:
description: "Lists groups with optional pagination.\n\n Use this method to:\n - View all groups in an organization\n - Check group memberships\n - Monitor group configurations\n - Audit group access\n\n ### Examples\n\n - List all groups:\n\n Shows all groups with pagination.\n\n ```yaml\n pagination:\n pageSize: 20\n ```\n\n - List with custom page size:\n\n Shows groups with specified page size.\n\n ```yaml\n pagination:\n pageSize: 50\n token: \"next-page-token-from-previous-response\"\n ```\n\n ### Authorization\n\n All organization members can list groups (transparency model)."
operationId: gitpod.v1.GroupService.ListGroups
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_all_groups:
description: Shows all groups with pagination.
value:
pagination:
pageSize: 20
list_with_custom_page_size:
description: Shows groups with specified page size.
value:
pagination:
pageSize: 50
token: next-page-token-from-previous-response
schema:
$ref: '#/components/schemas/gitpod.v1.ListGroupsRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/gitpod.v1.ListGroupsResponse'
description: Success
default:
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
description: Error
security:
- bearerAuth: []
summary: ListGroups
tags:
- gitpod.v1.GroupService
/gitpod.v1.GroupService/ListMemberships:
servers: []
post:
description: "Lists all memberships of a group.\n\n Use this method to:\n - View all members of a group\n - Audit group membership\n\n ### Examples\n\n - List group members:\n\n Shows all members of a specific group.\n\n ```yaml\n groupId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n pagination:\n pageSize: 20\n ```\n\n ### Authorization\n\n All organization members can view group membership (transparency model)."
operationId: gitpod.v1.GroupService.ListMemberships
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_group_members:
description: Shows all members of a specific group.
value:
groupId: d2c94c27-3b76-4a42-b88c-95a85e392c68
pagination:
pageSize: 20
schema:
$ref: '#/components/schemas/gitpod.v1.ListMembershipsRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/gitpod.v1.ListMembershipsResponse'
description: Success
default:
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
description: Error
security:
- bearerAuth: []
summary: ListMemberships
tags:
- gitpod.v1.GroupService
/gitpod.v1.GroupService/ListRoleAssignments:
servers: []
post:
description: "Lists role assignments for a group or resource.\n\n Use this method to:\n - View all role assignments for a group\n - Audit resource access\n - Check which groups have access to resources\n\n ### Examples\n\n - List role assignments for a group:\n\n Shows all role assignments for a specific group.\n\n ```yaml\n filter:\n groupId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n pagination:\n pageSize: 20\n ```\n\n - List role assignments by resource type:\n\n Shows all role assignments for runners.\n\n ```yaml\n filter:\n resourceTypes:\n - RESOURCE_TYPE_RUNNER\n pagination:\n pageSize: 20\n ```\n\n ### Authorization\n\n All organization members can view role assignments (transparency model)."
operationId: gitpod.v1.GroupService.ListRoleAssignments
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_role_assignments_by_resource_type:
description: Shows all role assignments for runners.
value:
filter:
resourceTypes:
- RESOURCE_TYPE_RUNNER
pagination:
pageSize: 20
list_role_assignments_for_a_group:
description: Shows all role assignments for a specific group.
value:
filter:
groupId: d2c94c27-3b76-4a42-b88c-95a85e392c68
pagination:
pageSize: 20
schema:
$ref: '#/components/schemas/gitpod.v1.ListRoleAssignmentsRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/gitpod.v1.ListRoleAssignmentsResponse'
description: Success
default:
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
description: Error
security:
- bearerAuth: []
summary: ListRoleAssignments
tags:
- gitpod.v1.GroupService
/gitpod.v1.GroupService/ShareResourceWithPrincipal:
servers: []
post:
description: "Shares a resource directly with a principal (user or service account).\n\n Use this method to:\n - Grant a user or service account direct access to a runner, project, or other resource\n - Share resources without creating and managing groups manually\n\n ### Examples\n\n - Share a runner with a user:\n\n Grants admin access to a runner for a specific user.\n\n ```yaml\n resourceType: RESOURCE_TYPE_RUNNER\n resourceId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n principal: PRINCIPAL_USER\n principalId: \"f53d2330-3795-4c5d-a1f3-453121af9c60\"\n role: RESOURCE_ROLE_RUNNER_ADMIN\n ```\n\n - Share a runner with a service account:\n\n Grants user access to a runner for a service account.\n\n ```yaml\n resourceType: RESOURCE_TYPE_RUNNER\n resourceId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n principal: PRINCIPAL_SERVICE_ACCOUNT\n principalId: \"a1b2c3d4-5678-90ab-cdef-1234567890ab\"\n role: RESOURCE_ROLE_RUNNER_USER\n ```\n\n ### Authorization\n\n Requires admin role on the specific resource."
operationId: gitpod.v1.GroupService.ShareResourceWithPrincipal
parameters: []
requestBody:
content:
application/json:
examples:
share_a_runner_with_a_service_account:
description: Grants user access to a runner for a service account.
value:
principal: PRINCIPAL_SERVICE_ACCOUNT
principalId: a1b2c3d4-5678-90ab-cdef-1234567890ab
resourceId: d2c94c27-3b76-4a42-b88c-95a85e392c68
resourceType: RESOURCE_TYPE_RUNNER
role: RESOURCE_ROLE_RUNNER_USER
share_a_runner_with_a_user:
description: Grants admin access to a runner for a specific user.
value:
principal: PRINCIPAL_USER
principalId: f53d2330-3795-4c5d-a1f3-453121af9c60
resourceId: d2c94c27-3b76-4a42-b88c-95a85e392c68
resourceType: RESOURCE_TYPE_RUNNER
role: RESOURCE_ROLE_RUNNER_ADMIN
schema:
$ref: '#/components/schemas/gitpod.v1.ShareResourceWithPrincipalRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/gitpod.v1.ShareResourceWithPrincipalResponse'
description: Success
default:
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
description: Error
security:
- bearerAuth: []
summary: ShareResourceWithPrincipal
tags:
- gitpod.v1.GroupService
/gitpod.v1.GroupService/UnshareResourceWithPrincipal:
servers: []
post:
description: "Removes direct access for a principal (user or service account) from a resource.\n\n Use this method to:\n - Revoke a principal's direct access to a resource\n - Remove sharing without affecting group-based access\n\n ### Examples\n\n - Remove user access from a runner:\n\n Revokes a user's direct access to a runner.\n\n ```yaml\n resourceType: RESOURCE_TYPE_RUNNER\n resourceId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n principal: PRINCIPAL_USER\n principalId: \"f53d2330-3795-4c5d-a1f3-453121af9c60\"\n ```\n\n ### Authorization\n\n Requires admin role on the specific resource."
operationId: gitpod.v1.GroupService.UnshareResourceWithPrincipal
parameters: []
requestBody:
content:
application/json:
examples:
remove_user_access_from_a_runner:
description: Revokes a user's direct access to a runner.
value:
principal: PRINCIPAL_USER
principalId: f53d2330-3795-4c5d-a1f3-453121af9c60
resourceId: d2c94c27-3b76-4a42-b88c-95a85e392c68
resourceType: RESOURCE_TYPE_RUNNER
schema:
$ref: '#/components/schemas/gitpod.v1.UnshareResourceWithPrincipalRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/gitpod.v1.UnshareResourceWithPrincipalResponse'
description: Success
default:
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
description: Error
security:
- bearerAuth: []
summary: UnshareResourceWithPrincipal
tags:
- gitpod.v1.GroupService
/gitpod.v1.GroupService/UpdateGroup:
servers: []
post:
description: "Updates group information.\n\n Use this method to:\n - Rename a group\n - Update group description\n\n ### Examples\n\n - Update group name:\n\n Changes the name of an existing group.\n\n ```yaml\n groupId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n name: \"Platform Team\"\n description: \"Platform engineering team\"\n ```\n\n ### Authorization\n\n Requires `org:admin` permission on the organization or `group:admin` permission on the specific group."
operationId: gitpod.v1.GroupService.UpdateGroup
parameters: []
requestBody:
content:
application/json:
examples:
update_group_name:
description: Changes the name of an existing group.
value:
description: Platform engineering team
groupId: d2c94c27-3b76-4a42-b88c-95a85e392c68
name: Platform Team
schema:
$ref: '#/components/schemas/gitpod.v1.UpdateGroupRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/gitpod.v1.UpdateGroupResponse'
description: Success
default:
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
description: Error
security:
- bearerAuth: []
summary: UpdateGroup
tags:
- gitpod.v1.GroupService
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.ListRoleAssignmentsRequest.Filter:
additionalProperties: false
properties:
groupId:
description: "group_id filters the response to only role assignments for this specific group\n Empty string is allowed and means no filtering by group"
title: group_id
type: string
resourceId:
description: "Filters by a single resource. Non-admin callers with :grant permission\n on the resource can see role assignments from groups they don't belong to.\n Mutually exclusive with resource_ids."
title: resource_id
type: string
resourceIds:
description: "Filters by multiple resources in a single request. Non-admin callers with\n :grant permission on a resource can see all role assignments for that\n resource, even from groups they don't belong to. The :grant check is\n applied per-resource within the batch.\n Mutually exclusive with resource_id."
items:
format: uuid
maxItems: 25
type: string
maxItems: 25
title: resource_ids
type: array
resourceRoles:
description: resource_roles filters the response to only role assignments with these specific roles
items:
$ref: '#/components/schemas/gitpod.v1.ResourceRole'
title: resource_roles
type: array
resourceTypes:
description: resource_types filters the response to only role assignments for these resource types
items:
$ref: '#/components/schemas/gitpod.v1.ResourceType'
title: resource_types
type: array
userId:
description: "user_id filters the response to only role assignments for groups that this user is a member of\n Empty string is allowed and means no filtering by user"
title: user_id
type: string
title: Filter
type: object
gitpod.v1.GroupMembership:
additionalProperties: false
description: GroupMembership represents a subject's membership in a group
properties:
avatarUrl:
description: Subject's avatar URL
title: avatar_url
type: string
groupId:
description: Group identifier
format: uuid
title: group_id
type: string
id:
description: Unique identifier for the group membership
format: uuid
title: id
type: string
name:
description: Subject's display name
title: name
type: string
subject:
$ref: '#/components/schemas/gitpod.v1.Subject'
description: Subject (user, runner, environment, service account, etc.)
title: subject
title: GroupMembership
type: object
gitpod.v1.ListMembershipsResponse:
additionalProperties: false
properties:
members:
items:
$ref: '#/components/schemas/gitpod.v1.GroupMembership'
title: members
type: array
pagination:
$ref: '#/components/schemas/gitpod.v1.PaginationResponse'
title: pagination
title: ListMembershipsResponse
type: object
gitpod.v1.GetMembershipResponse:
additionalProperties: false
properties:
member:
$ref: '#/components/schemas/gitpod.v1.GroupMembership'
description: The membership if found, nil if subject is not a member
title: member
title: GetMembershipResponse
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.CreateMembershipResponse:
additionalProperties: false
properties:
member:
$ref: '#/components/schemas/gitpod.v1.GroupMembership'
title: member
title: CreateMembershipResponse
type: object
gitpod.v1.ShareResourceWithPrincipalRequest:
additionalProperties: false
description: ShareResourceWithPrincipal messages
properties:
principal:
$ref: '#/components/schemas/gitpod.v1.Principal'
description: Type of principal to share with (user or service account)
enum:
- 2
- 5
title: principal
principalId:
description: ID of the principal (user or service account) to share with
format: uuid
title: principal_id
type: string
resourceId:
description: ID of the resource to share
format: uuid
title: resource_id
type: string
resourceType:
$ref: '#/components/schemas/gitpod.v1.ResourceType'
description: Type of resource to share (runner, project, etc.)
not:
enum:
- 0
title: resource_type
role:
$ref: '#/components/schemas/gitpod.v1.ResourceRole'
description: Role to grant the principal on the resource
not:
enum:
- 0
title: role
title: ShareResourceWithPrincipalRequest
type: object
gitpod.v1.RoleAssignment:
additionalProperties: false
description: RoleAssignment represents a role assigned to a group on a specific resource
properties:
derivedFromOrgRole:
$ref: '#/components/schemas/gitpod.v1.ResourceRole'
descript
# --- truncated at 32 KB (56 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/gitpod/refs/heads/main/openapi/gitpod-gitpod-v1-groupservice-api-openapi.yml