> ## 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 Shared Group Data

> Adds, updates, and removes data keys for a shared group object. If the permission is set to Public, all fields updated or added in this call will be readable by users not in the group. By default, data permissions are set to Private. Regardless of the permission setting, only members of the group (and the server) can update the data. Shared Groups are designed for sharing data between a very small number of players, please see our guide: https://learn.microsoft.com/gaming/playfab/features/social/groups/using-shared-group-data

## Error codes

This operation may return the following PlayFab errors:

| Error | Code |
| --- | --- |
| InvalidSharedGroupId | 1088 |
| InvalidSignature | 1273 |
| InvalidSignatureTime | 1324 |
| PlayerSecretNotConfigured | 1323 |
| ProductDisabledForTitle | 1609 |




## OpenAPI

````yaml /services/playfab/api-references/rest/server/server.openapi.json post /Server/UpdateSharedGroupData
openapi: 3.0.0
info:
  version: '260922'
  title: PlayFab Server API
  description: >-
    Provides functionality to allow external (developer-controlled) servers to
    interact with user inventories and data in a trusted manner, and to handle
    matchmaking and client connection orchestration
  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: Account Management
    description: Account Management APIs
  - name: Analytics
    description: Analytics APIs
  - name: Authentication
    description: Authentication APIs
  - name: Character Data
    description: Character Data APIs
  - name: Characters
    description: Characters APIs
  - name: Content
    description: Content Service APIs
  - name: Friend List Management
    description: Friend List Management APIs
  - name: Matchmaking
    description: Matchmaking APIs
  - name: Platform Specific Methods
    description: Platform Specific Methods APIs
  - name: Player Data Management
    description: Player Data Management APIs
  - name: Player Item Management
    description: Player Item Management APIs
  - name: PlayStream
    description: PlayStream Management APIs
  - name: Server-Side Cloud Script
    description: Server-Side Cloud Script APIs
  - name: Shared Group Data
    description: Shared Group Data APIs
  - name: Title-Wide Data Management
    description: Title-Wide Data Management APIs
paths:
  /Server/UpdateSharedGroupData:
    post:
      tags:
        - Shared Group Data
      summary: Update Shared Group Data
      description: >
        Adds, updates, and removes data keys for a shared group object. If the
        permission is set to Public, all fields updated or added in this call
        will be readable by users not in the group. By default, data permissions
        are set to Private. Regardless of the permission setting, only members
        of the group (and the server) can update the data. Shared Groups are
        designed for sharing data between a very small number of players, please
        see our guide:
        https://learn.microsoft.com/gaming/playfab/features/social/groups/using-shared-group-data


        ## Error codes


        This operation may return the following PlayFab errors:


        | Error | Code |

        | --- | --- |

        | InvalidSharedGroupId | 1088 |

        | InvalidSignature | 1273 |

        | InvalidSignatureTime | 1324 |

        | PlayerSecretNotConfigured | 1323 |

        | ProductDisabledForTitle | 1609 |
      operationId: UpdateSharedGroupData
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateSharedGroupDataRequest'
        description: >-
          Note that in the case of multiple calls to write to the same shared
          group data keys, the last write received by the PlayFab service will
          determine the value available to subsequent read operations. For
          scenarios requiring coordination of data updates, it is recommended
          that titles make use of user data with read permission set to public,
          or a combination of user data and shared group data.
      responses:
        '200':
          $ref: '#/components/responses/UpdateSharedGroupDataResult'
        '400':
          $ref: '#/components/responses/ApiErrorWrapper'
      security:
        - SecretKey: []
components:
  schemas:
    UpdateSharedGroupDataRequest:
      description: >-
        Note that in the case of multiple calls to write to the same shared
        group data keys, the last write received by the PlayFab service will
        determine the value available to subsequent read operations. For
        scenarios requiring coordination of data updates, it is recommended that
        titles make use of user data with read permission set to public, or a
        combination of user data and shared group data.
      type: object
      properties:
        CustomTags:
          description: >-
            The optional custom tags associated with the request (e.g. build
            number, external trace identifiers, etc.).
          type: object
        Data:
          description: >-
            Key-value pairs to be written to the custom data. Note that keys are
            trimmed of whitespace, are limited in size, and may not begin with a
            '!' character or be null.
          type: object
        KeysToRemove:
          description: >-
            Optional list of Data-keys to remove from UserData. Some SDKs cannot
            insert null-values into Data due to language constraints. Use this
            to delete the keys directly.
          type: array
          items:
            type: string
        Permission:
          allOf:
            - $ref: '#/components/schemas/UserDataPermission'
          description: Permission to be applied to all user data keys in this request.
        SharedGroupId:
          description: Unique identifier for the shared group.
          type: string
      required:
        - SharedGroupId
      example:
        SharedGroupId: Clan Data
        Data:
          ClanKills: '34'
          LastClanUpdate: '2014-10-03T09:21:14Z'
        Permission: Public
    UserDataPermission:
      description: >-
        Indicates whether a given data key is private (readable only by the
        player) or public (readable by all players). When a player makes a
        GetUserData request about another player, only keys marked Public will
        be returned.
      type: string
      enum:
        - Private
        - Public
    UpdateSharedGroupDataResult:
      type: object
      properties: {}
    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
  responses:
    UpdateSharedGroupDataResult:
      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/UpdateSharedGroupDataResult'
    ApiErrorWrapper:
      description: This is the outer wrapper for all responses with errors
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiErrorWrapper'
  securitySchemes:
    SecretKey:
      type: apiKey
      in: header
      name: X-SecretKey
      description: >-
        This API requires a title secret key, available to title admins, from
        PlayFab Game Manager.

````

## Related topics

- [Update Shared Group Data](/services/playfab/api-references/rest/client/shared-group-data/update-shared-group-data.md)
- [Profile Writes Meter API Description](/services/playfab/pricing/meters/profile-writes.md)
- [Get Shared Group Data](/api-reference/shared-group-data/get-shared-group-data.md)
- [Using Shared Group Data](/services/playfab/community/associations/groups/using-shared-group-data.md)
- [Remove Shared Group Members](/api-reference/shared-group-data/remove-shared-group-members.md)
