@@ -48,6 +48,48 @@ export class Memberships extends APIResource {
4848 return this . _client . post ( '/gitpod.v1.GroupService/CreateMembership' , { body, ...options } ) ;
4949 }
5050
51+ /**
52+ * Gets a specific membership by group ID and subject.
53+ *
54+ * Use this method to:
55+ *
56+ * - Check if a user or service account is a member of a group
57+ * - Verify group membership for access control
58+ *
59+ * ### Examples
60+ *
61+ * - Check user membership:
62+ *
63+ * Checks if a user is a member of a specific group.
64+ *
65+ * ```yaml
66+ * groupId: "d2c94c27-3b76-4a42-b88c-95a85e392c68"
67+ * subject:
68+ * id: "f53d2330-3795-4c5d-a1f3-453121af9c60"
69+ * principal: PRINCIPAL_USER
70+ * ```
71+ *
72+ * ### Authorization
73+ *
74+ * All organization members can check group membership (transparency model).
75+ *
76+ * @example
77+ * ```ts
78+ * const membership = await client.groups.memberships.retrieve(
79+ * {
80+ * subject: {
81+ * id: 'f53d2330-3795-4c5d-a1f3-453121af9c60',
82+ * principal: 'PRINCIPAL_USER',
83+ * },
84+ * groupId: 'd2c94c27-3b76-4a42-b88c-95a85e392c68',
85+ * },
86+ * );
87+ * ```
88+ */
89+ retrieve ( body : MembershipRetrieveParams , options ?: RequestOptions ) : APIPromise < MembershipRetrieveResponse > {
90+ return this . _client . post ( '/gitpod.v1.GroupService/GetMembership' , { body, ...options } ) ;
91+ }
92+
5193 /**
5294 * Lists all memberships of a group.
5395 *
@@ -172,6 +214,13 @@ export interface MembershipCreateResponse {
172214 member ?: GroupMembership ;
173215}
174216
217+ export interface MembershipRetrieveResponse {
218+ /**
219+ * The membership if found, nil if subject is not a member
220+ */
221+ member ?: GroupMembership ;
222+ }
223+
175224/**
176225 * Empty response
177226 */
@@ -186,6 +235,15 @@ export interface MembershipCreateParams {
186235 subject ?: Shared . Subject ;
187236}
188237
238+ export interface MembershipRetrieveParams {
239+ /**
240+ * Subject to check membership for
241+ */
242+ subject : Shared . Subject ;
243+
244+ groupId ?: string ;
245+ }
246+
189247export interface MembershipListParams extends MembersPageParams {
190248 /**
191249 * Body param:
@@ -228,9 +286,11 @@ export declare namespace Memberships {
228286 export {
229287 type GroupMembership as GroupMembership ,
230288 type MembershipCreateResponse as MembershipCreateResponse ,
289+ type MembershipRetrieveResponse as MembershipRetrieveResponse ,
231290 type MembershipDeleteResponse as MembershipDeleteResponse ,
232291 type GroupMembershipsMembersPage as GroupMembershipsMembersPage ,
233292 type MembershipCreateParams as MembershipCreateParams ,
293+ type MembershipRetrieveParams as MembershipRetrieveParams ,
234294 type MembershipListParams as MembershipListParams ,
235295 type MembershipDeleteParams as MembershipDeleteParams ,
236296 } ;
0 commit comments