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

# PFPlayerDataManagementClientGetUserReadOnlyDataAsync

> Client API to retrieve title-specific user data that can only be read by the client for the authenticated PlayFab player from Player Data Management APIs.

Retrieves the title-specific custom data for the user which can only be read by the client

## Syntax

```cpp theme={null}
HRESULT PFPlayerDataManagementClientGetUserReadOnlyDataAsync(  
    PFEntityHandle entityHandle,  
    const PFPlayerDataManagementGetUserDataRequest* request,  
    XAsyncBlock* async  
)  
```

### Parameters

**`entityHandle`**   PFEntityHandle

PFEntityHandle to use for authentication.

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

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 all platforms. Data is stored as JSON key-value pairs. Every time the data is updated via any source, the version counter is incremented. If the Version parameter is provided, then this call will only return data if the current version on the system is greater than the value provided. If the Keys parameter is provided, the data object returned will only contain the data specific to the indicated Keys. Otherwise, the full set of custom user data will be returned. See also ClientGetUserDataAsync, ClientUpdateUserDataAsync. When the asynchronous task is complete, call [PFPlayerDataManagementClientGetUserReadOnlyDataGetResultSize](/services/playfab/api-references/c/pfplayerdatamanagement/functions/pfplayerdatamanagementclientgetuserreadonlydatagetresultsize) and [PFPlayerDataManagementClientGetUserReadOnlyDataGetResult](/services/playfab/api-references/c/pfplayerdatamanagement/functions/pfplayerdatamanagementclientgetuserreadonlydatagetresult) to get the result.

## Requirements

**Header:** PFPlayerDataManagement.h

## See also

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


## Related topics

- [PFPlayerDataManagementClientGetUserReadOnlyDataGetResult](/services/playfab/api-references/c/pfplayerdatamanagement/functions/pfplayerdatamanagementclientgetuserreadonlydatagetresult.md)
- [Services C API overview - PFPlayerDataManagement.h](/services/playfab/api-references/c/pfplayerdatamanagement/pfplayerdatamanagement_members.md)
- [PFPlayerDataManagementClientGetUserPublisherReadOnlyDataAsync](/services/playfab/api-references/c/pfplayerdatamanagement/functions/pfplayerdatamanagementclientgetuserpublisherreadonlydataasync.md)
- [PFPlayerDataManagementClientGetUserPublisherReadOnlyDataGetResult](/services/playfab/api-references/c/pfplayerdatamanagement/functions/pfplayerdatamanagementclientgetuserpublisherreadonlydatagetresult.md)
- [PFPlayerDataManagementServerGetUserReadOnlyDataAsync](/services/playfab/api-references/c/pfplayerdatamanagement/functions/pfplayerdatamanagementservergetuserreadonlydataasync.md)
