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.patch: projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}. This method updates only custom roles that have been created at the project level. Example request URL: https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}
organizations.roles.patch: organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}. This method updates only custom roles that have been created at the organization level. Example request URL: https://iam.googleapis.com/v1/organizations/{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:
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-05-21 UTC."],[[["\u003cp\u003eThis page details how to update a custom Role using the \u003ccode\u003ePATCH\u003c/code\u003e method via the \u003ccode\u003eiam.googleapis.com\u003c/code\u003e API.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003ePATCH\u003c/code\u003e request targets either project-level or organization-level custom roles using specific URL formats: \u003ccode\u003eprojects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}\u003c/code\u003e or \u003ccode\u003eorganizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}\u003c/code\u003e, respectively.\u003c/p\u003e\n"],["\u003cp\u003eThe request requires specifying the resource \u003ccode\u003ename\u003c/code\u003e as a path parameter, and a \u003ccode\u003eupdateMask\u003c/code\u003e query parameter is needed to define which Role fields are being updated.\u003c/p\u003e\n"],["\u003cp\u003eBoth the request and response bodies utilize an instance of the \u003ccode\u003eRole\u003c/code\u003e object, as defined in the API.\u003c/p\u003e\n"],["\u003cp\u003eTo update the Role, the request requires the \u003ccode\u003eiam.roles.update\u003c/code\u003e permission and either the \u003ccode\u003ehttps://www.googleapis.com/auth/iam\u003c/code\u003e or \u003ccode\u003ehttps://www.googleapis.com/auth/cloud-platform\u003c/code\u003e OAuth scope.\u003c/p\u003e\n"]]],[],null,["# Method: projects.roles.patch\n\n- [HTTP request](#body.HTTP_TEMPLATE)\n- [Path parameters](#body.PATH_PARAMETERS)\n- [Query parameters](#body.QUERY_PARAMETERS)\n- [Request body](#body.request_body)\n- [Response body](#body.response_body)\n- [Authorization scopes](#body.aspect)\n- [Examples](#examples)\n- [Try it!](#try-it)\n\nUpdates the definition of a custom [Role](/iam/docs/reference/rest/v1/organizations.roles#Role).\n\n### HTTP request\n\n`PATCH https://iam.googleapis.com/v1/{name=projects/*/roles/*}`\n\nThe URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.\n\n### Path parameters\n\n### Query parameters\n\n### Request body\n\nThe request body contains an instance of [Role](/iam/docs/reference/rest/v1/organizations.roles#Role).\n\n### Response body\n\nIf successful, the response body contains an instance of [Role](/iam/docs/reference/rest/v1/organizations.roles#Role).\n\n### Authorization scopes\n\nRequires one of the following OAuth scopes:\n\n- `https://www.googleapis.com/auth/iam`\n- `\n https://www.googleapis.com/auth/cloud-platform`\n\nFor more information, see the [Authentication Overview](/docs/authentication#authorization-gcp)."]]