Set Profile Language
Updates the entity’s language. The precedence hierarchy for communication to the player is Title Player Account language, Master Player Account language, and then title default language if the first two aren’t set or supported.
curl --request POST \
--url https://{titleId}.playfabapi.com/Profile/SetProfileLanguage \
--header 'Content-Type: application/json' \
--header 'X-EntityToken: <api-key>' \
--data '
{
"Language": "en",
"ExpectedVersion": 123,
"Entity": {
"Id": "1234",
"Type": "title_player_account",
"TypeString": "title_player_account"
}
}
'import requests
url = "https://{titleId}.playfabapi.com/Profile/SetProfileLanguage"
payload = {
"Language": "en",
"ExpectedVersion": 123,
"Entity": {
"Id": "1234",
"Type": "title_player_account",
"TypeString": "title_player_account"
}
}
headers = {
"X-EntityToken": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-EntityToken': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
Language: 'en',
ExpectedVersion: 123,
Entity: {Id: '1234', Type: 'title_player_account', TypeString: 'title_player_account'}
})
};
fetch('https://{titleId}.playfabapi.com/Profile/SetProfileLanguage', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{titleId}.playfabapi.com/Profile/SetProfileLanguage",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'Language' => 'en',
'ExpectedVersion' => 123,
'Entity' => [
'Id' => '1234',
'Type' => 'title_player_account',
'TypeString' => 'title_player_account'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-EntityToken: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{titleId}.playfabapi.com/Profile/SetProfileLanguage"
payload := strings.NewReader("{\n \"Language\": \"en\",\n \"ExpectedVersion\": 123,\n \"Entity\": {\n \"Id\": \"1234\",\n \"Type\": \"title_player_account\",\n \"TypeString\": \"title_player_account\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-EntityToken", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{titleId}.playfabapi.com/Profile/SetProfileLanguage")
.header("X-EntityToken", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"Language\": \"en\",\n \"ExpectedVersion\": 123,\n \"Entity\": {\n \"Id\": \"1234\",\n \"Type\": \"title_player_account\",\n \"TypeString\": \"title_player_account\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{titleId}.playfabapi.com/Profile/SetProfileLanguage")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-EntityToken"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"Language\": \"en\",\n \"ExpectedVersion\": 123,\n \"Entity\": {\n \"Id\": \"1234\",\n \"Type\": \"title_player_account\",\n \"TypeString\": \"title_player_account\"\n }\n}"
response = http.request(request)
puts response.read_body{
"code": 200,
"status": "OK",
"data": {
"VersionNumber": 124,
"OperationResult": "Updated"
}
}{
"code": 123,
"errorCode": 123,
"status": "<string>",
"error": "<string>",
"errorMessage": "<string>",
"errorDetails": {}
}Authorizations
This API requires an Entity Session Token, available from the Entity GetEntityToken method.
Body
Given an entity profile, will update its language to the one passed in if the profile's version is equal to the one passed in.
Given an entity profile, will update its language to the one passed in if the profile's version is equal to the one passed in.
The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
The optional entity to perform this action on. Defaults to the currently logged in entity.
Show child attributes
Show child attributes
The expected version of a profile to perform this update on
The language to set on the given entity. Deletes the profile's language if passed in a null string.
Was this page helpful?
curl --request POST \
--url https://{titleId}.playfabapi.com/Profile/SetProfileLanguage \
--header 'Content-Type: application/json' \
--header 'X-EntityToken: <api-key>' \
--data '
{
"Language": "en",
"ExpectedVersion": 123,
"Entity": {
"Id": "1234",
"Type": "title_player_account",
"TypeString": "title_player_account"
}
}
'import requests
url = "https://{titleId}.playfabapi.com/Profile/SetProfileLanguage"
payload = {
"Language": "en",
"ExpectedVersion": 123,
"Entity": {
"Id": "1234",
"Type": "title_player_account",
"TypeString": "title_player_account"
}
}
headers = {
"X-EntityToken": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-EntityToken': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
Language: 'en',
ExpectedVersion: 123,
Entity: {Id: '1234', Type: 'title_player_account', TypeString: 'title_player_account'}
})
};
fetch('https://{titleId}.playfabapi.com/Profile/SetProfileLanguage', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{titleId}.playfabapi.com/Profile/SetProfileLanguage",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'Language' => 'en',
'ExpectedVersion' => 123,
'Entity' => [
'Id' => '1234',
'Type' => 'title_player_account',
'TypeString' => 'title_player_account'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-EntityToken: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{titleId}.playfabapi.com/Profile/SetProfileLanguage"
payload := strings.NewReader("{\n \"Language\": \"en\",\n \"ExpectedVersion\": 123,\n \"Entity\": {\n \"Id\": \"1234\",\n \"Type\": \"title_player_account\",\n \"TypeString\": \"title_player_account\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-EntityToken", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{titleId}.playfabapi.com/Profile/SetProfileLanguage")
.header("X-EntityToken", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"Language\": \"en\",\n \"ExpectedVersion\": 123,\n \"Entity\": {\n \"Id\": \"1234\",\n \"Type\": \"title_player_account\",\n \"TypeString\": \"title_player_account\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{titleId}.playfabapi.com/Profile/SetProfileLanguage")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-EntityToken"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"Language\": \"en\",\n \"ExpectedVersion\": 123,\n \"Entity\": {\n \"Id\": \"1234\",\n \"Type\": \"title_player_account\",\n \"TypeString\": \"title_player_account\"\n }\n}"
response = http.request(request)
puts response.read_body{
"code": 200,
"status": "OK",
"data": {
"VersionNumber": 124,
"OperationResult": "Updated"
}
}{
"code": 123,
"errorCode": 123,
"status": "<string>",
"error": "<string>",
"errorMessage": "<string>",
"errorDetails": {}
}