---
updatedAt: 2026-10-07T13:23:58.000Z
agentTools:
  siteIndex: https://docs.jfrog.com/llms.txt
  projectIndex: https://docs.jfrog.com/administration/llms.txt
---

# Edit a Global Role

Update an existing global role.


**Security:** Requires admin privileges.


# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "JFrog Platform - Global Roles API",
    "description": "Custom global role management APIs for the JFrog Platform.\n\n**Authentication:** Access Tokens as bearer token in authorization header (Authorization: Bearer `<token>`)\n\n**Security:** Unless otherwise specified, all APIs require admin privileges.\n",
    "version": "1.0.0",
    "contact": {
      "name": "JFrog Support"
    }
  },
  "servers": [
    {
      "url": "https://{jfrog_url}"
    }
  ],
  "tags": [
    {
      "name": "Global Roles",
      "description": "APIs for creating, editing, deleting, and listing global roles in the JFrog Platform."
    }
  ],
  "security": [
    {
      "BearerAuth": []
    }
  ],
  "paths": {
    "/access/api/v1/roles/{role}": {
      "put": {
        "tags": [
          "Global Roles"
        ],
        "summary": "Edit a Global Role",
        "description": "Update an existing global role.\n\n\n**Security:** Requires admin privileges.\n",
        "operationId": "updateGlobalRole",
        "parameters": [
          {
            "name": "role",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The role name"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GlobalRoleUpdate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Role updated successfully."
          },
          "400": {
            "description": "Bad Request - Invalid input"
          },
          "401": {
            "description": "Bad Credentials - Invalid credentials"
          },
          "403": {
            "description": "Permission Denied - Insufficient permissions"
          },
          "404": {
            "description": "Not Found - Role not found"
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "BearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "description": "Access Token as bearer token"
      }
    },
    "schemas": {
      "GlobalRoleType": {
        "type": "string",
        "description": "Type for roles returned by this API. ADMIN is the Project Admin role; PREDEFINED is other built-in roles (e.g. Viewer); CUSTOM_GLOBAL is a user-defined global role. On PUT, the value must match the role's current type (the server rejects type changes).",
        "enum": [
          "ADMIN",
          "PREDEFINED",
          "CUSTOM_GLOBAL"
        ]
      },
      "GlobalRoleUpdate": {
        "type": "object",
        "description": "Request body matches the Role resource model. `name` must match the `{role}` path segment. `type` must match the role's current type (unchanged on edit). Other fields are optional; send `description`, `environments`, and `actions` only when updating those aspects.",
        "required": [
          "name",
          "type"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Role name; typically matches the `{role}` path parameter."
          },
          "description": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/GlobalRoleType"
          },
          "environments": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "actions": {
            "type": "array",
            "description": "Permission actions as enum constant names (e.g. READ_REPOSITORY, MANAGE_MEMBERS).",
            "items": {
              "type": "string"
            }
          }
        }
      }
    }
  },
  "x-readme": {
    "explorer-enabled": false
  }
}
```