> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Update Role

> Updates metadata about a role.

## Error codes

This operation may return the following PlayFab errors:

| Error | Code |
| --- | --- |
| RoleDoesNotExist | 1358 |




## OpenAPI

````yaml /services/playfab/api-references/rest/groups/groups.openapi.json post /Group/UpdateRole
openapi: 3.0.0
info:
  version: '260922'
  title: PlayFab Groups API
  description: >-
    The Groups API is designed for any permanent or semi-permanent collections
    of Entities (players, or non-players). If you want to make
    Guilds/Clans/Corporations/etc., then you should use groups. Groups can also
    be used to make chatrooms, parties, or any other persistent collection of
    entities.
  termsOfService: https://playfab.com/terms/
  contact:
    url: https://community.playfab.com/index.html
  license:
    name: Apache 2.0
    url: https://github.com/PlayFab/API_Specs/blob/master/LICENSE
servers:
  - url: https://{titleId}.playfabapi.com
    description: PlayFab title endpoint
    variables:
      titleId:
        default: your_title_id
        description: Your PlayFab title ID (hex).
security: []
tags:
  - name: Groups
    description: Groups Management APIs
paths:
  /Group/UpdateRole:
    post:
      tags:
        - Groups
      summary: Update Role
      description: |
        Updates metadata about a role.

        ## Error codes

        This operation may return the following PlayFab errors:

        | Error | Code |
        | --- | --- |
        | RoleDoesNotExist | 1358 |
      operationId: UpdateRole
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateGroupRoleRequest'
        description: >-
          Updates the role name. Returns information about whether the update
          was successful.
      responses:
        '200':
          $ref: '#/components/responses/UpdateGroupRoleResponse'
        '400':
          $ref: '#/components/responses/ApiErrorWrapper'
      security:
        - EntityToken: []
components:
  schemas:
    UpdateGroupRoleRequest:
      description: >-
        Updates the role name. Returns information about whether the update was
        successful.
      type: object
      properties:
        CustomTags:
          description: >-
            The optional custom tags associated with the request (e.g. build
            number, external trace identifiers, etc.).
          type: object
        ExpectedProfileVersion:
          description: >-
            Optional field used for concurrency control. By specifying the
            previously returned ProfileVersion value from the GetGroup API, you
            can ensure that the group role update is performed only if the group
            has not been updated since you last loaded that version. If the same
            group has been updated, the requested update will not occur and the
            returned SetResult value will be None.
          type: number
          x-actualtype: int32
        Group:
          allOf:
            - $ref: '#/components/schemas/EntityKey'
          description: The identifier of the group
        RoleId:
          description: >-
            ID of the role to update. Role IDs must be between 1 and 64
            characters long.
          type: string
        RoleName:
          description: The new name of the role
          type: string
      required:
        - Group
        - RoleName
      example:
        Group:
          Id: ABC1234ABC
        RoleId: ABC1234DEF
        RoleName: My New Role Name
        ExpectedProfileVersion: 17
    EntityKey:
      description: >-
        Combined entity type and ID structure which uniquely identifies a single
        entity.
      type: object
      properties:
        Id:
          description: Unique ID of the entity.
          type: string
        Type:
          description: >-
            Entity type. See
            https://learn.microsoft.com/gaming/playfab/features/data/entities/available-built-in-entity-types
          type: string
      required:
        - Id
    UpdateGroupRoleResponse:
      type: object
      properties:
        OperationReason:
          description: >-
            Optional reason to explain why the operation was the result that it
            was.
          type: string
        ProfileVersion:
          description: New version of the role data.
          type: number
          x-actualtype: int32
        SetResult:
          allOf:
            - $ref: '#/components/schemas/OperationTypes'
          description: >-
            Indicates which operation was completed, either Created, Updated,
            Deleted or None.
      required:
        - ProfileVersion
      example:
        ProfileVersion: 18
        SetResult: Updated
    ApiErrorWrapper:
      description: The basic wrapper around every failed API response
      type: object
      properties:
        code:
          description: Numerical HTTP code
          type: integer
        status:
          description: String HTTP code
          type: string
        error:
          description: Playfab error code
          type: string
        errorCode:
          description: Numerical PlayFab error code
          type: integer
        errorMessage:
          description: Description for the PlayFab errorCode
          type: string
        errorDetails:
          description: Detailed description of individual issues with the request object
          type: object
      required:
        - code
        - errorCode
    OperationTypes:
      type: string
      enum:
        - Created
        - Updated
        - Deleted
        - None
  responses:
    UpdateGroupRoleResponse:
      description: ''
      content:
        application/json:
          schema:
            type: object
            properties:
              code:
                type: integer
                description: >-
                  The Http status code. If X-ReportErrorAsSuccess header is set
                  to true, this will report the actual http error code.
              status:
                type: string
                description: The Http status code as a string.
              data:
                $ref: '#/components/schemas/UpdateGroupRoleResponse'
            example:
              code: 200
              status: OK
              data:
                ProfileVersion: 18
                SetResult: Updated
    ApiErrorWrapper:
      description: This is the outer wrapper for all responses with errors
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiErrorWrapper'
  securitySchemes:
    EntityToken:
      type: apiKey
      in: header
      name: X-EntityToken
      description: >-
        This API requires an Entity Session Token, available from the Entity
        GetEntityToken method.

````

## Related topics

- [Update Role](/services/playfab/api-references/rest/groups/groups/update-role.md)
- [PFGroupsUpdateRoleAsync](/services/playfab/api-references/c/pfgroups/functions/pfgroupsupdateroleasync.md)
- [PFGroupsUpdateGroupRoleRequest](/services/playfab/api-references/c/pfgroupstypes/structs/pfgroupsupdategrouprolerequest.md)
- [PFGroupsUpdateRoleGetResult](/services/playfab/api-references/c/pfgroups/functions/pfgroupsupdaterolegetresult.md)
- [PFGroupsUpdateRoleGetResultSize](/services/playfab/api-references/c/pfgroups/functions/pfgroupsupdaterolegetresultsize.md)
