Upload Certificate
Uploads a multiplayer server game certificate.
Allowed entity token types: title
Error codes
This operation may return the following PlayFab errors:
| Error | Code |
|---|---|
| APINotEnabledForGameClientAccess | 1082 |
| MultiplayerServerBadRequest | 1382 |
| MultiplayerServerConflict | 1386 |
| MultiplayerServerForbidden | 1384 |
| MultiplayerServerInternalServerError | 1387 |
| MultiplayerServerNoContent | 1381 |
| MultiplayerServerNotFound | 1385 |
| MultiplayerServerTooManyRequests | 1380 |
| MultiplayerServerUnauthorized | 1383 |
| MultiplayerServerUnavailable | 1388 |
| ProductDisabledForTitle | 1609 |
POST
/
MultiplayerServer
/
UploadCertificate
Upload Certificate
curl --request POST \
--url https://{titleId}.playfabapi.com/MultiplayerServer/UploadCertificate \
--header 'Content-Type: application/json' \
--header 'X-EntityToken: <api-key>' \
--data '
{
"GameCertificate": {
"Name": "GameCertificate1",
"Base64EncodedValue": "UGxheUZhYlJvY2tzISEhTGV0J3NtYWtlYWxvdG9mZ2FtZXMh",
"Password": "PasswordForPFXCertificate"
},
"ForceUpdate": false
}
'import requests
url = "https://{titleId}.playfabapi.com/MultiplayerServer/UploadCertificate"
payload = {
"GameCertificate": {
"Name": "GameCertificate1",
"Base64EncodedValue": "UGxheUZhYlJvY2tzISEhTGV0J3NtYWtlYWxvdG9mZ2FtZXMh",
"Password": "PasswordForPFXCertificate"
},
"ForceUpdate": False
}
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({
GameCertificate: {
Name: 'GameCertificate1',
Base64EncodedValue: 'UGxheUZhYlJvY2tzISEhTGV0J3NtYWtlYWxvdG9mZ2FtZXMh',
Password: 'PasswordForPFXCertificate'
},
ForceUpdate: false
})
};
fetch('https://{titleId}.playfabapi.com/MultiplayerServer/UploadCertificate', 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/MultiplayerServer/UploadCertificate",
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([
'GameCertificate' => [
'Name' => 'GameCertificate1',
'Base64EncodedValue' => 'UGxheUZhYlJvY2tzISEhTGV0J3NtYWtlYWxvdG9mZ2FtZXMh',
'Password' => 'PasswordForPFXCertificate'
],
'ForceUpdate' => false
]),
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/MultiplayerServer/UploadCertificate"
payload := strings.NewReader("{\n \"GameCertificate\": {\n \"Name\": \"GameCertificate1\",\n \"Base64EncodedValue\": \"UGxheUZhYlJvY2tzISEhTGV0J3NtYWtlYWxvdG9mZ2FtZXMh\",\n \"Password\": \"PasswordForPFXCertificate\"\n },\n \"ForceUpdate\": false\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/MultiplayerServer/UploadCertificate")
.header("X-EntityToken", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"GameCertificate\": {\n \"Name\": \"GameCertificate1\",\n \"Base64EncodedValue\": \"UGxheUZhYlJvY2tzISEhTGV0J3NtYWtlYWxvdG9mZ2FtZXMh\",\n \"Password\": \"PasswordForPFXCertificate\"\n },\n \"ForceUpdate\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{titleId}.playfabapi.com/MultiplayerServer/UploadCertificate")
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 \"GameCertificate\": {\n \"Name\": \"GameCertificate1\",\n \"Base64EncodedValue\": \"UGxheUZhYlJvY2tzISEhTGV0J3NtYWtlYWxvdG9mZ2FtZXMh\",\n \"Password\": \"PasswordForPFXCertificate\"\n },\n \"ForceUpdate\": false\n}"
response = http.request(request)
puts response.read_body{
"code": 123,
"status": "<string>",
"data": {}
}{
"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
application/json
Uploads a multiplayer server game certificate.
Uploads a multiplayer server game certificate.
The game certificate to upload.
Show child attributes
Show child attributes
The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
Forces the certificate renewal if the certificate already exists. Default is false
Last modified on October 1, 2026
Was this page helpful?
⌘I
Upload Certificate
curl --request POST \
--url https://{titleId}.playfabapi.com/MultiplayerServer/UploadCertificate \
--header 'Content-Type: application/json' \
--header 'X-EntityToken: <api-key>' \
--data '
{
"GameCertificate": {
"Name": "GameCertificate1",
"Base64EncodedValue": "UGxheUZhYlJvY2tzISEhTGV0J3NtYWtlYWxvdG9mZ2FtZXMh",
"Password": "PasswordForPFXCertificate"
},
"ForceUpdate": false
}
'import requests
url = "https://{titleId}.playfabapi.com/MultiplayerServer/UploadCertificate"
payload = {
"GameCertificate": {
"Name": "GameCertificate1",
"Base64EncodedValue": "UGxheUZhYlJvY2tzISEhTGV0J3NtYWtlYWxvdG9mZ2FtZXMh",
"Password": "PasswordForPFXCertificate"
},
"ForceUpdate": False
}
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({
GameCertificate: {
Name: 'GameCertificate1',
Base64EncodedValue: 'UGxheUZhYlJvY2tzISEhTGV0J3NtYWtlYWxvdG9mZ2FtZXMh',
Password: 'PasswordForPFXCertificate'
},
ForceUpdate: false
})
};
fetch('https://{titleId}.playfabapi.com/MultiplayerServer/UploadCertificate', 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/MultiplayerServer/UploadCertificate",
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([
'GameCertificate' => [
'Name' => 'GameCertificate1',
'Base64EncodedValue' => 'UGxheUZhYlJvY2tzISEhTGV0J3NtYWtlYWxvdG9mZ2FtZXMh',
'Password' => 'PasswordForPFXCertificate'
],
'ForceUpdate' => false
]),
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/MultiplayerServer/UploadCertificate"
payload := strings.NewReader("{\n \"GameCertificate\": {\n \"Name\": \"GameCertificate1\",\n \"Base64EncodedValue\": \"UGxheUZhYlJvY2tzISEhTGV0J3NtYWtlYWxvdG9mZ2FtZXMh\",\n \"Password\": \"PasswordForPFXCertificate\"\n },\n \"ForceUpdate\": false\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/MultiplayerServer/UploadCertificate")
.header("X-EntityToken", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"GameCertificate\": {\n \"Name\": \"GameCertificate1\",\n \"Base64EncodedValue\": \"UGxheUZhYlJvY2tzISEhTGV0J3NtYWtlYWxvdG9mZ2FtZXMh\",\n \"Password\": \"PasswordForPFXCertificate\"\n },\n \"ForceUpdate\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{titleId}.playfabapi.com/MultiplayerServer/UploadCertificate")
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 \"GameCertificate\": {\n \"Name\": \"GameCertificate1\",\n \"Base64EncodedValue\": \"UGxheUZhYlJvY2tzISEhTGV0J3NtYWtlYWxvdG9mZ2FtZXMh\",\n \"Password\": \"PasswordForPFXCertificate\"\n },\n \"ForceUpdate\": false\n}"
response = http.request(request)
puts response.read_body{
"code": 123,
"status": "<string>",
"data": {}
}{
"code": 123,
"errorCode": 123,
"status": "<string>",
"error": "<string>",
"errorMessage": "<string>",
"errorDetails": {}
}