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

# PFAccountManagementClientLinkSteamAccountAsync

> Links the Steam account associated with the provided Steam authentication ticket to the user's PlayFab account

Links the Steam account associated with the provided Steam authentication ticket to the user's PlayFab account

## Syntax

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

### Parameters

**`entityHandle`**   PFEntityHandle

PFEntityHandle to use for authentication.

**`request`**   [PFAccountManagementLinkSteamAccountRequest\*](/services/playfab/api-references/c/pfaccountmanagementtypes/structs/pfaccountmanagementlinksteamaccountrequest)

Populated request object.

**`async`**   XAsyncBlock\*<br />*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. Steam authentication is accomplished with the Steam Session Ticket. More information on the Ticket can be found in the Steamworks SDK, here: [https://partner.steamgames.com/documentation/auth](https://partner.steamgames.com/documentation/auth) (requires sign-in). NOTE: For Steam authentication to work, the title must be configured with the Steam Application ID and Publisher Key in the PlayFab Game Manager (under Properties). Information on creating a Publisher Key (referred to as the Secret Key in PlayFab) for your title can be found here: [https://partner.steamgames.com/documentation/webapi#publisherkey](https://partner.steamgames.com/documentation/webapi#publisherkey). See also ClientLoginWithSteamAsync, ClientUnlinkSteamAccountAsync. Call XAsyncGetStatus to get the status of the operation. If the service call is unsuccessful, the async result will be E\_PF\_ACCOUNT\_ALREADY\_LINKED, E\_PF\_INVALID\_STEAM\_TICKET, E\_PF\_LINKED\_ACCOUNT\_ALREADY\_CLAIMED, E\_PF\_STEAM\_NOT\_ENABLED\_FOR\_TITLE, E\_PF\_STEAM\_USER\_NOT\_FOUND or any of the global PlayFab Service errors. See doc page "Handling PlayFab Errors" for more details on error handling.

## Requirements

**Header:** PFAccountManagement.h

## See also

[PFAccountManagement members](/services/playfab/api-references/c/pfaccountmanagement/pfaccountmanagement_members)


## Related topics

- [Account linking strategies for PlayFab Game Saves](/services/playfab/player-progression/game-saves/linking.md)
- [Services C API overview - PFAccountManagement.h](/services/playfab/api-references/c/pfaccountmanagement/pfaccountmanagement_members.md)
- [PFAccountManagementClientUnlinkSteamAccountAsync](/services/playfab/api-references/c/pfaccountmanagement/functions/pfaccountmanagementclientunlinksteamaccountasync.md)
- [PFAccountManagementServerLinkSteamIdAsync](/services/playfab/api-references/c/pfaccountmanagement/functions/pfaccountmanagementserverlinksteamidasync.md)
- [PFAccountManagementClientLinkPSNAccountAsync](/services/playfab/api-references/c/pfaccountmanagement/functions/pfaccountmanagementclientlinkpsnaccountasync.md)
