Skip to content
Permalink
4ad6a89a12
Switch branches/tags
Go to file
 
 
Cannot retrieve contributors at this time
7180 lines (6560 sloc) 331 KB
/** Static object you add your CloudScript endpoints to */
declare var handlers: IPlayFabHandlers;
interface IPlayFabHandlers {
[handlerId:string]: (args?:any, context?:IPlayFabContext) => any;
}
/** The playfab id for the user who called into CloudScript */
declare var currentPlayerId: string;
/**
* Static object containing cloudscript logging functions
* debug(message: string, exc?: any): void,
* error(message: string, exc?: any): void,
* info(message: string, exc?: any): void,
*/
declare var log: Logger;
interface Logger {
debug(message: string, exc?: any): void,
error(message: string, exc?: any): void,
info(message: string, exc?: any): void,
}
/**
* Static object containing cloudscript external request functions
* request(url: string, method?: string, content?: string, contentType?: string): string
*/
declare var http: IPlayFabHttp;
interface IPlayFabHttp {
request(url: string, method?: string, content?: string, contentType?: string, headers?: { [key: string]: string }): string
}
interface IPlayFabContext {
playStreamEvent: PlayStreamModels.IBasePlayStreamEvent;
playerProfile: IPlayFabPlayerProfile;
}
interface IPlayFabPlayerProfile {
PlayerId: string;
DisplayName: string;
}
declare var script: IPlayFabEnvironment;
interface IPlayFabEnvironment {
revision: number;
titleId: string;
}
interface IPlayFabError {
cloudScriptErrorCode : string;
stack : string;
apiErrorInfo?: IApiErrorInfo;
}
interface IApiErrorInfo {
api : string;
request : any;
result : any;
apiError?: IApiError;
}
interface IApiError {
code : number;
status : string;
error : string;
errorCode : number;
errorMessage : string;
errorDetails?: { [index:string] : { message: string[] } };
}
/** Static object which allows access to PlayFab Classic Server API calls */
declare var server: IPlayFabServerAPI;
/** Static object which allows access to PlayFab Entity API calls */
declare var entity: IPlayFabEntityAPI;
/** ServerAPI.Models as interfaces */
declare namespace PlayFabServerModels {
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.AdCampaignAttribution */
interface AdCampaignAttribution {
/** UTC time stamp of attribution */
AttributedAt: string,
/** Attribution campaign identifier */
CampaignId?: string,
/** Attribution network name */
Platform?: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.AdCampaignAttributionModel */
interface AdCampaignAttributionModel {
/** UTC time stamp of attribution */
AttributedAt: string,
/** Attribution campaign identifier */
CampaignId?: string,
/** Attribution network name */
Platform?: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.AddCharacterVirtualCurrencyRequest */
interface AddCharacterVirtualCurrencyRequest {
/**
* Amount to be added to the character balance of the specified virtual currency. Maximum VC balance is Int32
* (2,147,483,647). Any increase over this value will be discarded.
*/
Amount: number,
/** Unique PlayFab assigned ID for a specific character owned by a user */
CharacterId: string,
/** PlayFab unique identifier of the user whose virtual currency balance is to be incremented. */
PlayFabId: string,
/** Name of the virtual currency which is to be incremented. */
VirtualCurrency: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.AddFriendRequest */
interface AddFriendRequest {
/** Email address of the user being added. */
FriendEmail?: string,
/** The PlayFab identifier of the user being added. */
FriendPlayFabId?: string,
/** Title-specific display name of the user to being added. */
FriendTitleDisplayName?: string,
/** The PlayFab username of the user being added */
FriendUsername?: string,
/** PlayFab identifier of the player to add a new friend. */
PlayFabId: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.AddGenericIDRequest */
interface AddGenericIDRequest {
/** Generic service identifier to add to the player account. */
GenericId: GenericServiceId,
/** PlayFabId of the user to link. */
PlayFabId: string,
}
/**
* This API will trigger a player_tag_added event and add a tag with the given TagName and PlayFabID to the corresponding
* player profile. TagName can be used for segmentation and it is limited to 256 characters. Also there is a limit on the
* number of tags a title can have.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.AddPlayerTagRequest
*/
interface AddPlayerTagRequest {
/** Unique PlayFab assigned ID of the user on whom the operation will be performed. */
PlayFabId: string,
/** Unique tag for player profile. */
TagName: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.AddPlayerTagResult */
interface AddPlayerTagResult {
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.AddSharedGroupMembersRequest */
interface AddSharedGroupMembersRequest {
/** An array of unique PlayFab assigned ID of the user on whom the operation will be performed. */
PlayFabIds: string[],
/** Unique identifier for the shared group. */
SharedGroupId: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.AddSharedGroupMembersResult */
interface AddSharedGroupMembersResult {
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.AddUserVirtualCurrencyRequest */
interface AddUserVirtualCurrencyRequest {
/**
* Amount to be added to the user balance of the specified virtual currency. Maximum VC balance is Int32 (2,147,483,647).
* Any increase over this value will be discarded.
*/
Amount: number,
/** PlayFab unique identifier of the user whose virtual currency balance is to be increased. */
PlayFabId: string,
/** Name of the virtual currency which is to be incremented. */
VirtualCurrency: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.AdvancedPushPlatformMsg */
interface AdvancedPushPlatformMsg {
/** The Json the platform should receive. */
Json: string,
/** The platform that should receive the Json. */
Platform: PushNotificationPlatform,
}
/**
* Note that data returned may be Personally Identifying Information (PII), such as email address, and so care should be
* taken in how this data is stored and managed. Since this call will always return the relevant information for users who
* have accessed the title, the recommendation is to not store this data locally.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.AuthenticateSessionTicketRequest
*/
interface AuthenticateSessionTicketRequest {
/** Session ticket as issued by a PlayFab client login API. */
SessionTicket: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.AuthenticateSessionTicketResult */
interface AuthenticateSessionTicketResult {
/** Account info for the user whose session ticket was supplied. */
UserInfo?: UserAccountInfo,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.AwardSteamAchievementItem */
interface AwardSteamAchievementItem {
/** Unique Steam achievement name. */
AchievementName: string,
/** Unique PlayFab assigned ID of the user on whom the operation will be performed. */
PlayFabId: string,
/** Result of the award attempt (only valid on response, not on request). */
Result: boolean,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.AwardSteamAchievementRequest */
interface AwardSteamAchievementRequest {
/** Array of achievements to grant and the users to whom they are to be granted. */
Achievements: AwardSteamAchievementItem[],
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.AwardSteamAchievementResult */
interface AwardSteamAchievementResult {
/** Array of achievements granted. */
AchievementResults?: AwardSteamAchievementItem[],
}
/**
* Contains information for a ban.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.BanInfo
*/
interface BanInfo {
/** The active state of this ban. Expired bans may still have this value set to true but they will have no effect. */
Active: boolean,
/** The unique Ban Id associated with this ban. */
BanId?: string,
/** The time when this ban was applied. */
Created?: string,
/** The time when this ban expires. Permanent bans do not have expiration date. */
Expires?: string,
/** The IP address on which the ban was applied. May affect multiple players. */
IPAddress?: string,
/** The MAC address on which the ban was applied. May affect multiple players. */
MACAddress?: string,
/** Unique PlayFab assigned ID of the user on whom the operation will be performed. */
PlayFabId?: string,
/** The reason why this ban was applied. */
Reason?: string,
}
/**
* Represents a single ban request.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.BanRequest
*/
interface BanRequest {
/** The duration in hours for the ban. Leave this blank for a permanent ban. */
DurationInHours?: number,
/** IP address to be banned. May affect multiple players. */
IPAddress?: string,
/** MAC address to be banned. May affect multiple players. */
MACAddress?: string,
/** Unique PlayFab assigned ID of the user on whom the operation will be performed. */
PlayFabId: string,
/** The reason for this ban. Maximum 140 characters. */
Reason?: string,
}
/**
* The existence of each user will not be verified. When banning by IP or MAC address, multiple players may be affected, so
* use this feature with caution. Returns information about the new bans.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.BanUsersRequest
*/
interface BanUsersRequest {
/** List of ban requests to be applied. Maximum 100. */
Bans: BanRequest[],
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.BanUsersResult */
interface BanUsersResult {
/** Information on the bans that were applied */
BanData?: BanInfo[],
}
/**
* A purchasable item from the item catalog
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.CatalogItem
*/
interface CatalogItem {
/**
* defines the bundle properties for the item - bundles are items which contain other items, including random drop tables
* and virtual currencies
*/
Bundle?: CatalogItemBundleInfo,
/** if true, then an item instance of this type can be used to grant a character to a user. */
CanBecomeCharacter: boolean,
/** catalog version for this item */
CatalogVersion?: string,
/** defines the consumable properties (number of uses, timeout) for the item */
Consumable?: CatalogItemConsumableInfo,
/**
* defines the container properties for the item - what items it contains, including random drop tables and virtual
* currencies, and what item (if any) is required to open it via the UnlockContainerItem API
*/
Container?: CatalogItemContainerInfo,
/** game specific custom data */
CustomData?: string,
/** text description of item, to show in-game */
Description?: string,
/** text name for the item, to show in-game */
DisplayName?: string,
/**
* If the item has IsLImitedEdition set to true, and this is the first time this ItemId has been defined as a limited
* edition item, this value determines the total number of instances to allocate for the title. Once this limit has been
* reached, no more instances of this ItemId can be created, and attempts to purchase or grant it will return a Result of
* false for that ItemId. If the item has already been defined to have a limited edition count, or if this value is less
* than zero, it will be ignored.
*/
InitialLimitedEditionCount: number,
/** BETA: If true, then only a fixed number can ever be granted. */
IsLimitedEdition: boolean,
/**
* if true, then only one item instance of this type will exist and its remaininguses will be incremented instead.
* RemainingUses will cap out at Int32.Max (2,147,483,647). All subsequent increases will be discarded
*/
IsStackable: boolean,
/** if true, then an item instance of this type can be traded between players using the trading APIs */
IsTradable: boolean,
/** class to which the item belongs */
ItemClass?: string,
/** unique identifier for this item */
ItemId: string,
/**
* URL to the item image. For Facebook purchase to display the image on the item purchase page, this must be set to an HTTP
* URL.
*/
ItemImageUrl?: string,
/** override prices for this item for specific currencies */
RealCurrencyPrices?: { [key: string]: number },
/** list of item tags */
Tags?: string[],
/** price of this item in virtual currencies and "RM" (the base Real Money purchase price, in USD pennies) */
VirtualCurrencyPrices?: { [key: string]: number },
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.CatalogItemBundleInfo */
interface CatalogItemBundleInfo {
/** unique ItemId values for all items which will be added to the player inventory when the bundle is added */
BundledItems?: string[],
/**
* unique TableId values for all RandomResultTable objects which are part of the bundle (random tables will be resolved and
* add the relevant items to the player inventory when the bundle is added)
*/
BundledResultTables?: string[],
/** virtual currency types and balances which will be added to the player inventory when the bundle is added */
BundledVirtualCurrencies?: { [key: string]: number },
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.CatalogItemConsumableInfo */
interface CatalogItemConsumableInfo {
/** number of times this object can be used, after which it will be removed from the player inventory */
UsageCount?: number,
/**
* duration in seconds for how long the item will remain in the player inventory - once elapsed, the item will be removed
* (recommended minimum value is 5 seconds, as lower values can cause the item to expire before operations depending on
* this item's details have completed)
*/
UsagePeriod?: number,
/**
* all inventory item instances in the player inventory sharing a non-null UsagePeriodGroup have their UsagePeriod values
* added together, and share the result - when that period has elapsed, all the items in the group will be removed
*/
UsagePeriodGroup?: string,
}
/**
* Containers are inventory items that can hold other items defined in the catalog, as well as virtual currency, which is
* added to the player inventory when the container is unlocked, using the UnlockContainerItem API. The items can be
* anything defined in the catalog, as well as RandomResultTable objects which will be resolved when the container is
* unlocked. Containers and their keys should be defined as Consumable (having a limited number of uses) in their catalog
* defintiions, unless the intent is for the player to be able to re-use them infinitely.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.CatalogItemContainerInfo
*/
interface CatalogItemContainerInfo {
/** unique ItemId values for all items which will be added to the player inventory, once the container has been unlocked */
ItemContents?: string[],
/**
* ItemId for the catalog item used to unlock the container, if any (if not specified, a call to UnlockContainerItem will
* open the container, adding the contents to the player inventory and currency balances)
*/
KeyItemId?: string,
/**
* unique TableId values for all RandomResultTable objects which are part of the container (once unlocked, random tables
* will be resolved and add the relevant items to the player inventory)
*/
ResultTableContents?: string[],
/** virtual currency types and balances which will be added to the player inventory when the container is unlocked */
VirtualCurrencyContents?: { [key: string]: number },
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.CharacterInventory */
interface CharacterInventory {
/** The id of this character. */
CharacterId?: string,
/** The inventory of this character. */
Inventory?: ItemInstance[],
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.CharacterLeaderboardEntry */
interface CharacterLeaderboardEntry {
/** PlayFab unique identifier of the character that belongs to the user for this leaderboard entry. */
CharacterId?: string,
/** Title-specific display name of the character for this leaderboard entry. */
CharacterName?: string,
/** Name of the character class for this entry. */
CharacterType?: string,
/** Title-specific display name of the user for this leaderboard entry. */
DisplayName?: string,
/** PlayFab unique identifier of the user for this leaderboard entry. */
PlayFabId?: string,
/** User's overall position in the leaderboard. */
Position: number,
/** Specific value of the user's statistic. */
StatValue: number,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.CharacterResult */
interface CharacterResult {
/** The id for this character on this player. */
CharacterId?: string,
/** The name of this character. */
CharacterName?: string,
/** The type-string that was given to this character on creation. */
CharacterType?: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.CloudScriptRevisionOption */
type CloudScriptRevisionOption = "Live"
| "Latest"
| "Specific";
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ConsumeItemRequest */
interface ConsumeItemRequest {
/** Unique PlayFab assigned ID for a specific character owned by a user */
CharacterId?: string,
/** Number of uses to consume from the item. */
ConsumeCount: number,
/** Unique instance identifier of the item to be consumed. */
ItemInstanceId: string,
/** Unique PlayFab assigned ID of the user on whom the operation will be performed. */
PlayFabId: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ConsumeItemResult */
interface ConsumeItemResult {
/** Unique instance identifier of the item with uses consumed. */
ItemInstanceId?: string,
/** Number of uses remaining on the item. */
RemainingUses: number,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ContactEmailInfo */
interface ContactEmailInfo {
/** The email address */
EmailAddress?: string,
/** The name of the email info data */
Name?: string,
/** The verification status of the email */
VerificationStatus?: EmailVerificationStatus,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ContactEmailInfoModel */
interface ContactEmailInfoModel {
/** The email address */
EmailAddress?: string,
/** The name of the email info data */
Name?: string,
/** The verification status of the email */
VerificationStatus?: EmailVerificationStatus,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ContinentCode */
type ContinentCode = "AF"
| "AN"
| "AS"
| "EU"
| "NA"
| "OC"
| "SA";
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.CountryCode */
type CountryCode = "AF"
| "AX"
| "AL"
| "DZ"
| "AS"
| "AD"
| "AO"
| "AI"
| "AQ"
| "AG"
| "AR"
| "AM"
| "AW"
| "AU"
| "AT"
| "AZ"
| "BS"
| "BH"
| "BD"
| "BB"
| "BY"
| "BE"
| "BZ"
| "BJ"
| "BM"
| "BT"
| "BO"
| "BQ"
| "BA"
| "BW"
| "BV"
| "BR"
| "IO"
| "BN"
| "BG"
| "BF"
| "BI"
| "KH"
| "CM"
| "CA"
| "CV"
| "KY"
| "CF"
| "TD"
| "CL"
| "CN"
| "CX"
| "CC"
| "CO"
| "KM"
| "CG"
| "CD"
| "CK"
| "CR"
| "CI"
| "HR"
| "CU"
| "CW"
| "CY"
| "CZ"
| "DK"
| "DJ"
| "DM"
| "DO"
| "EC"
| "EG"
| "SV"
| "GQ"
| "ER"
| "EE"
| "ET"
| "FK"
| "FO"
| "FJ"
| "FI"
| "FR"
| "GF"
| "PF"
| "TF"
| "GA"
| "GM"
| "GE"
| "DE"
| "GH"
| "GI"
| "GR"
| "GL"
| "GD"
| "GP"
| "GU"
| "GT"
| "GG"
| "GN"
| "GW"
| "GY"
| "HT"
| "HM"
| "VA"
| "HN"
| "HK"
| "HU"
| "IS"
| "IN"
| "ID"
| "IR"
| "IQ"
| "IE"
| "IM"
| "IL"
| "IT"
| "JM"
| "JP"
| "JE"
| "JO"
| "KZ"
| "KE"
| "KI"
| "KP"
| "KR"
| "KW"
| "KG"
| "LA"
| "LV"
| "LB"
| "LS"
| "LR"
| "LY"
| "LI"
| "LT"
| "LU"
| "MO"
| "MK"
| "MG"
| "MW"
| "MY"
| "MV"
| "ML"
| "MT"
| "MH"
| "MQ"
| "MR"
| "MU"
| "YT"
| "MX"
| "FM"
| "MD"
| "MC"
| "MN"
| "ME"
| "MS"
| "MA"
| "MZ"
| "MM"
| "NA"
| "NR"
| "NP"
| "NL"
| "NC"
| "NZ"
| "NI"
| "NE"
| "NG"
| "NU"
| "NF"
| "MP"
| "NO"
| "OM"
| "PK"
| "PW"
| "PS"
| "PA"
| "PG"
| "PY"
| "PE"
| "PH"
| "PN"
| "PL"
| "PT"
| "PR"
| "QA"
| "RE"
| "RO"
| "RU"
| "RW"
| "BL"
| "SH"
| "KN"
| "LC"
| "MF"
| "PM"
| "VC"
| "WS"
| "SM"
| "ST"
| "SA"
| "SN"
| "RS"
| "SC"
| "SL"
| "SG"
| "SX"
| "SK"
| "SI"
| "SB"
| "SO"
| "ZA"
| "GS"
| "SS"
| "ES"
| "LK"
| "SD"
| "SR"
| "SJ"
| "SZ"
| "SE"
| "CH"
| "SY"
| "TW"
| "TJ"
| "TZ"
| "TH"
| "TL"
| "TG"
| "TK"
| "TO"
| "TT"
| "TN"
| "TR"
| "TM"
| "TC"
| "TV"
| "UG"
| "UA"
| "AE"
| "GB"
| "US"
| "UM"
| "UY"
| "UZ"
| "VU"
| "VE"
| "VN"
| "VG"
| "VI"
| "WF"
| "EH"
| "YE"
| "ZM"
| "ZW";
/**
* If SharedGroupId is specified, the service will attempt to create a group with that identifier, and will return an error
* if it is already in use. If no SharedGroupId is specified, a random identifier will be assigned.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.CreateSharedGroupRequest
*/
interface CreateSharedGroupRequest {
/** Unique identifier for the shared group (a random identifier will be assigned, if one is not specified). */
SharedGroupId?: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.CreateSharedGroupResult */
interface CreateSharedGroupResult {
/** Unique identifier for the shared group. */
SharedGroupId?: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.Currency */
type Currency = "AED"
| "AFN"
| "ALL"
| "AMD"
| "ANG"
| "AOA"
| "ARS"
| "AUD"
| "AWG"
| "AZN"
| "BAM"
| "BBD"
| "BDT"
| "BGN"
| "BHD"
| "BIF"
| "BMD"
| "BND"
| "BOB"
| "BRL"
| "BSD"
| "BTN"
| "BWP"
| "BYR"
| "BZD"
| "CAD"
| "CDF"
| "CHF"
| "CLP"
| "CNY"
| "COP"
| "CRC"
| "CUC"
| "CUP"
| "CVE"
| "CZK"
| "DJF"
| "DKK"
| "DOP"
| "DZD"
| "EGP"
| "ERN"
| "ETB"
| "EUR"
| "FJD"
| "FKP"
| "GBP"
| "GEL"
| "GGP"
| "GHS"
| "GIP"
| "GMD"
| "GNF"
| "GTQ"
| "GYD"
| "HKD"
| "HNL"
| "HRK"
| "HTG"
| "HUF"
| "IDR"
| "ILS"
| "IMP"
| "INR"
| "IQD"
| "IRR"
| "ISK"
| "JEP"
| "JMD"
| "JOD"
| "JPY"
| "KES"
| "KGS"
| "KHR"
| "KMF"
| "KPW"
| "KRW"
| "KWD"
| "KYD"
| "KZT"
| "LAK"
| "LBP"
| "LKR"
| "LRD"
| "LSL"
| "LYD"
| "MAD"
| "MDL"
| "MGA"
| "MKD"
| "MMK"
| "MNT"
| "MOP"
| "MRO"
| "MUR"
| "MVR"
| "MWK"
| "MXN"
| "MYR"
| "MZN"
| "NAD"
| "NGN"
| "NIO"
| "NOK"
| "NPR"
| "NZD"
| "OMR"
| "PAB"
| "PEN"
| "PGK"
| "PHP"
| "PKR"
| "PLN"
| "PYG"
| "QAR"
| "RON"
| "RSD"
| "RUB"
| "RWF"
| "SAR"
| "SBD"
| "SCR"
| "SDG"
| "SEK"
| "SGD"
| "SHP"
| "SLL"
| "SOS"
| "SPL"
| "SRD"
| "STD"
| "SVC"
| "SYP"
| "SZL"
| "THB"
| "TJS"
| "TMT"
| "TND"
| "TOP"
| "TRY"
| "TTD"
| "TVD"
| "TWD"
| "TZS"
| "UAH"
| "UGX"
| "USD"
| "UYU"
| "UZS"
| "VEF"
| "VND"
| "VUV"
| "WST"
| "XAF"
| "XCD"
| "XDR"
| "XOF"
| "XPF"
| "YER"
| "ZAR"
| "ZMW"
| "ZWD";
/**
* This function will delete the specified character from the list allowed by the user, and will also delete any inventory
* or VC currently held by that character. It will NOT delete any statistics associated for this character, in order to
* preserve leaderboard integrity.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.DeleteCharacterFromUserRequest
*/
interface DeleteCharacterFromUserRequest {
/** Unique PlayFab assigned ID for a specific character owned by a user */
CharacterId: string,
/** Unique PlayFab assigned ID of the user on whom the operation will be performed. */
PlayFabId: string,
/**
* If true, the character's inventory will be transferred up to the owning user; otherwise, this request will purge those
* items.
*/
SaveCharacterInventory: boolean,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.DeleteCharacterFromUserResult */
interface DeleteCharacterFromUserResult {
}
/**
* Deletes all data associated with the player, including statistics, custom data, inventory, purchases, virtual currency
* balances, characters and shared group memberships. Removes the player from all leaderboards and player search indexes.
* Does not delete PlayStream event history associated with the player. Does not delete the publisher user account that
* created the player in the title nor associated data such as username, password, email address, account linkages, or
* friends list. Note, this API queues the player for deletion and returns immediately. It may take several minutes or more
* before all player data is fully deleted. Until the player data is fully deleted, attempts to recreate the player with
* the same user account in the same title will fail with the 'AccountDeleted' error. This API must be enabled for use as
* an option in the game manager website. It is disabled by default.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.DeletePlayerRequest
*/
interface DeletePlayerRequest {
/** Unique PlayFab assigned ID of the user on whom the operation will be performed. */
PlayFabId: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.DeletePlayerResult */
interface DeletePlayerResult {
}
/**
* Represents the request to delete a push notification template.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.DeletePushNotificationTemplateRequest
*/
interface DeletePushNotificationTemplateRequest {
/** Id of the push notification template to be deleted. */
PushNotificationTemplateId: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.DeletePushNotificationTemplateResult */
interface DeletePushNotificationTemplateResult {
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.DeleteSharedGroupRequest */
interface DeleteSharedGroupRequest {
/** Unique identifier for the shared group. */
SharedGroupId: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.DeregisterGameRequest */
interface DeregisterGameRequest {
/** Unique identifier for the Game Server Instance that is being deregistered. */
LobbyId: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.DeregisterGameResponse */
interface DeregisterGameResponse {
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.EmailVerificationStatus */
type EmailVerificationStatus = "Unverified"
| "Pending"
| "Confirmed";
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.EmptyResponse */
interface EmptyResponse {
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.EmptyResult */
interface EmptyResult {
}
/**
* Combined entity type and ID structure which uniquely identifies a single entity.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.EntityKey
*/
interface EntityKey {
/** Unique ID of the entity. */
Id: string,
/** Entity type. See https://docs.microsoft.com/gaming/playfab/features/data/entities/available-built-in-entity-types */
Type?: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.EntityTokenResponse */
interface EntityTokenResponse {
/** The entity id and type. */
Entity?: EntityKey,
/** The token used to set X-EntityToken for all entity based API calls. */
EntityToken?: string,
/** The time the token will expire, if it is an expiring token, in UTC. */
TokenExpiration?: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.EvaluateRandomResultTableRequest */
interface EvaluateRandomResultTableRequest {
/**
* Specifies the catalog version that should be used to evaluate the Random Result Table. If unspecified, uses
* default/primary catalog.
*/
CatalogVersion?: string,
/** The unique identifier of the Random Result Table to use. */
TableId: string,
}
/**
* Note that if the Random Result Table contains no entries, or does not exist for the catalog specified (the Primary
* catalog if one is not specified), an InvalidDropTable error will be returned.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.EvaluateRandomResultTableResult
*/
interface EvaluateRandomResultTableResult {
/** Unique identifier for the item returned from the Random Result Table evaluation, for the given catalog. */
ResultItemId?: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ExecuteCloudScriptResult */
interface ExecuteCloudScriptResult {
/** Number of PlayFab API requests issued by the CloudScript function */
APIRequestsIssued: number,
/** Information about the error, if any, that occurred during execution */
Error?: ScriptExecutionError,
ExecutionTimeSeconds: number,
/** The name of the function that executed */
FunctionName?: string,
/** The object returned from the CloudScript function, if any */
FunctionResult?: any,
/**
* Flag indicating if the FunctionResult was too large and was subsequently dropped from this event. This only occurs if
* the total event size is larger than 350KB.
*/
FunctionResultTooLarge?: boolean,
/** Number of external HTTP requests issued by the CloudScript function */
HttpRequestsIssued: number,
/**
* Entries logged during the function execution. These include both entries logged in the function code using log.info()
* and log.error() and error entries for API and HTTP request failures.
*/
Logs?: LogStatement[],
/**
* Flag indicating if the logs were too large and were subsequently dropped from this event. This only occurs if the total
* event size is larger than 350KB after the FunctionResult was removed.
*/
LogsTooLarge?: boolean,
MemoryConsumedBytes: number,
/**
* Processor time consumed while executing the function. This does not include time spent waiting on API calls or HTTP
* requests.
*/
ProcessorTimeSeconds: number,
/** The revision of the CloudScript that executed */
Revision: number,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ExecuteCloudScriptServerRequest */
interface ExecuteCloudScriptServerRequest {
/** The name of the CloudScript function to execute */
FunctionName: string,
/** Object that is passed in to the function as the first argument */
FunctionParameter?: any,
/**
* Generate a 'player_executed_cloudscript' PlayStream event containing the results of the function execution and other
* contextual information. This event will show up in the PlayStream debugger console for the player in Game Manager.
*/
GeneratePlayStreamEvent?: boolean,
/** The unique user identifier for the player on whose behalf the script is being run */
PlayFabId: string,
/**
* Option for which revision of the CloudScript to execute. 'Latest' executes the most recently created revision, 'Live'
* executes the current live, published revision, and 'Specific' executes the specified revision. The default value is
* 'Specific', if the SpeificRevision parameter is specified, otherwise it is 'Live'.
*/
RevisionSelection?: CloudScriptRevisionOption,
/** The specivic revision to execute, when RevisionSelection is set to 'Specific' */
SpecificRevision?: number,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.FacebookInstantGamesPlayFabIdPair */
interface FacebookInstantGamesPlayFabIdPair {
/** Unique Facebook Instant Games identifier for a user. */
FacebookInstantGamesId?: string,
/** Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the Facebook Instant Games identifier. */
PlayFabId?: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.FacebookPlayFabIdPair */
interface FacebookPlayFabIdPair {
/** Unique Facebook identifier for a user. */
FacebookId?: string,
/** Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the Facebook identifier. */
PlayFabId?: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.FriendInfo */
interface FriendInfo {
/** Available Facebook information (if the user and PlayFab friend are also connected in Facebook). */
FacebookInfo?: UserFacebookInfo,
/** PlayFab unique identifier for this friend. */
FriendPlayFabId?: string,
/** Available Game Center information (if the user and PlayFab friend are also connected in Game Center). */
GameCenterInfo?: UserGameCenterInfo,
/** The profile of the user, if requested. */
Profile?: PlayerProfileModel,
/** Available PSN information, if the user and PlayFab friend are both connected to PSN. */
PSNInfo?: UserPsnInfo,
/** Available Steam information (if the user and PlayFab friend are also connected in Steam). */
SteamInfo?: UserSteamInfo,
/** Tags which have been associated with this friend. */
Tags?: string[],
/** Title-specific display name for this friend. */
TitleDisplayName?: string,
/** PlayFab unique username for this friend. */
Username?: string,
/** Available Xbox information, if the user and PlayFab friend are both connected to Xbox Live. */
XboxInfo?: UserXboxInfo,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GameInstanceState */
type GameInstanceState = "Open"
| "Closed";
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GenericErrorCodes */
type GenericErrorCodes = "Success"
| "UnkownError"
| "InvalidParams"
| "AccountNotFound"
| "AccountBanned"
| "InvalidUsernameOrPassword"
| "InvalidTitleId"
| "InvalidEmailAddress"
| "EmailAddressNotAvailable"
| "InvalidUsername"
| "InvalidPassword"
| "UsernameNotAvailable"
| "InvalidSteamTicket"
| "AccountAlreadyLinked"
| "LinkedAccountAlreadyClaimed"
| "InvalidFacebookToken"
| "AccountNotLinked"
| "FailedByPaymentProvider"
| "CouponCodeNotFound"
| "InvalidContainerItem"
| "ContainerNotOwned"
| "KeyNotOwned"
| "InvalidItemIdInTable"
| "InvalidReceipt"
| "ReceiptAlreadyUsed"
| "ReceiptCancelled"
| "GameNotFound"
| "GameModeNotFound"
| "InvalidGoogleToken"
| "UserIsNotPartOfDeveloper"
| "InvalidTitleForDeveloper"
| "TitleNameConflicts"
| "UserisNotValid"
| "ValueAlreadyExists"
| "BuildNotFound"
| "PlayerNotInGame"
| "InvalidTicket"
| "InvalidDeveloper"
| "InvalidOrderInfo"
| "RegistrationIncomplete"
| "InvalidPlatform"
| "UnknownError"
| "SteamApplicationNotOwned"
| "WrongSteamAccount"
| "TitleNotActivated"
| "RegistrationSessionNotFound"
| "NoSuchMod"
| "FileNotFound"
| "DuplicateEmail"
| "ItemNotFound"
| "ItemNotOwned"
| "ItemNotRecycleable"
| "ItemNotAffordable"
| "InvalidVirtualCurrency"
| "WrongVirtualCurrency"
| "WrongPrice"
| "NonPositiveValue"
| "InvalidRegion"
| "RegionAtCapacity"
| "ServerFailedToStart"
| "NameNotAvailable"
| "InsufficientFunds"
| "InvalidDeviceID"
| "InvalidPushNotificationToken"
| "NoRemainingUses"
| "InvalidPaymentProvider"
| "PurchaseInitializationFailure"
| "DuplicateUsername"
| "InvalidBuyerInfo"
| "NoGameModeParamsSet"
| "BodyTooLarge"
| "ReservedWordInBody"
| "InvalidTypeInBody"
| "InvalidRequest"
| "ReservedEventName"
| "InvalidUserStatistics"
| "NotAuthenticated"
| "StreamAlreadyExists"
| "ErrorCreatingStream"
| "StreamNotFound"
| "InvalidAccount"
| "PurchaseDoesNotExist"
| "InvalidPurchaseTransactionStatus"
| "APINotEnabledForGameClientAccess"
| "NoPushNotificationARNForTitle"
| "BuildAlreadyExists"
| "BuildPackageDoesNotExist"
| "CustomAnalyticsEventsNotEnabledForTitle"
| "InvalidSharedGroupId"
| "NotAuthorized"
| "MissingTitleGoogleProperties"
| "InvalidItemProperties"
| "InvalidPSNAuthCode"
| "InvalidItemId"
| "PushNotEnabledForAccount"
| "PushServiceError"
| "ReceiptDoesNotContainInAppItems"
| "ReceiptContainsMultipleInAppItems"
| "InvalidBundleID"
| "JavascriptException"
| "InvalidSessionTicket"
| "UnableToConnectToDatabase"
| "InternalServerError"
| "InvalidReportDate"
| "ReportNotAvailable"
| "DatabaseThroughputExceeded"
| "InvalidGameTicket"
| "ExpiredGameTicket"
| "GameTicketDoesNotMatchLobby"
| "LinkedDeviceAlreadyClaimed"
| "DeviceAlreadyLinked"
| "DeviceNotLinked"
| "PartialFailure"
| "PublisherNotSet"
| "ServiceUnavailable"
| "VersionNotFound"
| "RevisionNotFound"
| "InvalidPublisherId"
| "DownstreamServiceUnavailable"
| "APINotIncludedInTitleUsageTier"
| "DAULimitExceeded"
| "APIRequestLimitExceeded"
| "InvalidAPIEndpoint"
| "BuildNotAvailable"
| "ConcurrentEditError"
| "ContentNotFound"
| "CharacterNotFound"
| "CloudScriptNotFound"
| "ContentQuotaExceeded"
| "InvalidCharacterStatistics"
| "PhotonNotEnabledForTitle"
| "PhotonApplicationNotFound"
| "PhotonApplicationNotAssociatedWithTitle"
| "InvalidEmailOrPassword"
| "FacebookAPIError"
| "InvalidContentType"
| "KeyLengthExceeded"
| "DataLengthExceeded"
| "TooManyKeys"
| "FreeTierCannotHaveVirtualCurrency"
| "MissingAmazonSharedKey"
| "AmazonValidationError"
| "InvalidPSNIssuerId"
| "PSNInaccessible"
| "ExpiredAuthToken"
| "FailedToGetEntitlements"
| "FailedToConsumeEntitlement"
| "TradeAcceptingUserNotAllowed"
| "TradeInventoryItemIsAssignedToCharacter"
| "TradeInventoryItemIsBundle"
| "TradeStatusNotValidForCancelling"
| "TradeStatusNotValidForAccepting"
| "TradeDoesNotExist"
| "TradeCancelled"
| "TradeAlreadyFilled"
| "TradeWaitForStatusTimeout"
| "TradeInventoryItemExpired"
| "TradeMissingOfferedAndAcceptedItems"
| "TradeAcceptedItemIsBundle"
| "TradeAcceptedItemIsStackable"
| "TradeInventoryItemInvalidStatus"
| "TradeAcceptedCatalogItemInvalid"
| "TradeAllowedUsersInvalid"
| "TradeInventoryItemDoesNotExist"
| "TradeInventoryItemIsConsumed"
| "TradeInventoryItemIsStackable"
| "TradeAcceptedItemsMismatch"
| "InvalidKongregateToken"
| "FeatureNotConfiguredForTitle"
| "NoMatchingCatalogItemForReceipt"
| "InvalidCurrencyCode"
| "NoRealMoneyPriceForCatalogItem"
| "TradeInventoryItemIsNotTradable"
| "TradeAcceptedCatalogItemIsNotTradable"
| "UsersAlreadyFriends"
| "LinkedIdentifierAlreadyClaimed"
| "CustomIdNotLinked"
| "TotalDataSizeExceeded"
| "DeleteKeyConflict"
| "InvalidXboxLiveToken"
| "ExpiredXboxLiveToken"
| "ResettableStatisticVersionRequired"
| "NotAuthorizedByTitle"
| "NoPartnerEnabled"
| "InvalidPartnerResponse"
| "APINotEnabledForGameServerAccess"
| "StatisticNotFound"
| "StatisticNameConflict"
| "StatisticVersionClosedForWrites"
| "StatisticVersionInvalid"
| "APIClientRequestRateLimitExceeded"
| "InvalidJSONContent"
| "InvalidDropTable"
| "StatisticVersionAlreadyIncrementedForScheduledInterval"
| "StatisticCountLimitExceeded"
| "StatisticVersionIncrementRateExceeded"
| "ContainerKeyInvalid"
| "CloudScriptExecutionTimeLimitExceeded"
| "NoWritePermissionsForEvent"
| "CloudScriptFunctionArgumentSizeExceeded"
| "CloudScriptAPIRequestCountExceeded"
| "CloudScriptAPIRequestError"
| "CloudScriptHTTPRequestError"
| "InsufficientGuildRole"
| "GuildNotFound"
| "OverLimit"
| "EventNotFound"
| "InvalidEventField"
| "InvalidEventName"
| "CatalogNotConfigured"
| "OperationNotSupportedForPlatform"
| "SegmentNotFound"
| "StoreNotFound"
| "InvalidStatisticName"
| "TitleNotQualifiedForLimit"
| "InvalidServiceLimitLevel"
| "ServiceLimitLevelInTransition"
| "CouponAlreadyRedeemed"
| "GameServerBuildSizeLimitExceeded"
| "GameServerBuildCountLimitExceeded"
| "VirtualCurrencyCountLimitExceeded"
| "VirtualCurrencyCodeExists"
| "TitleNewsItemCountLimitExceeded"
| "InvalidTwitchToken"
| "TwitchResponseError"
| "ProfaneDisplayName"
| "UserAlreadyAdded"
| "InvalidVirtualCurrencyCode"
| "VirtualCurrencyCannotBeDeleted"
| "IdentifierAlreadyClaimed"
| "IdentifierNotLinked"
| "InvalidContinuationToken"
| "ExpiredContinuationToken"
| "InvalidSegment"
| "InvalidSessionId"
| "SessionLogNotFound"
| "InvalidSearchTerm"
| "TwoFactorAuthenticationTokenRequired"
| "GameServerHostCountLimitExceeded"
| "PlayerTagCountLimitExceeded"
| "RequestAlreadyRunning"
| "ActionGroupNotFound"
| "MaximumSegmentBulkActionJobsRunning"
| "NoActionsOnPlayersInSegmentJob"
| "DuplicateStatisticName"
| "ScheduledTaskNameConflict"
| "ScheduledTaskCreateConflict"
| "InvalidScheduledTaskName"
| "InvalidTaskSchedule"
| "SteamNotEnabledForTitle"
| "LimitNotAnUpgradeOption"
| "NoSecretKeyEnabledForCloudScript"
| "TaskNotFound"
| "TaskInstanceNotFound"
| "InvalidIdentityProviderId"
| "MisconfiguredIdentityProvider"
| "InvalidScheduledTaskType"
| "BillingInformationRequired"
| "LimitedEditionItemUnavailable"
| "InvalidAdPlacementAndReward"
| "AllAdPlacementViewsAlreadyConsumed"
| "GoogleOAuthNotConfiguredForTitle"
| "GoogleOAuthError"
| "UserNotFriend"
| "InvalidSignature"
| "InvalidPublicKey"
| "GoogleOAuthNoIdTokenIncludedInResponse"
| "StatisticUpdateInProgress"
| "LeaderboardVersionNotAvailable"
| "StatisticAlreadyHasPrizeTable"
| "PrizeTableHasOverlappingRanks"
| "PrizeTableHasMissingRanks"
| "PrizeTableRankStartsAtZero"
| "InvalidStatistic"
| "ExpressionParseFailure"
| "ExpressionInvokeFailure"
| "ExpressionTooLong"
| "DataUpdateRateExceeded"
| "RestrictedEmailDomain"
| "EncryptionKeyDisabled"
| "EncryptionKeyMissing"
| "EncryptionKeyBroken"
| "NoSharedSecretKeyConfigured"
| "SecretKeyNotFound"
| "PlayerSecretAlreadyConfigured"
| "APIRequestsDisabledForTitle"
| "InvalidSharedSecretKey"
| "PrizeTableHasNoRanks"
| "ProfileDoesNotExist"
| "ContentS3OriginBucketNotConfigured"
| "InvalidEnvironmentForReceipt"
| "EncryptedRequestNotAllowed"
| "SignedRequestNotAllowed"
| "RequestViewConstraintParamsNotAllowed"
| "BadPartnerConfiguration"
| "XboxBPCertificateFailure"
| "XboxXASSExchangeFailure"
| "InvalidEntityId"
| "StatisticValueAggregationOverflow"
| "EmailMessageFromAddressIsMissing"
| "EmailMessageToAddressIsMissing"
| "SmtpServerAuthenticationError"
| "SmtpServerLimitExceeded"
| "SmtpServerInsufficientStorage"
| "SmtpServerCommunicationError"
| "SmtpServerGeneralFailure"
| "EmailClientTimeout"
| "EmailClientCanceledTask"
| "EmailTemplateMissing"
| "InvalidHostForTitleId"
| "EmailConfirmationTokenDoesNotExist"
| "EmailConfirmationTokenExpired"
| "AccountDeleted"
| "PlayerSecretNotConfigured"
| "InvalidSignatureTime"
| "NoContactEmailAddressFound"
| "InvalidAuthToken"
| "AuthTokenDoesNotExist"
| "AuthTokenExpired"
| "AuthTokenAlreadyUsedToResetPassword"
| "MembershipNameTooLong"
| "MembershipNotFound"
| "GoogleServiceAccountInvalid"
| "GoogleServiceAccountParseFailure"
| "EntityTokenMissing"
| "EntityTokenInvalid"
| "EntityTokenExpired"
| "EntityTokenRevoked"
| "InvalidProductForSubscription"
| "XboxInaccessible"
| "SubscriptionAlreadyTaken"
| "SmtpAddonNotEnabled"
| "APIConcurrentRequestLimitExceeded"
| "XboxRejectedXSTSExchangeRequest"
| "VariableNotDefined"
| "TemplateVersionNotDefined"
| "FileTooLarge"
| "TitleDeleted"
| "TitleContainsUserAccounts"
| "TitleDeletionPlayerCleanupFailure"
| "EntityFileOperationPending"
| "NoEntityFileOperationPending"
| "EntityProfileVersionMismatch"
| "TemplateVersionTooOld"
| "MembershipDefinitionInUse"
| "PaymentPageNotConfigured"
| "FailedLoginAttemptRateLimitExceeded"
| "EntityBlockedByGroup"
| "RoleDoesNotExist"
| "EntityIsAlreadyMember"
| "DuplicateRoleId"
| "GroupInvitationNotFound"
| "GroupApplicationNotFound"
| "OutstandingInvitationAcceptedInstead"
| "OutstandingApplicationAcceptedInstead"
| "RoleIsGroupDefaultMember"
| "RoleIsGroupAdmin"
| "RoleNameNotAvailable"
| "GroupNameNotAvailable"
| "EmailReportAlreadySent"
| "EmailReportRecipientBlacklisted"
| "EventNamespaceNotAllowed"
| "EventEntityNotAllowed"
| "InvalidEntityType"
| "NullTokenResultFromAad"
| "InvalidTokenResultFromAad"
| "NoValidCertificateForAad"
| "InvalidCertificateForAad"
| "DuplicateDropTableId"
| "MultiplayerServerError"
| "MultiplayerServerTooManyRequests"
| "MultiplayerServerNoContent"
| "MultiplayerServerBadRequest"
| "MultiplayerServerUnauthorized"
| "MultiplayerServerForbidden"
| "MultiplayerServerNotFound"
| "MultiplayerServerConflict"
| "MultiplayerServerInternalServerError"
| "MultiplayerServerUnavailable"
| "ExplicitContentDetected"
| "PIIContentDetected"
| "InvalidScheduledTaskParameter"
| "PerEntityEventRateLimitExceeded"
| "TitleDefaultLanguageNotSet"
| "EmailTemplateMissingDefaultVersion"
| "FacebookInstantGamesIdNotLinked"
| "InvalidFacebookInstantGamesSignature"
| "FacebookInstantGamesAuthNotConfiguredForTitle"
| "EntityProfileConstraintValidationFailed"
| "TelemetryIngestionKeyPending"
| "TelemetryIngestionKeyNotFound"
| "StatisticChildNameInvalid"
| "DataIntegrityError"
| "VirtualCurrencyCannotBeSetToOlderVersion"
| "VirtualCurrencyMustBeWithinIntegerRange"
| "EmailTemplateInvalidSyntax"
| "EmailTemplateMissingCallback"
| "PushNotificationTemplateInvalidPayload"
| "InvalidLocalizedPushNotificationLanguage"
| "MissingLocalizedPushNotificationMessage"
| "PushNotificationTemplateMissingPlatformPayload"
| "PushNotificationTemplatePayloadContainsInvalidJson"
| "PushNotificationTemplateContainsInvalidIosPayload"
| "PushNotificationTemplateContainsInvalidAndroidPayload"
| "PushNotificationTemplateIosPayloadMissingNotificationBody"
| "PushNotificationTemplateAndroidPayloadMissingNotificationBody"
| "PushNotificationTemplateNotFound"
| "PushNotificationTemplateMissingDefaultVersion"
| "PushNotificationTemplateInvalidSyntax"
| "PushNotificationTemplateNoCustomPayloadForV1"
| "NoLeaderboardForStatistic"
| "TitleNewsMissingDefaultLanguage"
| "TitleNewsNotFound"
| "TitleNewsDuplicateLanguage"
| "TitleNewsMissingTitleOrBody"
| "TitleNewsInvalidLanguage"
| "EmailRecipientBlacklisted"
| "InvalidGameCenterAuthRequest"
| "GameCenterAuthenticationFailed"
| "CannotEnablePartiesForTitle"
| "PartyError"
| "PartyRequests"
| "PartyNoContent"
| "PartyBadRequest"
| "PartyUnauthorized"
| "PartyForbidden"
| "PartyNotFound"
| "PartyConflict"
| "PartyInternalServerError"
| "PartyUnavailable"
| "PartyTooManyRequests"
| "PushNotificationTemplateMissingName"
| "CannotEnableMultiplayerServersForTitle"
| "WriteAttemptedDuringExport"
| "MultiplayerServerTitleQuotaCoresExceeded"
| "AutomationRuleNotFound"
| "EntityAPIKeyLimitExceeded"
| "EntityAPIKeyNotFound"
| "EntityAPIKeyOrSecretInvalid"
| "EconomyServiceUnavailable"
| "EconomyServiceInternalError"
| "QueryRateLimitExceeded"
| "EntityAPIKeyCreationDisabledForEntity"
| "ForbiddenByEntityPolicy"
| "UpdateInventoryRateLimitExceeded"
| "StudioCreationRateLimited"
| "StudioCreationInProgress"
| "DuplicateStudioName"
| "StudioNotFound"
| "StudioDeleted"
| "StudioDeactivated"
| "StudioActivated"
| "TitleCreationRateLimited"
| "TitleCreationInProgress"
| "DuplicateTitleName"
| "TitleActivationRateLimited"
| "TitleActivationInProgress"
| "TitleDeactivated"
| "TitleActivated"
| "CloudScriptAzureFunctionsExecutionTimeLimitExceeded"
| "CloudScriptAzureFunctionsArgumentSizeExceeded"
| "CloudScriptAzureFunctionsReturnSizeExceeded"
| "CloudScriptAzureFunctionsHTTPRequestError"
| "VirtualCurrencyBetaGetError"
| "VirtualCurrencyBetaCreateError"
| "VirtualCurrencyBetaInitialDepositSaveError"
| "VirtualCurrencyBetaSaveError"
| "VirtualCurrencyBetaDeleteError"
| "VirtualCurrencyBetaRestoreError"
| "VirtualCurrencyBetaSaveConflict"
| "VirtualCurrencyBetaUpdateError"
| "InsightsManagementDatabaseNotFound"
| "InsightsManagementOperationNotFound"
| "InsightsManagementErrorPendingOperationExists"
| "InsightsManagementSetPerformanceLevelInvalidParameter"
| "InsightsManagementSetStorageRetentionInvalidParameter"
| "InsightsManagementGetStorageUsageInvalidParameter"
| "InsightsManagementGetOperationStatusInvalidParameter"
| "DuplicatePurchaseTransactionId"
| "EvaluationModePlayerCountExceeded"
| "MatchmakingEntityInvalid"
| "MatchmakingPlayerAttributesInvalid"
| "MatchmakingQueueNotFound"
| "MatchmakingMatchNotFound"
| "MatchmakingTicketNotFound"
| "MatchmakingAlreadyJoinedTicket"
| "MatchmakingTicketAlreadyCompleted"
| "MatchmakingQueueConfigInvalid"
| "MatchmakingMemberProfileInvalid"
| "NintendoSwitchDeviceIdNotLinked"
| "MatchmakingNotEnabled"
| "MatchmakingPlayerAttributesTooLarge"
| "MatchmakingNumberOfPlayersInTicketTooLarge"
| "MatchmakingAttributeInvalid"
| "MatchmakingPlayerHasNotJoinedTicket"
| "MatchmakingRateLimitExceeded"
| "MatchmakingTicketMembershipLimitExceeded"
| "MatchmakingUnauthorized"
| "MatchmakingQueueLimitExceeded"
| "MatchmakingRequestTypeMismatch"
| "MatchmakingBadRequest"
| "TitleConfigNotFound"
| "TitleConfigUpdateConflict"
| "TitleConfigSerializationError"
| "CatalogEntityInvalid"
| "CatalogTitleIdMissing"
| "CatalogPlayerIdMissing"
| "CatalogClientIdentityInvalid"
| "CatalogOneOrMoreFilesInvalid"
| "CatalogItemMetadataInvalid"
| "CatalogItemIdInvalid"
| "CatalogSearchParameterInvalid"
| "CatalogFeatureDisabled"
| "CatalogConfigInvalid"
| "CatalogUnauthorized"
| "CatalogItemTypeInvalid"
| "CatalogBadRequest"
| "CatalogTooManyRequests"
| "ExportInvalidStatusUpdate"
| "ExportInvalidPrefix"
| "ExportBlobContainerDoesNotExist"
| "ExportNotFound"
| "ExportCouldNotUpdate"
| "ExportInvalidStorageType"
| "ExportAmazonBucketDoesNotExist"
| "ExportInvalidBlobStorage"
| "ExportKustoException"
| "ExportKustoConnectionFailed"
| "ExportUnknownError"
| "ExportCantEditPendingExport"
| "ExportLimitExports"
| "ExportLimitEvents"
| "TitleNotEnabledForParty"
| "PartyVersionNotFound"
| "MultiplayerServerBuildReferencedByMatchmakingQueue"
| "ExperimentationExperimentStopped"
| "ExperimentationExperimentRunning"
| "ExperimentationExperimentNotFound"
| "ExperimentationExperimentNeverStarted"
| "ExperimentationExperimentDeleted"
| "ExperimentationClientTimeout"
| "ExperimentationExceededVariantNameLength"
| "ExperimentationExceededMaxVariantLength"
| "ExperimentInvalidId"
| "ExperimentationNoScorecard"
| "MaxActionDepthExceeded"
| "SnapshotNotFound";
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GenericPlayFabIdPair */
interface GenericPlayFabIdPair {
/** Unique generic service identifier for a user. */
GenericId?: GenericServiceId,
/** Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the given generic identifier. */
PlayFabId?: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GenericServiceId */
interface GenericServiceId {
/** Name of the service for which the player has a unique identifier. */
ServiceName: string,
/** Unique identifier of the player in that service. */
UserId: string,
}
/**
* Request has no paramaters.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetAllSegmentsRequest
*/
interface GetAllSegmentsRequest {
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetAllSegmentsResult */
interface GetAllSegmentsResult {
/** Array of segments for this title. */
Segments?: GetSegmentResult[],
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetCatalogItemsRequest */
interface GetCatalogItemsRequest {
/** Which catalog is being requested. If null, uses the default catalog. */
CatalogVersion?: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetCatalogItemsResult */
interface GetCatalogItemsResult {
/** Array of items which can be purchased. */
Catalog?: CatalogItem[],
}
/**
* 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.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetCharacterDataRequest
*/
interface GetCharacterDataRequest {
/** Unique PlayFab assigned ID for a specific character owned by a user */
CharacterId: string,
/**
* The version that currently exists according to the caller. The call will return the data for all of the keys if the
* version in the system is greater than this.
*/
IfChangedFromDataVersion?: number,
/** Specific keys to search for in the custom user data. */
Keys?: string[],
/** Unique PlayFab assigned ID of the user on whom the operation will be performed. */
PlayFabId: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetCharacterDataResult */
interface GetCharacterDataResult {
/** Unique PlayFab assigned ID for a specific character owned by a user */
CharacterId?: string,
/** User specific data for this title. */
Data?: { [key: string]: UserDataRecord },
/**
* Indicates the current version of the data that has been set. This is incremented with every set call for that type of
* data (read-only, internal, etc). This version can be provided in Get calls to find updated data.
*/
DataVersion: number,
/** Unique PlayFab assigned ID of the user on whom the operation will be performed. */
PlayFabId?: string,
}
/**
* All items currently in the character inventory will be returned, irrespective of how they were acquired (via purchasing,
* grants, coupons, etc.). Items that are expired, fully consumed, or are no longer valid are not considered to be in the
* user's current inventory, and so will not be not included. Also returns their virtual currency balances.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetCharacterInventoryRequest
*/
interface GetCharacterInventoryRequest {
/** Used to limit results to only those from a specific catalog version. */
CatalogVersion?: string,
/** Unique PlayFab assigned ID for a specific character owned by a user */
CharacterId: string,
/** Unique PlayFab assigned ID of the user on whom the operation will be performed. */
PlayFabId: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetCharacterInventoryResult */
interface GetCharacterInventoryResult {
/** Unique identifier of the character for this inventory. */
CharacterId?: string,
/** Array of inventory items belonging to the character. */
Inventory?: ItemInstance[],
/** Unique PlayFab assigned ID of the user on whom the operation will be performed. */
PlayFabId?: string,
/** Array of virtual currency balance(s) belonging to the character. */
VirtualCurrency?: { [key: string]: number },
/** Array of remaining times and timestamps for virtual currencies. */
VirtualCurrencyRechargeTimes?: { [key: string]: VirtualCurrencyRechargeTime },
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetCharacterLeaderboardRequest */
interface GetCharacterLeaderboardRequest {
/** Optional character type on which to filter the leaderboard entries. */
CharacterType?: string,
/** Maximum number of entries to retrieve. */
MaxResultsCount: number,
/** First entry in the leaderboard to be retrieved. */
StartPosition: number,
/** Unique identifier for the title-specific statistic for the leaderboard. */
StatisticName: string,
}
/**
* Note that the Position of the character in the results is for the overall leaderboard.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetCharacterLeaderboardResult
*/
interface GetCharacterLeaderboardResult {
/** Ordered list of leaderboard entries. */
Leaderboard?: CharacterLeaderboardEntry[],
}
/**
* Character statistics are similar to user statistics in that they are numeric values which may only be updated by a
* server operation, in order to minimize the opportunity for unauthorized changes. In addition to being available for use
* by the title, the statistics are used for all leaderboard operations in PlayFab.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetCharacterStatisticsRequest
*/
interface GetCharacterStatisticsRequest {
/** Unique PlayFab assigned ID for a specific character owned by a user */
CharacterId: string,
/** Unique PlayFab assigned ID of the user on whom the operation will be performed. */
PlayFabId: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetCharacterStatisticsResult */
interface GetCharacterStatisticsResult {
/** Unique identifier of the character for the statistics. */
CharacterId?: string,
/** Character statistics for the requested user. */
CharacterStatistics?: { [key: string]: number },
/** PlayFab unique identifier of the user whose character statistics are being returned. */
PlayFabId?: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetContentDownloadUrlRequest */
interface GetContentDownloadUrlRequest {
/** HTTP method to fetch item - GET or HEAD. Use HEAD when only fetching metadata. Default is GET. */
HttpMethod?: string,
/** Key of the content item to fetch, usually formatted as a path, e.g. images/a.png */
Key: string,
/**
* True to download through CDN. CDN provides higher download bandwidth and lower latency. However, if you want the latest,
* non-cached version of the content during development, set this to false. Default is true.
*/
ThruCDN?: boolean,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetContentDownloadUrlResult */
interface GetContentDownloadUrlResult {
/** URL for downloading content via HTTP GET or HEAD method. The URL will expire in approximately one hour. */
URL?: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetFriendLeaderboardRequest */
interface GetFriendLeaderboardRequest {
/** Indicates whether Facebook friends should be included in the response. Default is true. */
IncludeFacebookFriends?: boolean,
/** Indicates whether Steam service friends should be included in the response. Default is true. */
IncludeSteamFriends?: boolean,
/** Maximum number of entries to retrieve. */
MaxResultsCount: number,
/** The player whose friend leaderboard to get */
PlayFabId: string,
/**
* If non-null, this determines which properties of the resulting player profiles to return. For API calls from the client,
* only the allowed client profile properties for the title may be requested. These allowed properties are configured in
* the Game Manager "Client Profile Options" tab in the "Settings" section.
*/
ProfileConstraints?: PlayerProfileViewConstraints,
/** Position in the leaderboard to start this listing (defaults to the first entry). */
StartPosition: number,
/** Statistic used to rank friends for this leaderboard. */
StatisticName: string,
/** The version of the leaderboard to get. */
Version?: number,
/** Xbox token if Xbox friends should be included. Requires Xbox be configured on PlayFab. */
XboxToken?: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetFriendsListRequest */
interface GetFriendsListRequest {
/** Indicates whether Facebook friends should be included in the response. Default is true. */
IncludeFacebookFriends?: boolean,
/** Indicates whether Steam service friends should be included in the response. Default is true. */
IncludeSteamFriends?: boolean,
/** PlayFab identifier of the player whose friend list to get. */
PlayFabId: string,
/**
* If non-null, this determines which properties of the resulting player profiles to return. For API calls from the client,
* only the allowed client profile properties for the title may be requested. These allowed properties are configured in
* the Game Manager "Client Profile Options" tab in the "Settings" section.
*/
ProfileConstraints?: PlayerProfileViewConstraints,
/** Xbox token if Xbox friends should be included. Requires Xbox be configured on PlayFab. */
XboxToken?: string,
}
/**
* If any additional services are queried for the user's friends, those friends who also have a PlayFab account registered
* for the title will be returned in the results. For Facebook, user has to have logged into the title's Facebook app
* recently, and only friends who also plays this game will be included.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetFriendsListResult
*/
interface GetFriendsListResult {
/** Array of friends found. */
Friends?: FriendInfo[],
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetLeaderboardAroundCharacterRequest */
interface GetLeaderboardAroundCharacterRequest {
/** Unique PlayFab assigned ID for a specific character owned by a user */
CharacterId: string,
/** Optional character type on which to filter the leaderboard entries. */
CharacterType?: string,
/** Maximum number of entries to retrieve. */
MaxResultsCount: number,
/** Unique PlayFab assigned ID of the user on whom the operation will be performed. */
PlayFabId: string,
/** Unique identifier for the title-specific statistic for the leaderboard. */
StatisticName: string,
}
/**
* Note: When calling 'GetLeaderboardAround...' APIs, the position of the character defaults to 0 when the character does
* not have the corresponding statistic.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetLeaderboardAroundCharacterResult
*/
interface GetLeaderboardAroundCharacterResult {
/** Ordered list of leaderboard entries. */
Leaderboard?: CharacterLeaderboardEntry[],
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetLeaderboardAroundUserRequest */
interface GetLeaderboardAroundUserRequest {
/** Maximum number of entries to retrieve. */
MaxResultsCount: number,
/** Unique PlayFab assigned ID of the user on whom the operation will be performed. */
PlayFabId: string,
/**
* If non-null, this determines which properties of the resulting player profiles to return. For API calls from the client,
* only the allowed client profile properties for the title may be requested. These allowed properties are configured in
* the Game Manager "Client Profile Options" tab in the "Settings" section.
*/
ProfileConstraints?: PlayerProfileViewConstraints,
/** Unique identifier for the title-specific statistic for the leaderboard. */
StatisticName: string,
/** The version of the leaderboard to get. */
Version?: number,
}
/**
* Note: When calling 'GetLeaderboardAround...' APIs, the position of the user defaults to 0 when the user does not have
* the corresponding statistic.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetLeaderboardAroundUserResult
*/
interface GetLeaderboardAroundUserResult {
/** Ordered listing of users and their positions in the requested leaderboard. */
Leaderboard?: PlayerLeaderboardEntry[],
/** The time the next scheduled reset will occur. Null if the leaderboard does not reset on a schedule. */
NextReset?: string,
/** The version of the leaderboard returned. */
Version: number,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetLeaderboardForUsersCharactersRequest */
interface GetLeaderboardForUsersCharactersRequest {
/** Maximum number of entries to retrieve. */
MaxResultsCount: number,
/** Unique PlayFab assigned ID of the user on whom the operation will be performed. */
PlayFabId: string,
/** Unique identifier for the title-specific statistic for the leaderboard. */
StatisticName: string,
}
/**
* NOTE: The position of the character in the results is relative to the other characters for that specific user. This mean
* the values will always be between 0 and one less than the number of characters returned regardless of the size of the
* actual leaderboard.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetLeaderboardForUsersCharactersResult
*/
interface GetLeaderboardForUsersCharactersResult {
/** Ordered list of leaderboard entries. */
Leaderboard?: CharacterLeaderboardEntry[],
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetLeaderboardRequest */
interface GetLeaderboardRequest {
/** Maximum number of entries to retrieve. */
MaxResultsCount: number,
/**
* If non-null, this determines which properties of the resulting player profiles to return. For API calls from the client,
* only the allowed client profile properties for the title may be requested. These allowed properties are configured in
* the Game Manager "Client Profile Options" tab in the "Settings" section.
*/
ProfileConstraints?: PlayerProfileViewConstraints,
/** First entry in the leaderboard to be retrieved. */
StartPosition: number,
/** Unique identifier for the title-specific statistic for the leaderboard. */
StatisticName: string,
/** The version of the leaderboard to get. */
Version?: number,
}
/**
* Note that the Position of the user in the results is for the overall leaderboard.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetLeaderboardResult
*/
interface GetLeaderboardResult {
/** Ordered listing of users and their positions in the requested leaderboard. */
Leaderboard?: PlayerLeaderboardEntry[],
/** The time the next scheduled reset will occur. Null if the leaderboard does not reset on a schedule. */
NextReset?: string,
/** The version of the leaderboard returned. */
Version: number,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayerCombinedInfoRequest */
interface GetPlayerCombinedInfoRequest {
/** Flags for which pieces of info to return for the user. */
InfoRequestParameters: GetPlayerCombinedInfoRequestParams,
/** PlayFabId of the user whose data will be returned */
PlayFabId: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayerCombinedInfoRequestParams */
interface GetPlayerCombinedInfoRequestParams {
/** Whether to get character inventories. Defaults to false. */
GetCharacterInventories: boolean,
/** Whether to get the list of characters. Defaults to false. */
GetCharacterList: boolean,
/** Whether to get player profile. Defaults to false. Has no effect for a new player. */
GetPlayerProfile: boolean,
/** Whether to get player statistics. Defaults to false. */
GetPlayerStatistics: boolean,
/** Whether to get title data. Defaults to false. */
GetTitleData: boolean,
/** Whether to get the player's account Info. Defaults to false */
GetUserAccountInfo: boolean,
/** Whether to get the player's custom data. Defaults to false */
GetUserData: boolean,
/** Whether to get the player's inventory. Defaults to false */
GetUserInventory: boolean,
/** Whether to get the player's read only data. Defaults to false */
GetUserReadOnlyData: boolean,
/** Whether to get the player's virtual currency balances. Defaults to false */
GetUserVirtualCurrency: boolean,
/** Specific statistics to retrieve. Leave null to get all keys. Has no effect if GetPlayerStatistics is false */
PlayerStatisticNames?: string[],
/** Specifies the properties to return from the player profile. Defaults to returning the player's display name. */
ProfileConstraints?: PlayerProfileViewConstraints,
/** Specific keys to search for in the custom data. Leave null to get all keys. Has no effect if GetTitleData is false */
TitleDataKeys?: string[],
/** Specific keys to search for in the custom data. Leave null to get all keys. Has no effect if GetUserData is false */
UserDataKeys?: string[],
/**
* Specific keys to search for in the custom data. Leave null to get all keys. Has no effect if GetUserReadOnlyData is
* false
*/
UserReadOnlyDataKeys?: string[],
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayerCombinedInfoResult */
interface GetPlayerCombinedInfoResult {
/** Results for requested info. */
InfoResultPayload?: GetPlayerCombinedInfoResultPayload,
/** Unique PlayFab assigned ID of the user on whom the operation will be performed. */
PlayFabId?: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayerCombinedInfoResultPayload */
interface GetPlayerCombinedInfoResultPayload {
/** Account information for the user. This is always retrieved. */
AccountInfo?: UserAccountInfo,
/** Inventories for each character for the user. */
CharacterInventories?: CharacterInventory[],
/** List of characters for the user. */
CharacterList?: CharacterResult[],
/**
* The profile of the players. This profile is not guaranteed to be up-to-date. For a new player, this profile will not
* exist.
*/
PlayerProfile?: PlayerProfileModel,
/** List of statistics for this player. */
PlayerStatistics?: StatisticValue[],
/** Title data for this title. */
TitleData?: { [key: string]: string | null },
/** User specific custom data. */
UserData?: { [key: string]: UserDataRecord },
/** The version of the UserData that was returned. */
UserDataVersion: number,
/** Array of inventory items in the user's current inventory. */
UserInventory?: ItemInstance[],
/** User specific read-only data. */
UserReadOnlyData?: { [key: string]: UserDataRecord },
/** The version of the Read-Only UserData that was returned. */
UserReadOnlyDataVersion: number,
/** Dictionary of virtual currency balance(s) belonging to the user. */
UserVirtualCurrency?: { [key: string]: number },
/** Dictionary of remaining times and timestamps for virtual currencies. */
UserVirtualCurrencyRechargeTimes?: { [key: string]: VirtualCurrencyRechargeTime },
}
/**
* This API allows for access to details regarding a user in the PlayFab service, usually for purposes of customer support.
* Note that data returned may be Personally Identifying Information (PII), such as email address, and so care should be
* taken in how this data is stored and managed. Since this call will always return the relevant information for users who
* have accessed the title, the recommendation is to not store this data locally.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayerProfileRequest
*/
interface GetPlayerProfileRequest {
/** Unique PlayFab assigned ID of the user on whom the operation will be performed. */
PlayFabId: string,
/**
* If non-null, this determines which properties of the resulting player profiles to return. For API calls from the client,
* only the allowed client profile properties for the title may be requested. These allowed properties are configured in
* the Game Manager "Client Profile Options" tab in the "Settings" section.
*/
ProfileConstraints?: PlayerProfileViewConstraints,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayerProfileResult */
interface GetPlayerProfileResult {
/**
* The profile of the player. This profile is not guaranteed to be up-to-date. For a new player, this profile will not
* exist.
*/
PlayerProfile?: PlayerProfileModel,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayerSegmentsResult */
interface GetPlayerSegmentsResult {
/** Array of segments the requested player currently belongs to. */
Segments?: GetSegmentResult[],
}
/**
* Initial request must contain at least a Segment ID. Subsequent requests must contain the Segment ID as well as the
* Continuation Token. Failure to send the Continuation Token will result in a new player segment list being generated.
* Each time the Continuation Token is passed in the length of the Total Seconds to Live is refreshed. If too much time
* passes between requests to the point that a subsequent request is past the Total Seconds to Live an error will be
* returned and paging will be terminated. This API is resource intensive and should not be used in scenarios which might
* generate high request volumes. Only one request to this API at a time should be made per title. Concurrent requests to
* the API may be rejected with the APIConcurrentRequestLimitExceeded error.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayersInSegmentRequest
*/
interface GetPlayersInSegmentRequest {
/** Continuation token if retrieving subsequent pages of results. */
ContinuationToken?: string,
/** Maximum number of profiles to load. Default is 1,000. Maximum is 10,000. */
MaxBatchSize?: number,
/**
* Number of seconds to keep the continuation token active. After token expiration it is not possible to continue paging
* results. Default is 300 (5 minutes). Maximum is 1,800 (30 minutes).
*/
SecondsToLive?: number,
/** Unique identifier for this segment. */
SegmentId: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayersInSegmentResult */
interface GetPlayersInSegmentResult {
/** Continuation token to use to retrieve subsequent pages of results. If token returns null there are no more results. */
ContinuationToken?: string,
/** Array of player profiles in this segment. */
PlayerProfiles?: PlayerProfile[],
/** Count of profiles matching this segment. */
ProfilesInSegment: number,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayersSegmentsRequest */
interface GetPlayersSegmentsRequest {
/** Unique PlayFab assigned ID of the user on whom the operation will be performed. */
PlayFabId: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayerStatisticsRequest */
interface GetPlayerStatisticsRequest {
/** user for whom statistics are being requested */
PlayFabId: string,
/** statistics to return */
StatisticNames?: string[],
/**
* statistics to return, if StatisticNames is not set (only statistics which have a version matching that provided will be
* returned)
*/
StatisticNameVersions?: StatisticNameVersion[],
}
/**
* In addition to being available for use by the title, the statistics are used for all leaderboard operations in PlayFab.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayerStatisticsResult
*/
interface GetPlayerStatisticsResult {
/** PlayFab unique identifier of the user whose statistics are being returned */
PlayFabId?: string,
/** User statistics for the requested user. */
Statistics?: StatisticValue[],
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayerStatisticVersionsRequest */
interface GetPlayerStatisticVersionsRequest {
/** unique name of the statistic */
StatisticName?: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayerStatisticVersionsResult */
interface GetPlayerStatisticVersionsResult {
/** version change history of the statistic */
StatisticVersions?: PlayerStatisticVersion[],
}
/**
* This API will return a list of canonical tags which includes both namespace and tag's name. If namespace is not
* provided, the result is a list of all canonical tags. TagName can be used for segmentation and Namespace is limited to
* 128 characters.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayerTagsRequest
*/
interface GetPlayerTagsRequest {
/** Optional namespace to filter results by */
Namespace?: string,
/** Unique PlayFab assigned ID of the user on whom the operation will be performed. */
PlayFabId: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayerTagsResult */
interface GetPlayerTagsResult {
/** Unique PlayFab assigned ID of the user on whom the operation will be performed. */
PlayFabId: string,
/** Canonical tags (including namespace and tag's name) for the requested user */
Tags: string[],
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayFabIDsFromFacebookIDsRequest */
interface GetPlayFabIDsFromFacebookIDsRequest {
/** Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. */
FacebookIDs: string[],
}
/**
* For Facebook identifiers which have not been linked to PlayFab accounts, null will be returned.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayFabIDsFromFacebookIDsResult
*/
interface GetPlayFabIDsFromFacebookIDsResult {
/** Mapping of Facebook identifiers to PlayFab identifiers. */
Data?: FacebookPlayFabIdPair[],
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayFabIDsFromFacebookInstantGamesIdsRequest */
interface GetPlayFabIDsFromFacebookInstantGamesIdsRequest {
/** Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. */
FacebookInstantGamesIds: string[],
}
/**
* For Facebook Instant Games identifiers which have not been linked to PlayFab accounts, null will be returned.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayFabIDsFromFacebookInstantGamesIdsResult
*/
interface GetPlayFabIDsFromFacebookInstantGamesIdsResult {
/** Mapping of Facebook Instant Games identifiers to PlayFab identifiers. */
Data?: FacebookInstantGamesPlayFabIdPair[],
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayFabIDsFromGenericIDsRequest */
interface GetPlayFabIDsFromGenericIDsRequest {
/**
* Array of unique generic service identifiers for which the title needs to get PlayFab identifiers. Currently limited to a
* maximum of 10 in a single request.
*/
GenericIDs: GenericServiceId[],
}
/**
* For generic service identifiers which have not been linked to PlayFab accounts, null will be returned.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayFabIDsFromGenericIDsResult
*/
interface GetPlayFabIDsFromGenericIDsResult {
/** Mapping of generic service identifiers to PlayFab identifiers. */
Data?: GenericPlayFabIdPair[],
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayFabIDsFromNintendoSwitchDeviceIdsRequest */
interface GetPlayFabIDsFromNintendoSwitchDeviceIdsRequest {
/** Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. */
NintendoSwitchDeviceIds: string[],
}
/**
* For Nintendo Switch Device identifiers which have not been linked to PlayFab accounts, null will be returned.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayFabIDsFromNintendoSwitchDeviceIdsResult
*/
interface GetPlayFabIDsFromNintendoSwitchDeviceIdsResult {
/** Mapping of Nintendo Switch Device identifiers to PlayFab identifiers. */
Data?: NintendoSwitchPlayFabIdPair[],
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayFabIDsFromPSNAccountIDsRequest */
interface GetPlayFabIDsFromPSNAccountIDsRequest {
/** Id of the PSN issuer environment. If null, defaults to 256 (production) */
IssuerId?: number,
/** Array of unique PlayStation Network identifiers for which the title needs to get PlayFab identifiers. */
PSNAccountIDs: string[],
}
/**
* For PlayStation Network identifiers which have not been linked to PlayFab accounts, null will be returned.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayFabIDsFromPSNAccountIDsResult
*/
interface GetPlayFabIDsFromPSNAccountIDsResult {
/** Mapping of PlayStation Network identifiers to PlayFab identifiers. */
Data?: PSNAccountPlayFabIdPair[],
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayFabIDsFromSteamIDsRequest */
interface GetPlayFabIDsFromSteamIDsRequest {
/** Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. */
SteamStringIDs?: string[],
}
/**
* For Steam identifiers which have not been linked to PlayFab accounts, null will be returned.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayFabIDsFromSteamIDsResult
*/
interface GetPlayFabIDsFromSteamIDsResult {
/** Mapping of Steam identifiers to PlayFab identifiers. */
Data?: SteamPlayFabIdPair[],
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayFabIDsFromXboxLiveIDsRequest */
interface GetPlayFabIDsFromXboxLiveIDsRequest {
/** The ID of Xbox Live sandbox. */
Sandbox?: string,
/** Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. */
XboxLiveAccountIDs: string[],
}
/**
* For XboxLive identifiers which have not been linked to PlayFab accounts, null will be returned.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayFabIDsFromXboxLiveIDsResult
*/
interface GetPlayFabIDsFromXboxLiveIDsResult {
/** Mapping of PlayStation Network identifiers to PlayFab identifiers. */
Data?: XboxLiveAccountPlayFabIdPair[],
}
/**
* This API is designed to return publisher-specific values which can be read, but not written to, by the client. This data
* is shared across all titles assigned to a particular publisher, and can be used for cross-game coordination. Only titles
* assigned to a publisher can use this API. For more information email devrel@playfab.com. Note that there may up to a
* minute delay in between updating title data and this API call returning the newest value.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPublisherDataRequest
*/
interface GetPublisherDataRequest {
/** array of keys to get back data from the Publisher data blob, set by the admin tools */
Keys: string[],
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPublisherDataResult */
interface GetPublisherDataResult {
/** a dictionary object of key / value pairs */
Data?: { [key: string]: string | null },
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetRandomResultTablesRequest */
interface GetRandomResultTablesRequest {
/**
* Specifies the catalog version that should be used to retrieve the Random Result Tables. If unspecified, uses
* default/primary catalog.
*/
CatalogVersion?: string,
/** The unique identifier of the Random Result Table to use. */
TableIDs: string[],
}
/**
* Note that if a specified Random Result Table contains no entries, or does not exist in the catalog, an InvalidDropTable
* error will be returned.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetRandomResultTablesResult
*/
interface GetRandomResultTablesResult {
/** array of random result tables currently available */
Tables?: { [key: string]: RandomResultTableListing },
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetSegmentResult */
interface GetSegmentResult {
/** Identifier of the segments AB Test, if it is attached to one. */
ABTestParent?: string,
/** Unique identifier for this segment. */
Id: string,
/** Segment name. */
Name?: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetServerCustomIDsFromPlayFabIDsRequest */
interface GetServerCustomIDsFromPlayFabIDsRequest {
/**
* Array of unique PlayFab player identifiers for which the title needs to get server custom identifiers. Cannot contain
* more than 25 identifiers.
*/
PlayFabIDs: string[],
}
/**
* For a PlayFab account that isn't associated with a server custom identity, ServerCustomId will be null.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetServerCustomIDsFromPlayFabIDsResult
*/
interface GetServerCustomIDsFromPlayFabIDsResult {
/** Mapping of server custom player identifiers to PlayFab identifiers. */
Data?: ServerCustomIDPlayFabIDPair[],
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetSharedGroupDataRequest */
interface GetSharedGroupDataRequest {
/** If true, return the list of all members of the shared group. */
GetMembers?: boolean,
/**
* Specific keys to retrieve from the shared group (if not specified, all keys will be returned, while an empty array
* indicates that no keys should be returned).
*/
Keys?: string[],
/** Unique identifier for the shared group. */
SharedGroupId: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetSharedGroupDataResult */
interface GetSharedGroupDataResult {
/** Data for the requested keys. */
Data?: { [key: string]: SharedGroupDataRecord },
/** List of PlayFabId identifiers for the members of this group, if requested. */
Members?: string[],
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetStoreItemsResult */
interface GetStoreItemsResult {
/** The base catalog that this store is a part of. */
CatalogVersion?: string,
/** Additional data about the store. */
MarketingData?: StoreMarketingModel,
/** How the store was last updated (Admin or a third party). */
Source?: SourceType,
/** Array of items which can be purchased from this store. */
Store?: StoreItem[],
/** The ID of this store. */
StoreId?: string,
}
/**
* A store contains an array of references to items defined in one or more catalog versions of the game, along with the
* prices for the item, in both real world and virtual currencies. These prices act as an override to any prices defined in
* the catalog. In this way, the base definitions of the items may be defined in the catalog, with all associated
* properties, while the pricing can be set for each store, as needed. This allows for subsets of goods to be defined for
* different purposes (in order to simplify showing some, but not all catalog items to users, based upon different
* characteristics), along with unique prices. Note that all prices defined in the catalog and store definitions for the
* item are considered valid, and that a compromised client can be made to send a request for an item based upon any of
* these definitions. If no price is specified in the store for an item, the price set in the catalog should be displayed
* to the user.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetStoreItemsServerRequest
*/
interface GetStoreItemsServerRequest {
/** Catalog version to store items from. Use default catalog version if null */
CatalogVersion?: string,
/**
* Optional identifier for the player to use in requesting the store information - if used, segment overrides will be
* applied
*/
PlayFabId?: string,
/** Unqiue identifier for the store which is being requested */
StoreId: string,
}
/**
* This query retrieves the current time from one of the servers in PlayFab. Please note that due to clock drift between
* servers, there is a potential variance of up to 5 seconds.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetTimeRequest
*/
interface GetTimeRequest {
}
/**
* Time is always returned as Coordinated Universal Time (UTC).
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetTimeResult
*/
interface GetTimeResult {
/** Current server time when the request was received, in UTC */
Time: string,
}
/**
* This API is designed to return title specific values which can be read, but not written to, by the client. For example,
* a developer could choose to store values which modify the user experience, such as enemy spawn rates, weapon strengths,
* movement speeds, etc. This allows a developer to update the title without the need to create, test, and ship a new
* build. Note that there may up to a minute delay in between updating title data and this API call returning the newest
* value.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetTitleDataRequest
*/
interface GetTitleDataRequest {
/** Specific keys to search for in the title data (leave null to get all keys) */
Keys?: string[],
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetTitleDataResult */
interface GetTitleDataResult {
/** a dictionary object of key / value pairs */
Data?: { [key: string]: string | null },
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetTitleNewsRequest */
interface GetTitleNewsRequest {
/** Limits the results to the last n entries. Defaults to 10 if not set. */
Count?: number,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetTitleNewsResult */
interface GetTitleNewsResult {
/** Array of localized news items. */
News?: TitleNewsItem[],
}
/**
* This API allows for access to details regarding a user in the PlayFab service, usually for purposes of customer support.
* Note that data returned may be Personally Identifying Information (PII), such as email address, and so care should be
* taken in how this data is stored and managed. Since this call will always return the relevant information for users who
* have accessed the title, the recommendation is to not store this data locally.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetUserAccountInfoRequest
*/
interface GetUserAccountInfoRequest {
/** Unique PlayFab assigned ID of the user on whom the operation will be performed. */
PlayFabId: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetUserAccountInfoResult */
interface GetUserAccountInfoResult {
/** Account details for the user whose information was requested. */
UserInfo?: UserAccountInfo,
}
/**
* Get all bans for a user, including inactive and expired bans.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetUserBansRequest
*/
interface GetUserBansRequest {
/** Unique PlayFab assigned ID of the user on whom the operation will be performed. */
PlayFabId: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetUserBansResult */
interface GetUserBansResult {
/** Information about the bans */
BanData?: BanInfo[],
}
/**
* 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.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetUserDataRequest
*/
interface GetUserDataRequest {
/**
* The version that currently exists according to the caller. The call will return the data for all of the keys if the
* version in the system is greater than this.
*/
IfChangedFromDataVersion?: number,
/** Specific keys to search for in the custom user data. */
Keys?: string[],
/** Unique PlayFab assigned ID of the user on whom the operation will be performed. */
PlayFabId: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetUserDataResult */
interface GetUserDataResult {
/** User specific data for this title. */
Data?: { [key: string]: UserDataRecord },
/**
* Indicates the current version of the data that has been set. This is incremented with every set call for that type of
* data (read-only, internal, etc). This version can be provided in Get calls to find updated data.
*/
DataVersion: number,
/** PlayFab unique identifier of the user whose custom data is being returned. */
PlayFabId?: string,
}
/**
* All items currently in the user inventory will be returned, irrespective of how they were acquired (via purchasing,
* grants, coupons, etc.). Items that are expired, fully consumed, or are no longer valid are not considered to be in the
* user's current inventory, and so will not be not included.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetUserInventoryRequest
*/
interface GetUserInventoryRequest {
/** Unique PlayFab assigned ID of the user on whom the operation will be performed. */
PlayFabId: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetUserInventoryResult */
interface GetUserInventoryResult {
/** Array of inventory items belonging to the user. */
Inventory?: ItemInstance[],
/** Unique PlayFab assigned ID of the user on whom the operation will be performed. */
PlayFabId?: string,
/** Array of virtual currency balance(s) belonging to the user. */
VirtualCurrency?: { [key: string]: number },
/** Array of remaining times and timestamps for virtual currencies. */
VirtualCurrencyRechargeTimes?: { [key: string]: VirtualCurrencyRechargeTime },
}
/**
* Grants a character to the user of the type and name specified in the request.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GrantCharacterToUserRequest
*/
interface GrantCharacterToUserRequest {
/** Non-unique display name of the character being granted (1-20 characters in length). */
CharacterName: string,
/** Type of the character being granted; statistics can be sliced based on this value. */
CharacterType: string,
/** Unique PlayFab assigned ID of the user on whom the operation will be performed. */
PlayFabId: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GrantCharacterToUserResult */
interface GrantCharacterToUserResult {
/** Unique identifier tagged to this character. */
CharacterId?: string,
}
/**
* Result of granting an item to a user. Note, to retrieve additional information for an item such as Tags, Description
* that are the same across all instances of the item, a call to GetCatalogItems is required. The ItemID of can be matched
* to a catalog entry, which contains the additional information. Also note that Custom Data is only set when the User's
* specific instance has updated the CustomData via a call to UpdateUserInventoryItemCustomData. Other fields such as
* UnitPrice and UnitCurrency are only set when the item was granted via a purchase.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GrantedItemInstance
*/
interface GrantedItemInstance {
/** Game specific comment associated with this instance when it was added to the user inventory. */
Annotation?: string,
/** Array of unique items that were awarded when this catalog item was purchased. */
BundleContents?: string[],
/**
* Unique identifier for the parent inventory item, as defined in the catalog, for object which were added from a bundle or
* container.
*/
BundleParent?: string,
/** Catalog version for the inventory item, when this instance was created. */
CatalogVersion?: string,
/** Unique PlayFab assigned ID for a specific character owned by a user */
CharacterId?: string,
/**
* A set of custom key-value pairs on the instance of the inventory item, which is not to be confused with the catalog
* item's custom data.
*/
CustomData?: { [key: string]: string | null },
/** CatalogItem.DisplayName at the time this item was purchased. */
DisplayName?: string,
/** Timestamp for when this instance will expire. */
Expiration?: string,
/** Class name for the inventory item, as defined in the catalog. */
ItemClass?: string,
/** Unique identifier for the inventory item, as defined in the catalog. */
ItemId?: string,
/** Unique item identifier for this specific instance of the item. */
ItemInstanceId?: string,
/** Unique PlayFab assigned ID of the user on whom the operation will be performed. */
PlayFabId?: string,
/** Timestamp for when this instance was purchased. */
PurchaseDate?: string,
/** Total number of remaining uses, if this is a consumable item. */
RemainingUses?: number,
/** Result of this operation. */
Result: boolean,
/** Currency type for the cost of the catalog item. Not available when granting items. */
UnitCurrency?: string,
/** Cost of the catalog item in the given currency. Not available when granting items. */
UnitPrice: number,
/** The number of uses that were added or removed to this item in this call. */
UsesIncrementedBy?: number,
}
/**
* This function directly adds inventory items to the character's inventories. As a result of this operations, the user
* will not be charged any transaction fee, regardless of the inventory item catalog definition. Please note that the
* processing time for inventory grants and purchases increases fractionally the more items are in the inventory, and the
* more items are in the grant/purchase operation.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GrantItemsToCharacterRequest
*/
interface GrantItemsToCharacterRequest {
/** String detailing any additional information concerning this operation. */
Annotation?: string,
/** Catalog version from which items are to be granted. */
CatalogVersion?: string,
/** Unique PlayFab assigned ID for a specific character owned by a user */
CharacterId: string,
/** Array of itemIds to grant to the user. */
ItemIds?: string[],
/** Unique PlayFab assigned ID of the user on whom the operation will be performed. */
PlayFabId: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GrantItemsToCharacterResult */
interface GrantItemsToCharacterResult {
/** Array of items granted to users. */
ItemGrantResults?: GrantedItemInstance[],
}
/**
* This function directly adds inventory items to the user's inventories. As a result of this operations, the user will not
* be charged any transaction fee, regardless of the inventory item catalog definition. Please note that the processing
* time for inventory grants and purchases increases fractionally the more items are in the inventory, and the more items
* are in the grant/purchase operation.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GrantItemsToUserRequest
*/
interface GrantItemsToUserRequest {
/** String detailing any additional information concerning this operation. */
Annotation?: string,
/** Catalog version from which items are to be granted. */
CatalogVersion?: string,
/** Array of itemIds to grant to the user. */
ItemIds: string[],
/** Unique PlayFab assigned ID of the user on whom the operation will be performed. */
PlayFabId: string,
}
/**
* Please note that the order of the items in the response may not match the order of items in the request.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GrantItemsToUserResult
*/
interface GrantItemsToUserResult {
/** Array of items granted to users. */
ItemGrantResults?: GrantedItemInstance[],
}
/**
* This function directly adds inventory items to user inventories. As a result of this operations, the user will not be
* charged any transaction fee, regardless of the inventory item catalog definition. Please note that the processing time
* for inventory grants and purchases increases fractionally the more items are in the inventory, and the more items are in
* the grant/purchase operation.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GrantItemsToUsersRequest
*/
interface GrantItemsToUsersRequest {
/** Catalog version from which items are to be granted. */
CatalogVersion?: string,
/** Array of items to grant and the users to whom the items are to be granted. */
ItemGrants: ItemGrant[],
}
/**
* Please note that the order of the items in the response may not match the order of items in the request.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GrantItemsToUsersResult
*/
interface GrantItemsToUsersResult {
/** Array of items granted to users. */
ItemGrantResults?: GrantedItemInstance[],
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ItemGrant */
interface ItemGrant {
/** String detailing any additional information concerning this operation. */
Annotation?: string,
/** Unique PlayFab assigned ID for a specific character owned by a user */
CharacterId?: string,
/**
* Key-value pairs to be written to the custom data. Note that keys are trimmed of whitespace, are limited in size, and may
* not begin with a '!' character or be null.
*/
Data?: { [key: string]: string | null },
/** Unique identifier of the catalog item to be granted to the user. */
ItemId: string,
/**
* Optional list of Data-keys to remove from UserData. Some SDKs cannot insert null-values into Data due to language
* constraints. Use this to delete the keys directly.
*/
KeysToRemove?: string[],
/** Unique PlayFab assigned ID of the user on whom the operation will be performed. */
PlayFabId: string,
}
/**
* A unique instance of an item in a user's inventory. Note, to retrieve additional information for an item such as Tags,
* Description that are the same across all instances of the item, a call to GetCatalogItems is required. The ItemID of can
* be matched to a catalog entry, which contains the additional information. Also note that Custom Data is only set when
* the User's specific instance has updated the CustomData via a call to UpdateUserInventoryItemCustomData. Other fields
* such as UnitPrice and UnitCurrency are only set when the item was granted via a purchase.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ItemInstance
*/
interface ItemInstance {
/** Game specific comment associated with this instance when it was added to the user inventory. */
Annotation?: string,
/** Array of unique items that were awarded when this catalog item was purchased. */
BundleContents?: string[],
/**
* Unique identifier for the parent inventory item, as defined in the catalog, for object which were added from a bundle or
* container.
*/
BundleParent?: string,
/** Catalog version for the inventory item, when this instance was created. */
CatalogVersion?: string,
/**
* A set of custom key-value pairs on the instance of the inventory item, which is not to be confused with the catalog
* item's custom data.
*/
CustomData?: { [key: string]: string | null },
/** CatalogItem.DisplayName at the time this item was purchased. */
DisplayName?: string,
/** Timestamp for when this instance will expire. */
Expiration?: string,
/** Class name for the inventory item, as defined in the catalog. */
ItemClass?: string,
/** Unique identifier for the inventory item, as defined in the catalog. */
ItemId?: string,
/** Unique item identifier for this specific instance of the item. */
ItemInstanceId?: string,
/** Timestamp for when this instance was purchased. */
PurchaseDate?: string,
/** Total number of remaining uses, if this is a consumable item. */
RemainingUses?: number,
/** Currency type for the cost of the catalog item. Not available when granting items. */
UnitCurrency?: string,
/** Cost of the catalog item in the given currency. Not available when granting items. */
UnitPrice: number,
/** The number of uses that were added or removed to this item in this call. */
UsesIncrementedBy?: number,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.LinkedPlatformAccountModel */
interface LinkedPlatformAccountModel {
/** Linked account email of the user on the platform, if available */
Email?: string,
/** Authentication platform */
Platform?: LoginIdentityProvider,
/** Unique account identifier of the user on the platform */
PlatformUserId?: string,
/** Linked account username of the user on the platform, if available */
Username?: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.LinkServerCustomIdRequest */
interface LinkServerCustomIdRequest {
/** If another user is already linked to the custom ID, unlink the other user and re-link. */
ForceLink?: boolean,
/** Unique PlayFab identifier. */
PlayFabId: string,
/** Unique server custom identifier for this player. */
ServerCustomId: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.LinkServerCustomIdResult */
interface LinkServerCustomIdResult {
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.LinkXboxAccountRequest */
interface LinkXboxAccountRequest {
/** If another user is already linked to the account, unlink the other user and re-link. */
ForceLink?: boolean,
/** Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the Xbox Live identifier. */
PlayFabId: string,
/** Token provided by the Xbox Live SDK/XDK method GetTokenAndSignatureAsync("POST", "https://playfabapi.com/", ""). */
XboxToken: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.LinkXboxAccountResult */
interface LinkXboxAccountResult {
}
/**
* Returns a list of every character that currently belongs to a user.
* https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ListUsersCharactersRequest
*/
interface ListUsersCharactersRequest {
/** Unique PlayFab assigned ID of the user on whom the operation will be performed. */
PlayFabId: string,
}
/** https://api.playfab.com/Documentation/Server/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ListUsersCharactersResult */
interface ListUsersCharactersResult {
/** The requested list of characters. */
Characters?: CharacterResult[],