Ban Users
Bans users by PlayFab ID with optional IP address for the provided game.
Error codes
This operation may return the following PlayFab errors:
| Error | Code |
|---|---|
| UserisNotValid | 1030 |
curl --request POST \
--url https://{titleId}.playfabapi.com/Admin/BanUsers \
--header 'Content-Type: application/json' \
--header 'X-SecretKey: <api-key>' \
--data '
{
"Bans": [
{
"PlayFabId": "1679AF5CD04BD838",
"IPAddress": "192.168.1.1",
"Reason": "You cheated!",
"DurationInHours": 7
},
{
"PlayFabId": "2329AF5CD04BF513",
"Reason": "Caught you using speed hack!"
}
]
}
'import requests
url = "https://{titleId}.playfabapi.com/Admin/BanUsers"
payload = { "Bans": [
{
"PlayFabId": "1679AF5CD04BD838",
"IPAddress": "192.168.1.1",
"Reason": "You cheated!",
"DurationInHours": 7
},
{
"PlayFabId": "2329AF5CD04BF513",
"Reason": "Caught you using speed hack!"
}
] }
headers = {
"X-SecretKey": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-SecretKey': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
Bans: [
{
PlayFabId: '1679AF5CD04BD838',
IPAddress: '192.168.1.1',
Reason: 'You cheated!',
DurationInHours: 7
},
{PlayFabId: '2329AF5CD04BF513', Reason: 'Caught you using speed hack!'}
]
})
};
fetch('https://{titleId}.playfabapi.com/Admin/BanUsers', 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/Admin/BanUsers",
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([
'Bans' => [
[
'PlayFabId' => '1679AF5CD04BD838',
'IPAddress' => '192.168.1.1',
'Reason' => 'You cheated!',
'DurationInHours' => 7
],
[
'PlayFabId' => '2329AF5CD04BF513',
'Reason' => 'Caught you using speed hack!'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-SecretKey: <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/Admin/BanUsers"
payload := strings.NewReader("{\n \"Bans\": [\n {\n \"PlayFabId\": \"1679AF5CD04BD838\",\n \"IPAddress\": \"192.168.1.1\",\n \"Reason\": \"You cheated!\",\n \"DurationInHours\": 7\n },\n {\n \"PlayFabId\": \"2329AF5CD04BF513\",\n \"Reason\": \"Caught you using speed hack!\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-SecretKey", "<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/Admin/BanUsers")
.header("X-SecretKey", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"Bans\": [\n {\n \"PlayFabId\": \"1679AF5CD04BD838\",\n \"IPAddress\": \"192.168.1.1\",\n \"Reason\": \"You cheated!\",\n \"DurationInHours\": 7\n },\n {\n \"PlayFabId\": \"2329AF5CD04BF513\",\n \"Reason\": \"Caught you using speed hack!\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{titleId}.playfabapi.com/Admin/BanUsers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-SecretKey"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"Bans\": [\n {\n \"PlayFabId\": \"1679AF5CD04BD838\",\n \"IPAddress\": \"192.168.1.1\",\n \"Reason\": \"You cheated!\",\n \"DurationInHours\": 7\n },\n {\n \"PlayFabId\": \"2329AF5CD04BF513\",\n \"Reason\": \"Caught you using speed hack!\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"code": 200,
"status": "OK",
"data": {
"BanData": [
{
"PlayFabId": "1679AF5CD04BD838",
"BanId": "E0B5FF89542D413C",
"IPAddress": "192.111.11.1",
"Created": "2016-08-13T05:04:03",
"Reason": "You cheated!"
},
{
"PlayFabId": "2329AF5CD04BF513",
"BanId": "EF43FF89542G1546",
"Created": "2016-05-13T05:04:03",
"Expires": "2016-09-13T05:04:03",
"Reason": "You used speed hack!",
"Active": true
}
]
}
}{
"code": 123,
"errorCode": 123,
"status": "<string>",
"error": "<string>",
"errorMessage": "<string>",
"errorDetails": {}
}Authorizations
This API requires a title secret key, available to title admins, from PlayFab Game Manager.
Body
The existence of each user will not be verified. When banning by IP, multiple players may be affected, so use this feature with caution. Returns information about the new bans.
The existence of each user will not be verified. When banning by IP, multiple players may be affected, so use this feature with caution. Returns information about the new bans.
Response
The Http status code. If X-ReportErrorAsSuccess header is set to true, this will report the actual http error code.
The Http status code as a string.
Show child attributes
Show child attributes
{ "BanData": [ { "PlayFabId": "1679AF5CD04BD838", "BanId": "E0B5FF89542D413C", "IPAddress": "192.111.11.1", "Created": "2016-08-13T05:04:03", "Reason": "You cheated!" }, { "PlayFabId": "2329AF5CD04BF513", "BanId": "EF43FF89542G1546", "Created": "2016-05-13T05:04:03", "Expires": "2016-09-13T05:04:03", "Reason": "You used speed hack!", "Active": true } ] }
Was this page helpful?
curl --request POST \
--url https://{titleId}.playfabapi.com/Admin/BanUsers \
--header 'Content-Type: application/json' \
--header 'X-SecretKey: <api-key>' \
--data '
{
"Bans": [
{
"PlayFabId": "1679AF5CD04BD838",
"IPAddress": "192.168.1.1",
"Reason": "You cheated!",
"DurationInHours": 7
},
{
"PlayFabId": "2329AF5CD04BF513",
"Reason": "Caught you using speed hack!"
}
]
}
'import requests
url = "https://{titleId}.playfabapi.com/Admin/BanUsers"
payload = { "Bans": [
{
"PlayFabId": "1679AF5CD04BD838",
"IPAddress": "192.168.1.1",
"Reason": "You cheated!",
"DurationInHours": 7
},
{
"PlayFabId": "2329AF5CD04BF513",
"Reason": "Caught you using speed hack!"
}
] }
headers = {
"X-SecretKey": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-SecretKey': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
Bans: [
{
PlayFabId: '1679AF5CD04BD838',
IPAddress: '192.168.1.1',
Reason: 'You cheated!',
DurationInHours: 7
},
{PlayFabId: '2329AF5CD04BF513', Reason: 'Caught you using speed hack!'}
]
})
};
fetch('https://{titleId}.playfabapi.com/Admin/BanUsers', 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/Admin/BanUsers",
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([
'Bans' => [
[
'PlayFabId' => '1679AF5CD04BD838',
'IPAddress' => '192.168.1.1',
'Reason' => 'You cheated!',
'DurationInHours' => 7
],
[
'PlayFabId' => '2329AF5CD04BF513',
'Reason' => 'Caught you using speed hack!'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-SecretKey: <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/Admin/BanUsers"
payload := strings.NewReader("{\n \"Bans\": [\n {\n \"PlayFabId\": \"1679AF5CD04BD838\",\n \"IPAddress\": \"192.168.1.1\",\n \"Reason\": \"You cheated!\",\n \"DurationInHours\": 7\n },\n {\n \"PlayFabId\": \"2329AF5CD04BF513\",\n \"Reason\": \"Caught you using speed hack!\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-SecretKey", "<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/Admin/BanUsers")
.header("X-SecretKey", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"Bans\": [\n {\n \"PlayFabId\": \"1679AF5CD04BD838\",\n \"IPAddress\": \"192.168.1.1\",\n \"Reason\": \"You cheated!\",\n \"DurationInHours\": 7\n },\n {\n \"PlayFabId\": \"2329AF5CD04BF513\",\n \"Reason\": \"Caught you using speed hack!\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{titleId}.playfabapi.com/Admin/BanUsers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-SecretKey"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"Bans\": [\n {\n \"PlayFabId\": \"1679AF5CD04BD838\",\n \"IPAddress\": \"192.168.1.1\",\n \"Reason\": \"You cheated!\",\n \"DurationInHours\": 7\n },\n {\n \"PlayFabId\": \"2329AF5CD04BF513\",\n \"Reason\": \"Caught you using speed hack!\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"code": 200,
"status": "OK",
"data": {
"BanData": [
{
"PlayFabId": "1679AF5CD04BD838",
"BanId": "E0B5FF89542D413C",
"IPAddress": "192.111.11.1",
"Created": "2016-08-13T05:04:03",
"Reason": "You cheated!"
},
{
"PlayFabId": "2329AF5CD04BF513",
"BanId": "EF43FF89542G1546",
"Created": "2016-05-13T05:04:03",
"Expires": "2016-09-13T05:04:03",
"Reason": "You used speed hack!",
"Active": true
}
]
}
}{
"code": 123,
"errorCode": 123,
"status": "<string>",
"error": "<string>",
"errorMessage": "<string>",
"errorDetails": {}
}