Create Server Backfill Ticket
Create a backfill matchmaking ticket as a server. A backfill ticket represents an ongoing game. The matchmaking service automatically starts matching the backfill ticket against other matchmaking tickets. Backfill tickets cannot match with other backfill tickets.
Error codes
This operation may return the following PlayFab errors:
| Error | Code |
|---|---|
| MatchmakingAttributeInvalid | 2046 |
| MatchmakingBadRequest | 2059 |
| MatchmakingEntityInvalid | 2001 |
| MatchmakingMemberProfileInvalid | 2032 |
| MatchmakingNumberOfPlayersInTicketTooLarge | 2044 |
| MatchmakingPlayerAttributesInvalid | 2002 |
| MatchmakingPlayerAttributesTooLarge | 2043 |
| MatchmakingQueueNotFound | 2016 |
| MatchmakingRateLimitExceeded | 2054 |
| MatchmakingTicketMembershipLimitExceeded | 2055 |
| MatchmakingUnauthorized | 2056 |
curl --request POST \
--url https://{titleId}.playfabapi.com/Match/CreateServerBackfillTicket \
--header 'Content-Type: application/json' \
--header 'X-EntityToken: <api-key>' \
--data '
{
"Members": [],
"GiveUpAfterSeconds": 100,
"ServerDetails": {
"IPV4Address": "10.250.24.54",
"Ports": [
{
"Name": "PortName",
"Num": 1243
}
],
"Region": "WestUS",
"Fqdn": "vm.azure.cloudapp.net",
"ServerId": "359e4634-7c8f-4d44-87a5-f3a876aac6c0"
},
"QueueName": "custom123"
}
'import requests
url = "https://{titleId}.playfabapi.com/Match/CreateServerBackfillTicket"
payload = {
"Members": [],
"GiveUpAfterSeconds": 100,
"ServerDetails": {
"IPV4Address": "10.250.24.54",
"Ports": [
{
"Name": "PortName",
"Num": 1243
}
],
"Region": "WestUS",
"Fqdn": "vm.azure.cloudapp.net",
"ServerId": "359e4634-7c8f-4d44-87a5-f3a876aac6c0"
},
"QueueName": "custom123"
}
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({
Members: [],
GiveUpAfterSeconds: 100,
ServerDetails: {
IPV4Address: '10.250.24.54',
Ports: [{Name: 'PortName', Num: 1243}],
Region: 'WestUS',
Fqdn: 'vm.azure.cloudapp.net',
ServerId: '359e4634-7c8f-4d44-87a5-f3a876aac6c0'
},
QueueName: 'custom123'
})
};
fetch('https://{titleId}.playfabapi.com/Match/CreateServerBackfillTicket', 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/Match/CreateServerBackfillTicket",
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([
'Members' => [
],
'GiveUpAfterSeconds' => 100,
'ServerDetails' => [
'IPV4Address' => '10.250.24.54',
'Ports' => [
[
'Name' => 'PortName',
'Num' => 1243
]
],
'Region' => 'WestUS',
'Fqdn' => 'vm.azure.cloudapp.net',
'ServerId' => '359e4634-7c8f-4d44-87a5-f3a876aac6c0'
],
'QueueName' => 'custom123'
]),
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/Match/CreateServerBackfillTicket"
payload := strings.NewReader("{\n \"Members\": [],\n \"GiveUpAfterSeconds\": 100,\n \"ServerDetails\": {\n \"IPV4Address\": \"10.250.24.54\",\n \"Ports\": [\n {\n \"Name\": \"PortName\",\n \"Num\": 1243\n }\n ],\n \"Region\": \"WestUS\",\n \"Fqdn\": \"vm.azure.cloudapp.net\",\n \"ServerId\": \"359e4634-7c8f-4d44-87a5-f3a876aac6c0\"\n },\n \"QueueName\": \"custom123\"\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/Match/CreateServerBackfillTicket")
.header("X-EntityToken", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"Members\": [],\n \"GiveUpAfterSeconds\": 100,\n \"ServerDetails\": {\n \"IPV4Address\": \"10.250.24.54\",\n \"Ports\": [\n {\n \"Name\": \"PortName\",\n \"Num\": 1243\n }\n ],\n \"Region\": \"WestUS\",\n \"Fqdn\": \"vm.azure.cloudapp.net\",\n \"ServerId\": \"359e4634-7c8f-4d44-87a5-f3a876aac6c0\"\n },\n \"QueueName\": \"custom123\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{titleId}.playfabapi.com/Match/CreateServerBackfillTicket")
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 \"Members\": [],\n \"GiveUpAfterSeconds\": 100,\n \"ServerDetails\": {\n \"IPV4Address\": \"10.250.24.54\",\n \"Ports\": [\n {\n \"Name\": \"PortName\",\n \"Num\": 1243\n }\n ],\n \"Region\": \"WestUS\",\n \"Fqdn\": \"vm.azure.cloudapp.net\",\n \"ServerId\": \"359e4634-7c8f-4d44-87a5-f3a876aac6c0\"\n },\n \"QueueName\": \"custom123\"\n}"
response = http.request(request)
puts response.read_body{
"code": 200,
"status": "OK",
"data": {
"TicketId": "1c4b0daa-150e-47ae-9923-d770c0f9b07c"
}
}{
"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
The server specifies all the members, their teams and their attributes, and the server details if applicable.
The server specifies all the members, their teams and their attributes, and the server details if applicable.
How long to attempt matching this ticket in seconds.
The users who will be part of this ticket, along with their team assignments.
Show child attributes
Show child attributes
The Id of a match queue.
The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
The details of the server the members are connected to.
Show child attributes
Show child attributes
{
"IPV4Address": "10.250.24.54",
"Ports": [{ "Name": "PortName", "Num": 1243 }],
"Region": "WestUS",
"Fqdn": "vm.azure.cloudapp.net",
"ServerId": "359e4634-7c8f-4d44-87a5-f3a876aac6c0"
}
Was this page helpful?
curl --request POST \
--url https://{titleId}.playfabapi.com/Match/CreateServerBackfillTicket \
--header 'Content-Type: application/json' \
--header 'X-EntityToken: <api-key>' \
--data '
{
"Members": [],
"GiveUpAfterSeconds": 100,
"ServerDetails": {
"IPV4Address": "10.250.24.54",
"Ports": [
{
"Name": "PortName",
"Num": 1243
}
],
"Region": "WestUS",
"Fqdn": "vm.azure.cloudapp.net",
"ServerId": "359e4634-7c8f-4d44-87a5-f3a876aac6c0"
},
"QueueName": "custom123"
}
'import requests
url = "https://{titleId}.playfabapi.com/Match/CreateServerBackfillTicket"
payload = {
"Members": [],
"GiveUpAfterSeconds": 100,
"ServerDetails": {
"IPV4Address": "10.250.24.54",
"Ports": [
{
"Name": "PortName",
"Num": 1243
}
],
"Region": "WestUS",
"Fqdn": "vm.azure.cloudapp.net",
"ServerId": "359e4634-7c8f-4d44-87a5-f3a876aac6c0"
},
"QueueName": "custom123"
}
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({
Members: [],
GiveUpAfterSeconds: 100,
ServerDetails: {
IPV4Address: '10.250.24.54',
Ports: [{Name: 'PortName', Num: 1243}],
Region: 'WestUS',
Fqdn: 'vm.azure.cloudapp.net',
ServerId: '359e4634-7c8f-4d44-87a5-f3a876aac6c0'
},
QueueName: 'custom123'
})
};
fetch('https://{titleId}.playfabapi.com/Match/CreateServerBackfillTicket', 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/Match/CreateServerBackfillTicket",
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([
'Members' => [
],
'GiveUpAfterSeconds' => 100,
'ServerDetails' => [
'IPV4Address' => '10.250.24.54',
'Ports' => [
[
'Name' => 'PortName',
'Num' => 1243
]
],
'Region' => 'WestUS',
'Fqdn' => 'vm.azure.cloudapp.net',
'ServerId' => '359e4634-7c8f-4d44-87a5-f3a876aac6c0'
],
'QueueName' => 'custom123'
]),
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/Match/CreateServerBackfillTicket"
payload := strings.NewReader("{\n \"Members\": [],\n \"GiveUpAfterSeconds\": 100,\n \"ServerDetails\": {\n \"IPV4Address\": \"10.250.24.54\",\n \"Ports\": [\n {\n \"Name\": \"PortName\",\n \"Num\": 1243\n }\n ],\n \"Region\": \"WestUS\",\n \"Fqdn\": \"vm.azure.cloudapp.net\",\n \"ServerId\": \"359e4634-7c8f-4d44-87a5-f3a876aac6c0\"\n },\n \"QueueName\": \"custom123\"\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/Match/CreateServerBackfillTicket")
.header("X-EntityToken", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"Members\": [],\n \"GiveUpAfterSeconds\": 100,\n \"ServerDetails\": {\n \"IPV4Address\": \"10.250.24.54\",\n \"Ports\": [\n {\n \"Name\": \"PortName\",\n \"Num\": 1243\n }\n ],\n \"Region\": \"WestUS\",\n \"Fqdn\": \"vm.azure.cloudapp.net\",\n \"ServerId\": \"359e4634-7c8f-4d44-87a5-f3a876aac6c0\"\n },\n \"QueueName\": \"custom123\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{titleId}.playfabapi.com/Match/CreateServerBackfillTicket")
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 \"Members\": [],\n \"GiveUpAfterSeconds\": 100,\n \"ServerDetails\": {\n \"IPV4Address\": \"10.250.24.54\",\n \"Ports\": [\n {\n \"Name\": \"PortName\",\n \"Num\": 1243\n }\n ],\n \"Region\": \"WestUS\",\n \"Fqdn\": \"vm.azure.cloudapp.net\",\n \"ServerId\": \"359e4634-7c8f-4d44-87a5-f3a876aac6c0\"\n },\n \"QueueName\": \"custom123\"\n}"
response = http.request(request)
puts response.read_body{
"code": 200,
"status": "OK",
"data": {
"TicketId": "1c4b0daa-150e-47ae-9923-d770c0f9b07c"
}
}{
"code": 123,
"errorCode": 123,
"status": "<string>",
"error": "<string>",
"errorMessage": "<string>",
"errorDetails": {}
}