Identity and Access Management (IAM) API

Manages identity and access control for Google Cloud resources, including the creation of service accounts, which you can use to authenticate to Google and make API calls. Enabling this API also enables the IAM Service Account Credentials API (iamcredentials.googleapis.com). However, disabling this API doesn't disable the IAM Service Account Credentials API.

Service: iam.googleapis.com

To call this service, we recommend that you use the Google-providedclient libraries. If your application needs to use your own libraries to call this service, use the following information when you make the API requests.

Discovery document

ADiscovery Document is a machine-readable specification for describing and consuming REST APIs. It is used to build client libraries, IDE plugins, and other tools that interact with Google APIs. One service may provide multiple discovery documents. This service provides the following discovery documents:

Service endpoint

Aservice endpoint is a base URL that specifies the network address of an API service. One service might have multiple service endpoints. This service has the following service endpoint and all URIs below are relative to this service endpoint:

  • https://iam.googleapis.com

REST Resource:v3beta.folders.locations.accessPolicies

Methods
createPOST /v3beta/{parent=folders/*/locations/*}/accessPolicies
Creates an access policy, and returns a long running operation.
deleteDELETE /v3beta/{name=folders/*/locations/*/accessPolicies/*}
Deletes an access policy.
getGET /v3beta/{name=folders/*/locations/*/accessPolicies/*}
Gets an access policy.
listGET /v3beta/{parent=folders/*/locations/*}/accessPolicies
Lists access policies.
patchPATCH /v3beta/{accessPolicy.name=folders/*/locations/*/accessPolicies/*}
Updates an access policy.
searchPolicyBindingsGET /v3beta/{name=folders/*/locations/*/accessPolicies/*}:searchPolicyBindings
Returns all policy bindings that bind a specific policy if a user has searchPolicyBindings permission on that policy.

REST Resource:v3beta.folders.locations.operations

Methods
getGET /v3beta/{name=folders/*/locations/*/operations/*}
Gets the latest state of a long-running operation.

REST Resource:v3beta.folders.locations.policyBindings

Methods
createPOST /v3beta/{parent=folders/*/locations/*}/policyBindings
Creates a policy binding and returns a long-running operation.
deleteDELETE /v3beta/{name=folders/*/locations/*/policyBindings/*}
Deletes a policy binding and returns a long-running operation.
getGET /v3beta/{name=folders/*/locations/*/policyBindings/*}
Gets a policy binding.
listGET /v3beta/{parent=folders/*/locations/*}/policyBindings
Lists policy bindings.
patchPATCH /v3beta/{policyBinding.name=folders/*/locations/*/policyBindings/*}
Updates a policy binding and returns a long-running operation.
searchTargetPolicyBindingsGET /v3beta/{parent=folders/*/locations/*}/policyBindings:searchTargetPolicyBindings
Search policy bindings by target.

REST Resource:v3beta.organizations.locations.accessPolicies

Methods
createPOST /v3beta/{parent=organizations/*/locations/*}/accessPolicies
Creates an access policy, and returns a long running operation.
deleteDELETE /v3beta/{name=organizations/*/locations/*/accessPolicies/*}
Deletes an access policy.
getGET /v3beta/{name=organizations/*/locations/*/accessPolicies/*}
Gets an access policy.
listGET /v3beta/{parent=organizations/*/locations/*}/accessPolicies
Lists access policies.
patchPATCH /v3beta/{accessPolicy.name=organizations/*/locations/*/accessPolicies/*}
Updates an access policy.
searchPolicyBindingsGET /v3beta/{name=organizations/*/locations/*/accessPolicies/*}:searchPolicyBindings
Returns all policy bindings that bind a specific policy if a user has searchPolicyBindings permission on that policy.

REST Resource:v3beta.organizations.locations.operations

Methods
getGET /v3beta/{name=organizations/*/locations/*/operations/*}
Gets the latest state of a long-running operation.

REST Resource:v3beta.organizations.locations.policyBindings

Methods
createPOST /v3beta/{parent=organizations/*/locations/*}/policyBindings
Creates a policy binding and returns a long-running operation.
deleteDELETE /v3beta/{name=organizations/*/locations/*/policyBindings/*}
Deletes a policy binding and returns a long-running operation.
getGET /v3beta/{name=organizations/*/locations/*/policyBindings/*}
Gets a policy binding.
listGET /v3beta/{parent=organizations/*/locations/*}/policyBindings
Lists policy bindings.
patchPATCH /v3beta/{policyBinding.name=organizations/*/locations/*/policyBindings/*}
Updates a policy binding and returns a long-running operation.
searchTargetPolicyBindingsGET /v3beta/{parent=organizations/*/locations/*}/policyBindings:searchTargetPolicyBindings
Search policy bindings by target.

REST Resource:v3beta.organizations.locations.principalAccessBoundaryPolicies

Methods
createPOST /v3beta/{parent=organizations/*/locations/*}/principalAccessBoundaryPolicies
Creates a principal access boundary policy, and returns a long running operation.
deleteDELETE /v3beta/{name=organizations/*/locations/*/principalAccessBoundaryPolicies/*}
Deletes a principal access boundary policy.
getGET /v3beta/{name=organizations/*/locations/*/principalAccessBoundaryPolicies/*}
Gets a principal access boundary policy.
listGET /v3beta/{parent=organizations/*/locations/*}/principalAccessBoundaryPolicies
Lists principal access boundary policies.
patchPATCH /v3beta/{principalAccessBoundaryPolicy.name=organizations/*/locations/*/principalAccessBoundaryPolicies/*}
Updates a principal access boundary policy.
searchPolicyBindingsGET /v3beta/{name=organizations/*/locations/*/principalAccessBoundaryPolicies/*}:searchPolicyBindings
Returns all policy bindings that bind a specific policy if a user has searchPolicyBindings permission on that policy.

REST Resource:v3beta.projects.locations.accessPolicies

Methods
createPOST /v3beta/{parent=projects/*/locations/*}/accessPolicies
Creates an access policy, and returns a long running operation.
deleteDELETE /v3beta/{name=projects/*/locations/*/accessPolicies/*}
Deletes an access policy.
getGET /v3beta/{name=projects/*/locations/*/accessPolicies/*}
Gets an access policy.
listGET /v3beta/{parent=projects/*/locations/*}/accessPolicies
Lists access policies.
patchPATCH /v3beta/{accessPolicy.name=projects/*/locations/*/accessPolicies/*}
Updates an access policy.
searchPolicyBindingsGET /v3beta/{name=projects/*/locations/*/accessPolicies/*}:searchPolicyBindings
Returns all policy bindings that bind a specific policy if a user has searchPolicyBindings permission on that policy.

REST Resource:v3beta.projects.locations.operations

Methods
getGET /v3beta/{name=projects/*/locations/*/operations/*}
Gets the latest state of a long-running operation.

REST Resource:v3beta.projects.locations.policyBindings

Methods
createPOST /v3beta/{parent=projects/*/locations/*}/policyBindings
Creates a policy binding and returns a long-running operation.
deleteDELETE /v3beta/{name=projects/*/locations/*/policyBindings/*}
Deletes a policy binding and returns a long-running operation.
getGET /v3beta/{name=projects/*/locations/*/policyBindings/*}
Gets a policy binding.
listGET /v3beta/{parent=projects/*/locations/*}/policyBindings
Lists policy bindings.
patchPATCH /v3beta/{policyBinding.name=projects/*/locations/*/policyBindings/*}
Updates a policy binding and returns a long-running operation.
searchTargetPolicyBindingsGET /v3beta/{parent=projects/*/locations/*}/policyBindings:searchTargetPolicyBindings
Search policy bindings by target.

REST Resource:v3.folders.locations.operations

Methods
getGET /v3/{name=folders/*/locations/*/operations/*}
Gets the latest state of a long-running operation.

REST Resource:v3.folders.locations.policyBindings

Methods
createPOST /v3/{parent=folders/*/locations/*}/policyBindings
Creates a policy binding and returns a long-running operation.
deleteDELETE /v3/{name=folders/*/locations/*/policyBindings/*}
Deletes a policy binding and returns a long-running operation.
getGET /v3/{name=folders/*/locations/*/policyBindings/*}
Gets a policy binding.
listGET /v3/{parent=folders/*/locations/*}/policyBindings
Lists policy bindings.
patchPATCH /v3/{policyBinding.name=folders/*/locations/*/policyBindings/*}
Updates a policy binding and returns a long-running operation.
searchTargetPolicyBindingsGET /v3/{parent=folders/*/locations/*}/policyBindings:searchTargetPolicyBindings
Search policy bindings by target.

REST Resource:v3.organizations.locations.operations

Methods
getGET /v3/{name=organizations/*/locations/*/operations/*}
Gets the latest state of a long-running operation.

REST Resource:v3.organizations.locations.policyBindings

Methods
createPOST /v3/{parent=organizations/*/locations/*}/policyBindings
Creates a policy binding and returns a long-running operation.
deleteDELETE /v3/{name=organizations/*/locations/*/policyBindings/*}
Deletes a policy binding and returns a long-running operation.
getGET /v3/{name=organizations/*/locations/*/policyBindings/*}
Gets a policy binding.
listGET /v3/{parent=organizations/*/locations/*}/policyBindings
Lists policy bindings.
patchPATCH /v3/{policyBinding.name=organizations/*/locations/*/policyBindings/*}
Updates a policy binding and returns a long-running operation.
searchTargetPolicyBindingsGET /v3/{parent=organizations/*/locations/*}/policyBindings:searchTargetPolicyBindings
Search policy bindings by target.

REST Resource:v3.organizations.locations.principalAccessBoundaryPolicies

Methods
createPOST /v3/{parent=organizations/*/locations/*}/principalAccessBoundaryPolicies
Creates a principal access boundary policy, and returns a long running operation.
deleteDELETE /v3/{name=organizations/*/locations/*/principalAccessBoundaryPolicies/*}
Deletes a principal access boundary policy.
getGET /v3/{name=organizations/*/locations/*/principalAccessBoundaryPolicies/*}
Gets a principal access boundary policy.
listGET /v3/{parent=organizations/*/locations/*}/principalAccessBoundaryPolicies
Lists principal access boundary policies.
patchPATCH /v3/{principalAccessBoundaryPolicy.name=organizations/*/locations/*/principalAccessBoundaryPolicies/*}
Updates a principal access boundary policy.
searchPolicyBindingsGET /v3/{name=organizations/*/locations/*/principalAccessBoundaryPolicies/*}:searchPolicyBindings
Returns all policy bindings that bind a specific policy if a user has searchPolicyBindings permission on that policy.

REST Resource:v3.projects.locations.operations

Methods
getGET /v3/{name=projects/*/locations/*/operations/*}
Gets the latest state of a long-running operation.

REST Resource:v3.projects.locations.policyBindings

Methods
createPOST /v3/{parent=projects/*/locations/*}/policyBindings
Creates a policy binding and returns a long-running operation.
deleteDELETE /v3/{name=projects/*/locations/*/policyBindings/*}
Deletes a policy binding and returns a long-running operation.
getGET /v3/{name=projects/*/locations/*/policyBindings/*}
Gets a policy binding.
listGET /v3/{parent=projects/*/locations/*}/policyBindings
Lists policy bindings.
patchPATCH /v3/{policyBinding.name=projects/*/locations/*/policyBindings/*}
Updates a policy binding and returns a long-running operation.
searchTargetPolicyBindingsGET /v3/{parent=projects/*/locations/*}/policyBindings:searchTargetPolicyBindings
Search policy bindings by target.

REST Resource:v2beta.policies

Methods
createPolicyPOST /v2beta/{parent=policies/*/*}
Creates a policy.
deleteDELETE /v2beta/{name=policies/*/*/*}
Deletes a policy.
getGET /v2beta/{name=policies/*/*/*}
Gets a policy.
listPoliciesGET /v2beta/{parent=policies/*/*}
Retrieves the policies of the specified kind that are attached to a resource.
updatePUT /v2beta/{policy.name=policies/*/*/*}
Updates the specified policy.

REST Resource:v2beta.policies.operations

Methods
getGET /v2beta/{name=policies/*/*/*/operations/*}
Gets the latest state of a long-running operation.

REST Resource:v2.policies

Methods
createPolicyPOST /v2/{parent=policies/*/*}
Creates a policy.
deleteDELETE /v2/{name=policies/*/*/*}
Deletes a policy.
getGET /v2/{name=policies/*/*/*}
Gets a policy.
listPoliciesGET /v2/{parent=policies/*/*}
Retrieves the policies of the specified kind that are attached to a resource.
updatePUT /v2/{policy.name=policies/*/*/*}
Updates the specified policy.

REST Resource:v2.policies.operations

Methods
getGET /v2/{name=policies/*/*/*/operations/*}
Gets the latest state of a long-running operation.

REST Resource:v1beta.projects.locations.workloadIdentityPools

Methods
createPOST /v1beta/{parent=projects/*/locations/*}/workloadIdentityPools
Creates a newWorkloadIdentityPool.
deleteDELETE /v1beta/{name=projects/*/locations/*/workloadIdentityPools/*}
Deletes aWorkloadIdentityPool.
getGET /v1beta/{name=projects/*/locations/*/workloadIdentityPools/*}
Gets an individualWorkloadIdentityPool.
listGET /v1beta/{parent=projects/*/locations/*}/workloadIdentityPools
Lists all non-deletedWorkloadIdentityPools in a project.
patchPATCH /v1beta/{workloadIdentityPool.name=projects/*/locations/*/workloadIdentityPools/*}
Updates an existingWorkloadIdentityPool.
undeletePOST /v1beta/{name=projects/*/locations/*/workloadIdentityPools/*}:undelete
Undeletes aWorkloadIdentityPool, as long as it was deleted fewer than 30 days ago.

REST Resource:v1beta.projects.locations.workloadIdentityPools.operations

Methods
getGET /v1beta/{name=projects/*/locations/*/workloadIdentityPools/*/operations/*}
Gets the latest state of a long-running operation.

REST Resource:v1beta.projects.locations.workloadIdentityPools.providers

Methods
createPOST /v1beta/{parent=projects/*/locations/*/workloadIdentityPools/*}/providers
Creates a newWorkloadIdentityPoolProvider in aWorkloadIdentityPool.
deleteDELETE /v1beta/{name=projects/*/locations/*/workloadIdentityPools/*/providers/*}
Deletes aWorkloadIdentityPoolProvider.
getGET /v1beta/{name=projects/*/locations/*/workloadIdentityPools/*/providers/*}
Gets an individualWorkloadIdentityPoolProvider.
listGET /v1beta/{parent=projects/*/locations/*/workloadIdentityPools/*}/providers
Lists all non-deletedWorkloadIdentityPoolProviders in aWorkloadIdentityPool.
patchPATCH /v1beta/{workloadIdentityPoolProvider.name=projects/*/locations/*/workloadIdentityPools/*/providers/*}
Updates an existingWorkloadIdentityPoolProvider.
undeletePOST /v1beta/{name=projects/*/locations/*/workloadIdentityPools/*/providers/*}:undelete
Undeletes aWorkloadIdentityPoolProvider, as long as it was deleted fewer than 30 days ago.

REST Resource:v1beta.projects.locations.workloadIdentityPools.providers.operations

Methods
getGET /v1beta/{name=projects/*/locations/*/workloadIdentityPools/*/providers/*/operations/*}
Gets the latest state of a long-running operation.

REST Resource:v1.iamPolicies

Methods
lintPolicyPOST /v1/iamPolicies:lintPolicy
Lints, or validates, an IAM policy.
queryAuditableServicesPOST /v1/iamPolicies:queryAuditableServices
Returns a list of services that allow you to opt into audit logs that are not generated by default.

REST Resource:v1.locations.workforcePools

Methods
createPOST /v1/{location=locations/*}/workforcePools
Creates a newWorkforcePool.
deleteDELETE /v1/{name=locations/*/workforcePools/*}
Deletes aWorkforcePool.
getGET /v1/{name=locations/*/workforcePools/*}
Gets an individualWorkforcePool.
getIamPolicyPOST /v1/{resource=locations/*/workforcePools/*}:getIamPolicy
Gets IAM policies on aWorkforcePool.
listGET /v1/{location=locations/*}/workforcePools
Lists all non-deletedWorkforcePools under the specified parent.
patchPATCH /v1/{workforcePool.name=locations/*/workforcePools/*}
Updates an existingWorkforcePool.
setIamPolicyPOST /v1/{resource=locations/*/workforcePools/*}:setIamPolicy
Sets IAM policies on aWorkforcePool.
testIamPermissionsPOST /v1/{resource=locations/*/workforcePools/*}:testIamPermissions
Returns the caller's permissions on theWorkforcePool.
undeletePOST /v1/{name=locations/*/workforcePools/*}:undelete
Undeletes aWorkforcePool, as long as it was deleted fewer than 30 days ago.

REST Resource:v1.locations.workforcePools.operations

Methods
getGET /v1/{name=locations/*/workforcePools/*/operations/*}
Gets the latest state of a long-running operation.

REST Resource:v1.locations.workforcePools.providers

Methods
createPOST /v1/{parent=locations/*/workforcePools/*}/providers
Creates a newWorkforcePoolProvider in aWorkforcePool.
deleteDELETE /v1/{name=locations/*/workforcePools/*/providers/*}
Deletes aWorkforcePoolProvider.
getGET /v1/{name=locations/*/workforcePools/*/providers/*}
Gets an individualWorkforcePoolProvider.
listGET /v1/{parent=locations/*/workforcePools/*}/providers
Lists all non-deletedWorkforcePoolProviders in aWorkforcePool.
patchPATCH /v1/{workforcePoolProvider.name=locations/*/workforcePools/*/providers/*}
Updates an existingWorkforcePoolProvider.
undeletePOST /v1/{name=locations/*/workforcePools/*/providers/*}:undelete
Undeletes aWorkforcePoolProvider, as long as it was deleted fewer than 30 days ago.

REST Resource:v1.locations.workforcePools.providers.keys

Methods
createPOST /v1/{parent=locations/*/workforcePools/*/providers/*}/keys
Creates a newWorkforcePoolProviderKey in aWorkforcePoolProvider.
deleteDELETE /v1/{name=locations/*/workforcePools/*/providers/*/keys/*}
Deletes aWorkforcePoolProviderKey.
getGET /v1/{name=locations/*/workforcePools/*/providers/*/keys/*}
Gets aWorkforcePoolProviderKey.
listGET /v1/{parent=locations/*/workforcePools/*/providers/*}/keys
Lists all non-deletedWorkforcePoolProviderKeys in aWorkforcePoolProvider.
undeletePOST /v1/{name=locations/*/workforcePools/*/providers/*/keys/*}:undelete
Undeletes aWorkforcePoolProviderKey, as long as it was deleted fewer than 30 days ago.

REST Resource:v1.locations.workforcePools.providers.operations

Methods
getGET /v1/{name=locations/*/workforcePools/*/providers/*/operations/*}
Gets the latest state of a long-running operation.

REST Resource:v1.locations.workforcePools.providers.scimTenants

Methods
createPOST /v1/{parent=locations/*/workforcePools/*/providers/*}/scimTenants
Gemini Enterprise only.
deleteDELETE /v1/{name=locations/*/workforcePools/*/providers/*/scimTenants/*}
Gemini Enterprise only.
getGET /v1/{name=locations/*/workforcePools/*/providers/*/scimTenants/*}
Gemini Enterprise only.
listGET /v1/{parent=locations/*/workforcePools/*/providers/*}/scimTenants
Gemini Enterprise only.
patchPATCH /v1/{workforcePoolProviderScimTenant.name=locations/*/workforcePools/*/providers/*/scimTenants/*}
Gemini Enterprise only.
undeletePOST /v1/{name=locations/*/workforcePools/*/providers/*/scimTenants/*}:undelete
Gemini Enterprise only.

REST Resource:v1.locations.workforcePools.providers.scimTenants.tokens

Methods
createPOST /v1/{parent=locations/*/workforcePools/*/providers/*/scimTenants/*}/tokens
Gemini Enterprise only.
deleteDELETE /v1/{name=locations/*/workforcePools/*/providers/*/scimTenants/*/tokens/*}
Gemini Enterprise only.
getGET /v1/{name=locations/*/workforcePools/*/providers/*/scimTenants/*/tokens/*}
Gemini Enterprise only.
listGET /v1/{parent=locations/*/workforcePools/*/providers/*/scimTenants/*}/tokens
Gemini Enterprise only.
patchPATCH /v1/{workforcePoolProviderScimToken.name=locations/*/workforcePools/*/providers/*/scimTenants/*/tokens/*}
Gemini Enterprise only.
undeletePOST /v1/{name=locations/*/workforcePools/*/providers/*/scimTenants/*/tokens/*}:undelete
Gemini Enterprise only.

REST Resource:v1.locations.workforcePools.subjects

Methods
deleteDELETE /v1/{name=locations/*/workforcePools/*/subjects/*}
Deletes aWorkforcePoolSubject.
undeletePOST /v1/{name=locations/*/workforcePools/*/subjects/*}:undelete
Undeletes aWorkforcePoolSubject, as long as it was deleted fewer than 30 days ago.

REST Resource:v1.organizations.roles

Methods
createPOST /v1/{parent=organizations/*}/roles
Creates a new customRole.
deleteDELETE /v1/{name=organizations/*/roles/*}
Deletes a customRole.
getGET /v1/{name=organizations/*/roles/*}
Gets the definition of aRole.
listGET /v1/{parent=organizations/*}/roles
Lists every predefinedRole that IAM supports, or every custom role that is defined for an organization or project.
patchPATCH /v1/{name=organizations/*/roles/*}
Updates the definition of a customRole.
undeletePOST /v1/{name=organizations/*/roles/*}:undelete
Undeletes a customRole.

REST Resource:v1.permissions

Methods
queryTestablePermissionsPOST /v1/permissions:queryTestablePermissions
Lists every permission that you can test on a resource.

REST Resource:v1.projects.locations.oauthClients

Methods
createPOST /v1/{parent=projects/*/locations/*}/oauthClients
Creates a newOauthClient.
deleteDELETE /v1/{name=projects/*/locations/*/oauthClients/*}
Deletes anOauthClient.
getGET /v1/{name=projects/*/locations/*/oauthClients/*}
Gets an individualOauthClient.
listGET /v1/{parent=projects/*/locations/*}/oauthClients
Lists all non-deletedOauthClients in a project.
patchPATCH /v1/{oauthClient.name=projects/*/locations/*/oauthClients/*}
Updates an existingOauthClient.
undeletePOST /v1/{name=projects/*/locations/*/oauthClients/*}:undelete
Undeletes anOauthClient, as long as it was deleted fewer than 30 days ago.

REST Resource:v1.projects.locations.oauthClients.credentials

Methods
createPOST /v1/{parent=projects/*/locations/*/oauthClients/*}/credentials
Creates a newOauthClientCredential.
deleteDELETE /v1/{name=projects/*/locations/*/oauthClients/*/credentials/*}
Deletes anOauthClientCredential.
getGET /v1/{name=projects/*/locations/*/oauthClients/*/credentials/*}
Gets an individualOauthClientCredential.
listGET /v1/{parent=projects/*/locations/*/oauthClients/*}/credentials
Lists allOauthClientCredentials in anOauthClient.
patchPATCH /v1/{oauthClientCredential.name=projects/*/locations/*/oauthClients/*/credentials/*}
Updates an existingOauthClientCredential.

REST Resource:v1.projects.locations.workloadIdentityPools

Methods
createPOST /v1/{parent=projects/*/locations/*}/workloadIdentityPools
Creates a newWorkloadIdentityPool.
deleteDELETE /v1/{name=projects/*/locations/*/workloadIdentityPools/*}
Deletes aWorkloadIdentityPool.
getGET /v1/{name=projects/*/locations/*/workloadIdentityPools/*}
Gets an individualWorkloadIdentityPool.
getIamPolicyPOST /v1/{resource=projects/*/locations/*/workloadIdentityPools/*}:getIamPolicy
Gets the IAM policy of aWorkloadIdentityPool.
listGET /v1/{parent=projects/*/locations/*}/workloadIdentityPools
Lists all non-deletedWorkloadIdentityPools in a project.
patchPATCH /v1/{workloadIdentityPool.name=projects/*/locations/*/workloadIdentityPools/*}
Updates an existingWorkloadIdentityPool.
setIamPolicyPOST /v1/{resource=projects/*/locations/*/workloadIdentityPools/*}:setIamPolicy
Sets the IAM policies on aWorkloadIdentityPool
testIamPermissionsPOST /v1/{resource=projects/*/locations/*/workloadIdentityPools/*}:testIamPermissions
Returns the caller's permissions on aWorkloadIdentityPool
undeletePOST /v1/{name=projects/*/locations/*/workloadIdentityPools/*}:undelete
Undeletes aWorkloadIdentityPool, as long as it was deleted fewer than 30 days ago.

REST Resource:v1.projects.locations.workloadIdentityPools.namespaces

Methods
createPOST /v1/{parent=projects/*/locations/*/workloadIdentityPools/*}/namespaces
Creates a newWorkloadIdentityPoolNamespace in aWorkloadIdentityPool.
deleteDELETE /v1/{name=projects/*/locations/*/workloadIdentityPools/*/namespaces/*}
Deletes aWorkloadIdentityPoolNamespace.
getGET /v1/{name=projects/*/locations/*/workloadIdentityPools/*/namespaces/*}
Gets an individualWorkloadIdentityPoolNamespace.
listGET /v1/{parent=projects/*/locations/*/workloadIdentityPools/*}/namespaces
Lists all non-deletedWorkloadIdentityPoolNamespaces in a workload identity pool.
patchPATCH /v1/{workloadIdentityPoolNamespace.name=projects/*/locations/*/workloadIdentityPools/*/namespaces/*}
Updates an existingWorkloadIdentityPoolNamespace in aWorkloadIdentityPool.
undeletePOST /v1/{name=projects/*/locations/*/workloadIdentityPools/*/namespaces/*}:undelete
Undeletes aWorkloadIdentityPoolNamespace, as long as it was deleted fewer than 30 days ago.

REST Resource:v1.projects.locations.workloadIdentityPools.namespaces.managedIdentities

Methods
addAttestationRulePOST /v1/{resource=projects/*/locations/*/workloadIdentityPools/*/namespaces/*/managedIdentities/*}:addAttestationRule
Add anAttestationRule on aWorkloadIdentityPoolManagedIdentity.
createPOST /v1/{parent=projects/*/locations/*/workloadIdentityPools/*/namespaces/*}/managedIdentities
Creates a newWorkloadIdentityPoolManagedIdentity in aWorkloadIdentityPoolNamespace.
deleteDELETE /v1/{name=projects/*/locations/*/workloadIdentityPools/*/namespaces/*/managedIdentities/*}
Deletes aWorkloadIdentityPoolManagedIdentity.
getGET /v1/{name=projects/*/locations/*/workloadIdentityPools/*/namespaces/*/managedIdentities/*}
Gets an individualWorkloadIdentityPoolManagedIdentity.
listGET /v1/{parent=projects/*/locations/*/workloadIdentityPools/*/namespaces/*}/managedIdentities
Lists all non-deletedWorkloadIdentityPoolManagedIdentitys in a namespace.
listAttestationRulesGET /v1/{resource=projects/*/locations/*/workloadIdentityPools/*/namespaces/*/managedIdentities/*}:listAttestationRules
List allAttestationRule on aWorkloadIdentityPoolManagedIdentity.
patchPATCH /v1/{workloadIdentityPoolManagedIdentity.name=projects/*/locations/*/workloadIdentityPools/*/namespaces/*/managedIdentities/*}
Updates an existingWorkloadIdentityPoolManagedIdentity in aWorkloadIdentityPoolNamespace.
removeAttestationRulePOST /v1/{resource=projects/*/locations/*/workloadIdentityPools/*/namespaces/*/managedIdentities/*}:removeAttestationRule
Remove anAttestationRule on aWorkloadIdentityPoolManagedIdentity.
setAttestationRulesPOST /v1/{resource=projects/*/locations/*/workloadIdentityPools/*/namespaces/*/managedIdentities/*}:setAttestationRules
Set allAttestationRule on aWorkloadIdentityPoolManagedIdentity.
undeletePOST /v1/{name=projects/*/locations/*/workloadIdentityPools/*/namespaces/*/managedIdentities/*}:undelete
Undeletes aWorkloadIdentityPoolManagedIdentity, as long as it was deleted fewer than 30 days ago.

REST Resource:v1.projects.locations.workloadIdentityPools.operations

Methods
getGET /v1/{name=projects/*/locations/*/workloadIdentityPools/*/operations/*}
Gets the latest state of a long-running operation.

REST Resource:v1.projects.locations.workloadIdentityPools.providers

Methods
createPOST /v1/{parent=projects/*/locations/*/workloadIdentityPools/*}/providers
Creates a newWorkloadIdentityPoolProvider in aWorkloadIdentityPool.
deleteDELETE /v1/{name=projects/*/locations/*/workloadIdentityPools/*/providers/*}
Deletes aWorkloadIdentityPoolProvider.
getGET /v1/{name=projects/*/locations/*/workloadIdentityPools/*/providers/*}
Gets an individualWorkloadIdentityPoolProvider.
listGET /v1/{parent=projects/*/locations/*/workloadIdentityPools/*}/providers
Lists all non-deletedWorkloadIdentityPoolProviders in aWorkloadIdentityPool.
patchPATCH /v1/{workloadIdentityPoolProvider.name=projects/*/locations/*/workloadIdentityPools/*/providers/*}
Updates an existingWorkloadIdentityPoolProvider.
undeletePOST /v1/{name=projects/*/locations/*/workloadIdentityPools/*/providers/*}:undelete
Undeletes aWorkloadIdentityPoolProvider, as long as it was deleted fewer than 30 days ago.

REST Resource:v1.projects.locations.workloadIdentityPools.providers.keys

Methods
createPOST /v1/{parent=projects/*/locations/*/workloadIdentityPools/*/providers/*}/keys
Create a newWorkloadIdentityPoolProviderKey in aWorkloadIdentityPoolProvider.
deleteDELETE /v1/{name=projects/*/locations/*/workloadIdentityPools/*/providers/*/keys/*}
Deletes anWorkloadIdentityPoolProviderKey.
getGET /v1/{name=projects/*/locations/*/workloadIdentityPools/*/providers/*/keys/*}
Gets an individualWorkloadIdentityPoolProviderKey.
listGET /v1/{parent=projects/*/locations/*/workloadIdentityPools/*/providers/*}/keys
Lists all non-deletedWorkloadIdentityPoolProviderKeys in a project.
undeletePOST /v1/{name=projects/*/locations/*/workloadIdentityPools/*/providers/*/keys/*}:undelete
Undeletes anWorkloadIdentityPoolProviderKey, as long as it was deleted fewer than 30 days ago.

REST Resource:v1.projects.locations.workloadIdentityPools.providers.operations

Methods
getGET /v1/{name=projects/*/locations/*/workloadIdentityPools/*/providers/*/operations/*}
Gets the latest state of a long-running operation.

REST Resource:v1.projects.roles

Methods
createPOST /v1/{parent=projects/*}/roles
Creates a new customRole.
deleteDELETE /v1/{name=projects/*/roles/*}
Deletes a customRole.
getGET /v1/{name=projects/*/roles/*}
Gets the definition of aRole.
listGET /v1/{parent=projects/*}/roles
Lists every predefinedRole that IAM supports, or every custom role that is defined for an organization or project.
patchPATCH /v1/{name=projects/*/roles/*}
Updates the definition of a customRole.
undeletePOST /v1/{name=projects/*/roles/*}:undelete
Undeletes a customRole.

REST Resource:v1.projects.serviceAccounts

Methods
createPOST /v1/{name=projects/*}/serviceAccounts
Creates aServiceAccount.
deleteDELETE /v1/{name=projects/*/serviceAccounts/*}
Deletes aServiceAccount.
disablePOST /v1/{name=projects/*/serviceAccounts/*}:disable
Disables aServiceAccount immediately.
enablePOST /v1/{name=projects/*/serviceAccounts/*}:enable
Enables aServiceAccount that was disabled byDisableServiceAccount.
getGET /v1/{name=projects/*/serviceAccounts/*}
Gets aServiceAccount.
getIamPolicyPOST /v1/{resource=projects/*/serviceAccounts/*}:getIamPolicy
Gets the IAM policy that is attached to aServiceAccount.
listGET /v1/{name=projects/*}/serviceAccounts
Lists everyServiceAccount that belongs to a specific project.
patchPATCH /v1/{serviceAccount.name=projects/*/serviceAccounts/*}
Patches aServiceAccount.
setIamPolicyPOST /v1/{resource=projects/*/serviceAccounts/*}:setIamPolicy
Sets the IAM policy that is attached to aServiceAccount.
signBlob
(deprecated)
POST /v1/{name=projects/*/serviceAccounts/*}:signBlob
Signs a blob using the system-managed private key for aServiceAccount.
signJwt
(deprecated)
POST /v1/{name=projects/*/serviceAccounts/*}:signJwt
Signs a JSON Web Token (JWT) using the system-managed private key for aServiceAccount.
testIamPermissionsPOST /v1/{resource=projects/*/serviceAccounts/*}:testIamPermissions
Tests whether the caller has the specified permissions on aServiceAccount.
undeletePOST /v1/{name=projects/*/serviceAccounts/*}:undelete
Restores a deletedServiceAccount.
updatePUT /v1/{name=projects/*/serviceAccounts/*}
Note: We are in the process of deprecating this method.

REST Resource:v1.projects.serviceAccounts.keys

Methods
createPOST /v1/{name=projects/*/serviceAccounts/*}/keys
Creates aServiceAccountKey.
deleteDELETE /v1/{name=projects/*/serviceAccounts/*/keys/*}
Deletes aServiceAccountKey.
disablePOST /v1/{name=projects/*/serviceAccounts/*/keys/*}:disable
Disable aServiceAccountKey.
enablePOST /v1/{name=projects/*/serviceAccounts/*/keys/*}:enable
Enable aServiceAccountKey.
getGET /v1/{name=projects/*/serviceAccounts/*/keys/*}
Gets aServiceAccountKey.
listGET /v1/{name=projects/*/serviceAccounts/*}/keys
Lists everyServiceAccountKey for a service account.
uploadPOST /v1/{name=projects/*/serviceAccounts/*}/keys:upload
Uploads the public key portion of a key pair that you manage, and associates the public key with aServiceAccount.

REST Resource:v1.roles

Methods
getGET /v1/{name=roles/*}
Gets the definition of aRole.
listGET /v1/roles
Lists every predefinedRole that IAM supports, or every custom role that is defined for an organization or project.
queryGrantableRolesPOST /v1/roles:queryGrantableRoles
Lists roles that can be granted on a Google Cloud resource.

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-11-18 UTC.