Create IP Ban
Bans an IP address or CIDR range for a title.
Error codes
This operation may return the following PlayFab errors:
| Error | Code |
|---|---|
| ConcurrentEditError | 1133 |
| InvalidParams | 1000 |
| OverLimit | 1214 |
| ValueAlreadyExists | 1031 |
curl --request POST \
--url https://{titleId}.playfabapi.com/Admin/CreateIPBan \
--header 'Content-Type: application/json' \
--header 'X-SecretKey: <api-key>' \
--data '
{
"IPAddress": "192.168.1.1",
"Reason": "Suspected Bot Farm",
"Expires": "2024-06-08T00:00:00Z"
}
'import requests
url = "https://{titleId}.playfabapi.com/Admin/CreateIPBan"
payload = {
"IPAddress": "192.168.1.1",
"Reason": "Suspected Bot Farm",
"Expires": "2024-06-08T00:00:00Z"
}
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({
IPAddress: '192.168.1.1',
Reason: 'Suspected Bot Farm',
Expires: '2024-06-08T00:00:00Z'
})
};
fetch('https://{titleId}.playfabapi.com/Admin/CreateIPBan', 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/CreateIPBan",
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([
'IPAddress' => '192.168.1.1',
'Reason' => 'Suspected Bot Farm',
'Expires' => '2024-06-08T00:00:00Z'
]),
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/CreateIPBan"
payload := strings.NewReader("{\n \"IPAddress\": \"192.168.1.1\",\n \"Reason\": \"Suspected Bot Farm\",\n \"Expires\": \"2024-06-08T00:00:00Z\"\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/CreateIPBan")
.header("X-SecretKey", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"IPAddress\": \"192.168.1.1\",\n \"Reason\": \"Suspected Bot Farm\",\n \"Expires\": \"2024-06-08T00:00:00Z\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{titleId}.playfabapi.com/Admin/CreateIPBan")
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 \"IPAddress\": \"192.168.1.1\",\n \"Reason\": \"Suspected Bot Farm\",\n \"Expires\": \"2024-06-08T00:00:00Z\"\n}"
response = http.request(request)
puts response.read_body{
"code": 200,
"status": "OK",
"data": {
"IPBanData": {
"IPAddress": "192.168.1.1",
"Created": "2024-06-01T00:00:00",
"Expires": "2024-06-08T00:00:00",
"Reason": "Suspected Bot Farm",
"Active": true,
"BannedByDeveloperId": "1234567890"
}
}
}{
"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
Request to create an IP ban for a title.
Request to create an IP ban for a title.
The IP address to be banned.
The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
The UTC date and time when the IP ban expires. Leave this blank for a permanent ban. Must be later than the current time and no more than 100 years in the future.
The reason for the IP ban. Maximum 140 characters.
Response
Result of creating an IP ban.
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.
Result of creating an IP ban.
Show child attributes
Show child attributes
{
"IPBanData": {
"IPAddress": "192.168.1.1",
"Created": "2024-06-01T00:00:00",
"Expires": "2024-06-08T00:00:00",
"Reason": "Suspected Bot Farm",
"Active": true,
"BannedByDeveloperId": "1234567890"
}
}
Was this page helpful?
curl --request POST \
--url https://{titleId}.playfabapi.com/Admin/CreateIPBan \
--header 'Content-Type: application/json' \
--header 'X-SecretKey: <api-key>' \
--data '
{
"IPAddress": "192.168.1.1",
"Reason": "Suspected Bot Farm",
"Expires": "2024-06-08T00:00:00Z"
}
'import requests
url = "https://{titleId}.playfabapi.com/Admin/CreateIPBan"
payload = {
"IPAddress": "192.168.1.1",
"Reason": "Suspected Bot Farm",
"Expires": "2024-06-08T00:00:00Z"
}
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({
IPAddress: '192.168.1.1',
Reason: 'Suspected Bot Farm',
Expires: '2024-06-08T00:00:00Z'
})
};
fetch('https://{titleId}.playfabapi.com/Admin/CreateIPBan', 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/CreateIPBan",
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([
'IPAddress' => '192.168.1.1',
'Reason' => 'Suspected Bot Farm',
'Expires' => '2024-06-08T00:00:00Z'
]),
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/CreateIPBan"
payload := strings.NewReader("{\n \"IPAddress\": \"192.168.1.1\",\n \"Reason\": \"Suspected Bot Farm\",\n \"Expires\": \"2024-06-08T00:00:00Z\"\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/CreateIPBan")
.header("X-SecretKey", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"IPAddress\": \"192.168.1.1\",\n \"Reason\": \"Suspected Bot Farm\",\n \"Expires\": \"2024-06-08T00:00:00Z\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{titleId}.playfabapi.com/Admin/CreateIPBan")
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 \"IPAddress\": \"192.168.1.1\",\n \"Reason\": \"Suspected Bot Farm\",\n \"Expires\": \"2024-06-08T00:00:00Z\"\n}"
response = http.request(request)
puts response.read_body{
"code": 200,
"status": "OK",
"data": {
"IPBanData": {
"IPAddress": "192.168.1.1",
"Created": "2024-06-01T00:00:00",
"Expires": "2024-06-08T00:00:00",
"Reason": "Suspected Bot Farm",
"Active": true,
"BannedByDeveloperId": "1234567890"
}
}
}{
"code": 123,
"errorCode": 123,
"status": "<string>",
"error": "<string>",
"errorMessage": "<string>",
"errorDetails": {}
}