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

# Link Game Center Account

> Links the Game Center account associated with the provided Game Center ID to the user's PlayFab account. Logging in with a Game Center ID is insecure if you do not include the optional PublicKeyUrl, Salt, Signature, and Timestamp parameters in this request. It is recommended you require these parameters on all Game Center calls by going to the Apple Add-ons page in the PlayFab Game Manager and enabling the 'Require secure authentication only for this app' option.

## Error codes

This operation may return the following PlayFab errors:

| Error | Code |
| --- | --- |
| AccountAlreadyLinked | 1011 |
| AccountLinkedToABannedPlayer | 1613 |
| GameCenterAuthenticationFailed | 1429 |
| InvalidGameCenterAuthRequest | 1428 |
| LinkedAccountAlreadyClaimed | 1012 |




## OpenAPI

````yaml post /Client/LinkGameCenterAccount
openapi: 3.0.0
info:
  version: '260922'
  title: PlayFab Client API
  description: >-
    APIs which provide the full range of PlayFab features available to the
    client - authentication, account and data management, inventory, friends,
    matchmaking, reporting, and platform-specific functionality
  termsOfService: https://playfab.com/terms/
  contact:
    url: https://community.playfab.com/index.html
  license:
    name: Apache 2.0
    url: https://github.com/PlayFab/API_Specs/blob/master/LICENSE
servers:
  - url: https://{titleId}.playfabapi.com
    description: PlayFab title endpoint
    variables:
      titleId:
        default: your_title_id
        description: Your PlayFab title ID (hex).
security: []
tags:
  - name: Account Management
    description: Account Management APIs
  - name: Advertising
    description: Advertising APIs
  - name: Analytics
    description: Analytics APIs
  - name: Authentication
    description: Authentication APIs
  - name: Character Data
    description: Character Data APIs
  - name: Characters
    description: Characters APIs
  - name: Content
    description: Content Service APIs
  - name: Friend List Management
    description: Friend List Management APIs
  - name: Matchmaking
    description: Matchmaking APIs
  - name: Platform Specific Methods
    description: Platform Specific Methods APIs
  - name: Player Data Management
    description: Player Data Management APIs
  - name: Player Item Management
    description: Player Item Management APIs
  - name: PlayStream
    description: PlayStream Management APIs
  - name: Server-Side Cloud Script
    description: Server-Side Cloud Script APIs
  - name: Shared Group Data
    description: Shared Group Data APIs
  - name: Title-Wide Data Management
    description: Title-Wide Data Management APIs
  - name: Trading
    description: Trading Management APIs
paths:
  /Client/LinkGameCenterAccount:
    post:
      tags:
        - Account Management
      summary: Link Game Center Account
      description: >
        Links the Game Center account associated with the provided Game Center
        ID to the user's PlayFab account. Logging in with a Game Center ID is
        insecure if you do not include the optional PublicKeyUrl, Salt,
        Signature, and Timestamp parameters in this request. It is recommended
        you require these parameters on all Game Center calls by going to the
        Apple Add-ons page in the PlayFab Game Manager and enabling the 'Require
        secure authentication only for this app' option.


        ## Error codes


        This operation may return the following PlayFab errors:


        | Error | Code |

        | --- | --- |

        | AccountAlreadyLinked | 1011 |

        | AccountLinkedToABannedPlayer | 1613 |

        | GameCenterAuthenticationFailed | 1429 |

        | InvalidGameCenterAuthRequest | 1428 |

        | LinkedAccountAlreadyClaimed | 1012 |
      operationId: LinkGameCenterAccount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LinkGameCenterAccountRequest'
      responses:
        '200':
          $ref: '#/components/responses/LinkGameCenterAccountResult'
        '400':
          $ref: '#/components/responses/ApiErrorWrapper'
      security:
        - SessionTicket: []
components:
  schemas:
    LinkGameCenterAccountRequest:
      type: object
      properties:
        CustomTags:
          description: >-
            The optional custom tags associated with the request (e.g. build
            number, external trace identifiers, etc.).
          type: object
        ForceLink:
          description: >-
            If another user is already linked to the account, unlink the other
            user and re-link. If the current user is already linked, link both
            accounts
          type: boolean
        GameCenterId:
          description: Game Center identifier for the player account to be linked.
          type: string
        PublicKeyUrl:
          description: >-
            The URL for the public encryption key that will be used to verify
            the signature.
          type: string
        Salt:
          description: A random value used to compute the hash and keep it randomized.
          type: string
        Signature:
          description: The verification signature of the authentication payload.
          type: string
        Timestamp:
          description: >-
            The integer representation of date and time that the signature was
            created on. PlayFab will reject authentication signatures not within
            10 minutes of the server's current time.
          type: string
      required:
        - GameCenterId
      example:
        GameCenterId: 2998h2998f0b000d0993
    LinkGameCenterAccountResult:
      type: object
      properties: {}
    ApiErrorWrapper:
      description: The basic wrapper around every failed API response
      type: object
      properties:
        code:
          description: Numerical HTTP code
          type: integer
        status:
          description: String HTTP code
          type: string
        error:
          description: Playfab error code
          type: string
        errorCode:
          description: Numerical PlayFab error code
          type: integer
        errorMessage:
          description: Description for the PlayFab errorCode
          type: string
        errorDetails:
          description: Detailed description of individual issues with the request object
          type: object
      required:
        - code
        - errorCode
  responses:
    LinkGameCenterAccountResult:
      description: ''
      content:
        application/json:
          schema:
            type: object
            properties:
              code:
                type: integer
                description: >-
                  The Http status code. If X-ReportErrorAsSuccess header is set
                  to true, this will report the actual http error code.
              status:
                type: string
                description: The Http status code as a string.
              data:
                $ref: '#/components/schemas/LinkGameCenterAccountResult'
    ApiErrorWrapper:
      description: This is the outer wrapper for all responses with errors
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiErrorWrapper'
  securitySchemes:
    SessionTicket:
      type: apiKey
      in: header
      name: X-Authorization
      description: >-
        This API requires a client session ticket, available from any Client
        Login function.

````

## Related topics

- [Link Game Center Account](/api-reference/account-management/link-game-center-account.md)
- [PFAccountManagementLinkGameCenterAccountRequest](/services/playfab/api-references/c/pfaccountmanagementtypes/structs/pfaccountmanagementlinkgamecenteraccountrequest.md)
- [PFAccountManagementClientLinkGameCenterAccountAsync](/services/playfab/api-references/c/pfaccountmanagement/functions/pfaccountmanagementclientlinkgamecenteraccountasync.md)
- [PFAccountManagementClientUnlinkGameCenterAccountAsync](/services/playfab/api-references/c/pfaccountmanagement/functions/pfaccountmanagementclientunlinkgamecenteraccountasync.md)
- [Account linking quickstart](/services/playfab/identity/player-identity/login/quickstart.md)
