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

# PFPlayerDataManagementServerGetUserDataAsync

> Server API to retrieve title-specific custom user data readable and writable by the client for a specified PlayFab player, callable from trusted game servers.

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

## Syntax

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

### Parameters

**`titleEntityHandle`**   PFEntityHandle

PFEntityHandle for a title Entity obtained using PFAuthenticationGetEntityWithSecretKeyAsync.

**`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 Win32, Linux, and macOS. Data is stored as JSON key-value pairs. 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 ServerGetUserInternalDataAsync, ServerGetUserReadOnlyDataAsync, ServerUpdateUserDataAsync, ServerUpdateUserInternalDataAsync, ServerUpdateUserReadOnlyDataAsync. When the asynchronous task is complete, call [PFPlayerDataManagementServerGetUserDataGetResultSize](/services/playfab/api-references/c/pfplayerdatamanagement/functions/pfplayerdatamanagementservergetuserdatagetresultsize) and [PFPlayerDataManagementServerGetUserDataGetResult](/services/playfab/api-references/c/pfplayerdatamanagement/functions/pfplayerdatamanagementservergetuserdatagetresult) to get the result.

## Requirements

**Header:** PFPlayerDataManagement.h

## See also

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


## Related topics

- [PFPlayerDataManagementServerGetUserDataGetResult](/services/playfab/api-references/c/pfplayerdatamanagement/functions/pfplayerdatamanagementservergetuserdatagetresult.md)
- [Services C API overview - PFPlayerDataManagement.h](/services/playfab/api-references/c/pfplayerdatamanagement/pfplayerdatamanagement_members.md)
- [PFPlayerDataManagementServerGetUserInternalDataAsync](/services/playfab/api-references/c/pfplayerdatamanagement/functions/pfplayerdatamanagementservergetuserinternaldataasync.md)
- [PFPlayerDataManagementServerGetUserPublisherDataAsync](/services/playfab/api-references/c/pfplayerdatamanagement/functions/pfplayerdatamanagementservergetuserpublisherdataasync.md)
- [PFPlayerDataManagementServerUpdateUserDataAsync](/services/playfab/api-references/c/pfplayerdatamanagement/functions/pfplayerdatamanagementserverupdateuserdataasync.md)
