Method: organizations.roles.undelete

Undeletes a custom Role.

HTTP request


The URL uses gRPC Transcoding syntax.

Path parameters



The name parameter's value depends on the target resource for the request, namely projects or organizations. Each resource type's name value format is described below:

  • projects.roles.undelete: projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}. This method undeletes only custom roles that have been created at the project level. Example request URL:{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}

  • organizations.roles.undelete: organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}. This method undeletes only custom roles that have been created at the organization level. Example request URL:{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}

Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.

Authorization requires the following IAM permission on the specified resource name:

  • iam.roles.undelete

Request body

The request body contains data with the following structure:

JSON representation
  "etag": string

string (bytes format)

Used to perform a consistent read-modify-write.

A base64-encoded string.

Response body

If successful, the response body contains an instance of Role.

Authorization scopes

Requires one of the following OAuth scopes:


For more information, see the Authentication Overview.