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

# PFPlayerDataManagementClientGetUserDataAsync

> Client API to retrieve title-specific custom user data readable and writable by the client for the authenticated PlayFab player from Player Data Management.

Retrieves the title-specific custom data for the user which is readable and writable by the client

## Syntax

```cpp theme={null}
HRESULT PFPlayerDataManagementClientGetUserDataAsync(  
    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 ClientGetUserReadOnlyDataAsync, ClientUpdateUserDataAsync. When the asynchronous task is complete, call [PFPlayerDataManagementClientGetUserDataGetResultSize](/services/playfab/api-references/c/pfplayerdatamanagement/functions/pfplayerdatamanagementclientgetuserdatagetresultsize) and [PFPlayerDataManagementClientGetUserDataGetResult](/services/playfab/api-references/c/pfplayerdatamanagement/functions/pfplayerdatamanagementclientgetuserdatagetresult) to get the result.

## Requirements

**Header:** PFPlayerDataManagement.h

## See also

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


## Related topics

- [PFPlayerDataManagementClientGetUserDataGetResult](/services/playfab/api-references/c/pfplayerdatamanagement/functions/pfplayerdatamanagementclientgetuserdatagetresult.md)
- [Services C API overview - PFPlayerDataManagement.h](/services/playfab/api-references/c/pfplayerdatamanagement/pfplayerdatamanagement_members.md)
- [PFPlayerDataManagementClientGetUserPublisherDataAsync](/services/playfab/api-references/c/pfplayerdatamanagement/functions/pfplayerdatamanagementclientgetuserpublisherdataasync.md)
- [PFPlayerDataManagementClientUpdateUserDataAsync](/services/playfab/api-references/c/pfplayerdatamanagement/functions/pfplayerdatamanagementclientupdateuserdataasync.md)
- [PFPlayerDataManagementClientGetUserReadOnlyDataAsync](/services/playfab/api-references/c/pfplayerdatamanagement/functions/pfplayerdatamanagementclientgetuserreadonlydataasync.md)
