Skip to content
Ona Docs

UnshareResourceWithPrincipal

client.groups.shares.delete(ShareDeleteParams { principal, principalId, resourceId, resourceType } body, RequestOptionsoptions?): ShareDeleteResponse
POST/gitpod.v1.GroupService/UnshareResourceWithPrincipal

Removes direct access for a principal (user or service account) from a resource.

Use this method to:

  • Revoke a principal’s direct access to a resource
  • Remove sharing without affecting group-based access

Examples

  • Remove user access from a runner:

    Revokes a user’s direct access to a runner.

    resourceType: RESOURCE_TYPE_RUNNER
    resourceId: "d2c94c27-3b76-4a42-b88c-95a85e392c68"
    principal: PRINCIPAL_USER
    principalId: "f53d2330-3795-4c5d-a1f3-453121af9c60"

Authorization

Requires admin role on the specific resource.

ParametersExpand Collapse
body: ShareDeleteParams { principal, principalId, resourceId, resourceType }
principal?: Principal

Type of principal to remove access from (user or service account)

One of the following:
"PRINCIPAL_UNSPECIFIED"
"PRINCIPAL_ACCOUNT"
"PRINCIPAL_USER"
"PRINCIPAL_RUNNER"
"PRINCIPAL_ENVIRONMENT"
"PRINCIPAL_SERVICE_ACCOUNT"
"PRINCIPAL_RUNNER_MANAGER"
principalId?: string

ID of the principal (user or service account) to remove access from

formatuuid
resourceId?: string

ID of the resource to unshare

formatuuid
resourceType?: ResourceType

Type of resource to unshare

One of the following:
"RESOURCE_TYPE_UNSPECIFIED"
"RESOURCE_TYPE_ENVIRONMENT"
"RESOURCE_TYPE_RUNNER"
"RESOURCE_TYPE_PROJECT"
"RESOURCE_TYPE_TASK"
"RESOURCE_TYPE_TASK_EXECUTION"
"RESOURCE_TYPE_SERVICE"
"RESOURCE_TYPE_ORGANIZATION"
"RESOURCE_TYPE_USER"
"RESOURCE_TYPE_ENVIRONMENT_CLASS"
"RESOURCE_TYPE_RUNNER_SCM_INTEGRATION"
"RESOURCE_TYPE_HOST_AUTHENTICATION_TOKEN"
"RESOURCE_TYPE_GROUP"
"RESOURCE_TYPE_PERSONAL_ACCESS_TOKEN"
"RESOURCE_TYPE_USER_PREFERENCE"
"RESOURCE_TYPE_SERVICE_ACCOUNT"
"RESOURCE_TYPE_SECRET"
"RESOURCE_TYPE_SSO_CONFIG"
"RESOURCE_TYPE_DOMAIN_VERIFICATION"
"RESOURCE_TYPE_AGENT_EXECUTION"
"RESOURCE_TYPE_RUNNER_LLM_INTEGRATION"
"RESOURCE_TYPE_AGENT"
"RESOURCE_TYPE_ENVIRONMENT_SESSION"
"RESOURCE_TYPE_USER_SECRET"
"RESOURCE_TYPE_ORGANIZATION_POLICY"
"RESOURCE_TYPE_ORGANIZATION_SECRET"
"RESOURCE_TYPE_PROJECT_ENVIRONMENT_CLASS"
"RESOURCE_TYPE_BILLING"
"RESOURCE_TYPE_PROMPT"
"RESOURCE_TYPE_COUPON"
"RESOURCE_TYPE_COUPON_REDEMPTION"
"RESOURCE_TYPE_ACCOUNT"
"RESOURCE_TYPE_INTEGRATION"
"RESOURCE_TYPE_WORKFLOW"
"RESOURCE_TYPE_WORKFLOW_EXECUTION"
"RESOURCE_TYPE_WORKFLOW_EXECUTION_ACTION"
"RESOURCE_TYPE_SNAPSHOT"
"RESOURCE_TYPE_PREBUILD"
"RESOURCE_TYPE_ORGANIZATION_LLM_INTEGRATION"
"RESOURCE_TYPE_CUSTOM_DOMAIN"
"RESOURCE_TYPE_ROLE_ASSIGNMENT_CHANGED"
"RESOURCE_TYPE_GROUP_MEMBERSHIP_CHANGED"
"RESOURCE_TYPE_WEBHOOK"
"RESOURCE_TYPE_SCIM_CONFIGURATION"
"RESOURCE_TYPE_SERVICE_ACCOUNT_SECRET"
"RESOURCE_TYPE_ANNOUNCEMENT_BANNER"
"RESOURCE_TYPE_SERVICE_ACCOUNT_TOKEN"
"RESOURCE_TYPE_ROLE_ASSIGNMENT"
"RESOURCE_TYPE_WARM_POOL"
"RESOURCE_TYPE_NOTIFICATION"
ReturnsExpand Collapse
ShareDeleteResponse = unknown

Empty response on success

UnshareResourceWithPrincipal

import Gitpod from '@gitpod/sdk';

const client = new Gitpod({
  bearerToken: process.env['GITPOD_API_KEY'], // This is the default and can be omitted
});

const share = await client.groups.shares.delete({
  principal: 'PRINCIPAL_USER',
  principalId: 'f53d2330-3795-4c5d-a1f3-453121af9c60',
  resourceId: 'd2c94c27-3b76-4a42-b88c-95a85e392c68',
  resourceType: 'RESOURCE_TYPE_RUNNER',
});

console.log(share);
{}
Returns Examples
{}