PlayFab Authentication API
Login, registration, and identity provider sign-in.
Login, registration, and identity provider sign-in.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/playfab-authentication-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: PlayFab Client Authentication API
description: PlayFab is Microsoft Azure's backend-as-a-service for live games.
version: 1.0.0
contact:
name: API Evangelist
email: kin@apievangelist.com
license:
name: Proprietary
servers:
- url: https://{titleId}.playfabapi.com
description: PlayFab title-scoped API server
variables:
titleId:
default: titleId
description: Unique PlayFab title identifier.
security:
- sessionTicket: []
tags:
- name: Authentication
description: Login, registration, and identity provider sign-in.
paths:
/Client/LoginWithPlayFab:
post:
tags:
- Authentication
summary: Sign in with a PlayFab username and password
security: []
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- Username
- Password
- TitleId
properties:
Username:
type: string
Password:
type: string
TitleId:
type: string
InfoRequestParameters:
$ref: '#/components/schemas/GetPlayerCombinedInfoRequestParams'
CustomTags:
type: object
additionalProperties: true
responses:
'200':
description: Logged in.
content:
application/json:
schema:
$ref: '#/components/schemas/LoginResultEnvelope'
'400':
$ref: '#/components/responses/ApiError'
operationId: postClientLoginWithPlayFab
x-operation-id-source: derived
/Client/LoginWithEmailAddress:
post:
tags:
- Authentication
summary: Sign in with an email address and password
security: []
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- Email
- Password
- TitleId
properties:
Email:
type: string
format: email
Password:
type: string
minLength: 6
maxLength: 100
TitleId:
type: string
InfoRequestParameters:
$ref: '#/components/schemas/GetPlayerCombinedInfoRequestParams'
CustomTags:
type: object
additionalProperties: true
responses:
'200':
description: Logged in.
content:
application/json:
schema:
$ref: '#/components/schemas/LoginResultEnvelope'
'400':
$ref: '#/components/responses/ApiError'
operationId: postClientLoginWithEmailAddress
x-operation-id-source: derived
/Client/LoginWithCustomID:
post:
tags:
- Authentication
summary: Sign in with a developer-supplied custom identifier
security: []
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- CustomId
- TitleId
properties:
CustomId:
type: string
TitleId:
type: string
CreateAccount:
type: boolean
InfoRequestParameters:
$ref: '#/components/schemas/GetPlayerCombinedInfoRequestParams'
responses:
'200':
description: Logged in.
content:
application/json:
schema:
$ref: '#/components/schemas/LoginResultEnvelope'
operationId: postClientLoginWithCustomID
x-operation-id-source: derived
/Client/LoginWithAndroidDeviceID:
post:
tags:
- Authentication
summary: Sign in with an Android device identifier
security: []
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- AndroidDeviceId
- TitleId
properties:
AndroidDeviceId:
type: string
AndroidDevice:
type: string
OS:
type: string
TitleId:
type: string
CreateAccount:
type: boolean
responses:
'200':
description: Logged in.
content:
application/json:
schema:
$ref: '#/components/schemas/LoginResultEnvelope'
operationId: postClientLoginWithAndroidDeviceID
x-operation-id-source: derived
/Client/LoginWithIOSDeviceID:
post:
tags:
- Authentication
summary: Sign in with an iOS device identifier
security: []
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- DeviceId
- TitleId
properties:
DeviceId:
type: string
DeviceModel:
type: string
OS:
type: string
TitleId:
type: string
CreateAccount:
type: boolean
responses:
'200':
description: Logged in.
content:
application/json:
schema:
$ref: '#/components/schemas/LoginResultEnvelope'
operationId: postClientLoginWithIOSDeviceID
x-operation-id-source: derived
/Client/LoginWithApple:
post:
tags:
- Authentication
summary: Sign in with a Sign in with Apple identity token
security: []
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- IdentityToken
- TitleId
properties:
IdentityToken:
type: string
TitleId:
type: string
CreateAccount:
type: boolean
responses:
'200':
description: Logged in.
content:
application/json:
schema:
$ref: '#/components/schemas/LoginResultEnvelope'
operationId: postClientLoginWithApple
x-operation-id-source: derived
/Client/LoginWithGoogleAccount:
post:
tags:
- Authentication
summary: Sign in with Google account credentials
security: []
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- TitleId
properties:
ServerAuthCode:
type: string
TitleId:
type: string
CreateAccount:
type: boolean
responses:
'200':
description: Logged in.
content:
application/json:
schema:
$ref: '#/components/schemas/LoginResultEnvelope'
operationId: postClientLoginWithGoogleAccount
x-operation-id-source: derived
/Client/LoginWithSteam:
post:
tags:
- Authentication
summary: Sign in with a Steam authentication ticket
security: []
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- SteamTicket
- TitleId
properties:
SteamTicket:
type: string
TitleId:
type: string
CreateAccount:
type: boolean
responses:
'200':
description: Logged in.
content:
application/json:
schema:
$ref: '#/components/schemas/LoginResultEnvelope'
operationId: postClientLoginWithSteam
x-operation-id-source: derived
/Client/LoginWithXbox:
post:
tags:
- Authentication
summary: Sign in with an Xbox Live token
security: []
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- XboxToken
- TitleId
properties:
XboxToken:
type: string
TitleId:
type: string
CreateAccount:
type: boolean
responses:
'200':
description: Logged in.
content:
application/json:
schema:
$ref: '#/components/schemas/LoginResultEnvelope'
operationId: postClientLoginWithXbox
x-operation-id-source: derived
/Client/RegisterPlayFabUser:
post:
tags:
- Authentication
summary: Register a new PlayFab user account
security: []
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- TitleId
properties:
TitleId:
type: string
Username:
type: string
Email:
type: string
format: email
Password:
type: string
DisplayName:
type: string
RequireBothUsernameAndEmail:
type: boolean
responses:
'200':
description: Account registered.
content:
application/json:
schema:
$ref: '#/components/schemas/LoginResultEnvelope'
operationId: postClientRegisterPlayFabUser
x-operation-id-source: derived
components:
schemas:
LoginResultEnvelope:
type: object
properties:
code:
type: integer
status:
type: string
data:
$ref: '#/components/schemas/LoginResult'
EntityKey:
type: object
properties:
Id:
type: string
Type:
type: string
LoginResult:
type: object
properties:
PlayFabId:
type: string
SessionTicket:
type: string
NewlyCreated:
type: boolean
LastLoginTime:
type: string
format: date-time
EntityToken:
$ref: '#/components/schemas/EntityTokenResponse'
InfoResultPayload:
type: object
additionalProperties: true
EntityTokenResponse:
type: object
properties:
Entity:
$ref: '#/components/schemas/EntityKey'
EntityToken:
type: string
TokenExpiration:
type: string
format: date-time
GetPlayerCombinedInfoRequestParams:
type: object
properties:
GetUserAccountInfo:
type: boolean
GetUserInventory:
type: boolean
GetUserVirtualCurrency:
type: boolean
GetUserData:
type: boolean
GetUserReadOnlyData:
type: boolean
GetCharacterInventories:
type: boolean
GetCharacterList:
type: boolean
GetTitleData:
type: boolean
GetPlayerStatistics:
type: boolean
GetPlayerProfile:
type: boolean
ApiErrorWrapper:
type: object
properties:
code:
type: integer
status:
type: string
error:
type: string
errorCode:
type: integer
errorMessage:
type: string
errorDetails:
type: object
additionalProperties: true
responses:
ApiError:
description: Failed request.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorWrapper'
securitySchemes:
sessionTicket:
type: apiKey
in: header
name: X-Authorization
description: 'Session ticket returned by a successful `LoginWith*` call. Required
for all Client API operations other than login/registration.
'
entityToken:
type: apiKey
in: header
name: X-EntityToken
description: Entity token used for Entity-model API calls.