> ## 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.

# PFPlayerDataManagementServerUpdateUserPublisherReadOnlyDataAsync

> Updates the publisher-specific custom data for the user which can only be read by the client

Updates the publisher-specific custom data for the user which can only be read by the client

## Syntax

```cpp theme={null}
HRESULT PFPlayerDataManagementServerUpdateUserPublisherReadOnlyDataAsync(  
    PFEntityHandle titleEntityHandle,  
    const PFPlayerDataManagementServerUpdateUserDataRequest* request,  
    XAsyncBlock* async  
)  
```

### Parameters

**`titleEntityHandle`**   PFEntityHandle

PFEntityHandle for a title Entity obtained using PFAuthenticationGetEntityWithSecretKeyAsync.

**`request`**   [PFPlayerDataManagementServerUpdateUserDataRequest\*](/services/playfab/api-references/c/pfplayerdatamanagementtypes/structs/pfplayerdatamanagementserverupdateuserdatarequest)

Populated request object.

**`async`**   XAsyncBlock\*\
**Inout**

XAsyncBlock for the async operation.

### Return value

Type: HRESULT

Result code for this API operation.

## Remarks

This API is available on Win32, Linux, and macOS. This function performs an additive update of the arbitrary JSON object containing the custom data for the user. In updating the custom data object, keys which already exist in the object will have their values overwritten, keys with null values will be removed. No other key-value pairs will be changed apart from those specified in the call. See also ServerGetUserPublisherDataAsync, ServerGetUserPublisherInternalDataAsync, ServerGetUserPublisherReadOnlyDataAsync, ServerUpdateUserPublisherDataAsync, ServerUpdateUserPublisherInternalDataAsync. When the asynchronous task is complete, call [PFPlayerDataManagementServerUpdateUserPublisherReadOnlyDataGetResult](/services/playfab/api-references/c/pfplayerdatamanagement/functions/pfplayerdatamanagementserverupdateuserpublisherreadonlydatagetresult) to get the result.

## Requirements

**Header:** PFPlayerDataManagement.h

## See also

[PFPlayerDataManagement members](/services/playfab/api-references/c/pfplayerdatamanagement/pfplayerdatamanagement_members)


## Related topics

- [PFPlayerDataManagementServerUpdateUserPublisherReadOnlyDataGetResult](/services/playfab/api-references/c/pfplayerdatamanagement/functions/pfplayerdatamanagementserverupdateuserpublisherreadonlydatagetresult.md)
- [Services C API overview - PFPlayerDataManagement.h](/services/playfab/api-references/c/pfplayerdatamanagement/pfplayerdatamanagement_members.md)
- [PFPlayerDataManagementServerGetUserPublisherReadOnlyDataAsync](/services/playfab/api-references/c/pfplayerdatamanagement/functions/pfplayerdatamanagementservergetuserpublisherreadonlydataasync.md)
- [PFPlayerDataManagementServerUpdateUserPublisherDataAsync](/services/playfab/api-references/c/pfplayerdatamanagement/functions/pfplayerdatamanagementserverupdateuserpublisherdataasync.md)
- [PFPlayerDataManagementServerGetUserPublisherDataAsync](/services/playfab/api-references/c/pfplayerdatamanagement/functions/pfplayerdatamanagementservergetuserpublisherdataasync.md)
