Consume PS5 Entitlements
Checks for any new consumable entitlements. If any are found, they are consumed (if they’re consumables) and added as PlayFab items
Error codes
This operation may return the following PlayFab errors:
| Error | Code |
|---|---|
| DownstreamServiceUnavailable | 1127 |
| ItemNotFound | 1047 |
| ProductDisabledForTitle | 1609 |
POST
/
Client
/
ConsumePS5Entitlements
Consume PS5 Entitlements
curl --request POST \
--url https://{titleId}.playfabapi.com/Client/ConsumePS5Entitlements \
--header 'Content-Type: application/json' \
--header 'X-Authorization: <api-key>' \
--data '
{
"MarketplaceSpecificData": {
"ServiceLabel": "1"
},
"CatalogVersion": "MainCatalog"
}
'import requests
url = "https://{titleId}.playfabapi.com/Client/ConsumePS5Entitlements"
payload = {
"MarketplaceSpecificData": { "ServiceLabel": "1" },
"CatalogVersion": "MainCatalog"
}
headers = {
"X-Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Authorization': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({MarketplaceSpecificData: {ServiceLabel: '1'}, CatalogVersion: 'MainCatalog'})
};
fetch('https://{titleId}.playfabapi.com/Client/ConsumePS5Entitlements', 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/Client/ConsumePS5Entitlements",
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([
'MarketplaceSpecificData' => [
'ServiceLabel' => '1'
],
'CatalogVersion' => 'MainCatalog'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Authorization: <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/Client/ConsumePS5Entitlements"
payload := strings.NewReader("{\n \"MarketplaceSpecificData\": {\n \"ServiceLabel\": \"1\"\n },\n \"CatalogVersion\": \"MainCatalog\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Authorization", "<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/Client/ConsumePS5Entitlements")
.header("X-Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"MarketplaceSpecificData\": {\n \"ServiceLabel\": \"1\"\n },\n \"CatalogVersion\": \"MainCatalog\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{titleId}.playfabapi.com/Client/ConsumePS5Entitlements")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"MarketplaceSpecificData\": {\n \"ServiceLabel\": \"1\"\n },\n \"CatalogVersion\": \"MainCatalog\"\n}"
response = http.request(request)
puts response.read_body{
"code": 123,
"status": "<string>",
"data": {
"Items": [
{
"ItemId": "shield_level_5",
"ItemInstanceId": "133713371337",
"ItemClass": "shields",
"PurchaseDate": "2017-03-07T00:00:00",
"Expiration": "2018-10-01T00:00:00",
"RemainingUses": 10,
"Annotation": "No Annotation",
"CatalogVersion": "5",
"BundleParent": "crate block 1"
}
]
}
}{
"code": 123,
"errorCode": 123,
"status": "<string>",
"error": "<string>",
"errorMessage": "<string>",
"errorDetails": {}
}Authorizations
This API requires a client session ticket, available from any Client Login function.
Body
application/json
Marketplace specific payload containing details to fetch in app purchase transactions
Show child attributes
Show child attributes
Catalog version to use
The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
Last modified on October 2, 2026
Was this page helpful?
⌘I
Consume PS5 Entitlements
curl --request POST \
--url https://{titleId}.playfabapi.com/Client/ConsumePS5Entitlements \
--header 'Content-Type: application/json' \
--header 'X-Authorization: <api-key>' \
--data '
{
"MarketplaceSpecificData": {
"ServiceLabel": "1"
},
"CatalogVersion": "MainCatalog"
}
'import requests
url = "https://{titleId}.playfabapi.com/Client/ConsumePS5Entitlements"
payload = {
"MarketplaceSpecificData": { "ServiceLabel": "1" },
"CatalogVersion": "MainCatalog"
}
headers = {
"X-Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Authorization': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({MarketplaceSpecificData: {ServiceLabel: '1'}, CatalogVersion: 'MainCatalog'})
};
fetch('https://{titleId}.playfabapi.com/Client/ConsumePS5Entitlements', 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/Client/ConsumePS5Entitlements",
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([
'MarketplaceSpecificData' => [
'ServiceLabel' => '1'
],
'CatalogVersion' => 'MainCatalog'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Authorization: <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/Client/ConsumePS5Entitlements"
payload := strings.NewReader("{\n \"MarketplaceSpecificData\": {\n \"ServiceLabel\": \"1\"\n },\n \"CatalogVersion\": \"MainCatalog\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Authorization", "<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/Client/ConsumePS5Entitlements")
.header("X-Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"MarketplaceSpecificData\": {\n \"ServiceLabel\": \"1\"\n },\n \"CatalogVersion\": \"MainCatalog\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{titleId}.playfabapi.com/Client/ConsumePS5Entitlements")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"MarketplaceSpecificData\": {\n \"ServiceLabel\": \"1\"\n },\n \"CatalogVersion\": \"MainCatalog\"\n}"
response = http.request(request)
puts response.read_body{
"code": 123,
"status": "<string>",
"data": {
"Items": [
{
"ItemId": "shield_level_5",
"ItemInstanceId": "133713371337",
"ItemClass": "shields",
"PurchaseDate": "2017-03-07T00:00:00",
"Expiration": "2018-10-01T00:00:00",
"RemainingUses": 10,
"Annotation": "No Annotation",
"CatalogVersion": "5",
"BundleParent": "crate block 1"
}
]
}
}{
"code": 123,
"errorCode": 123,
"status": "<string>",
"error": "<string>",
"errorMessage": "<string>",
"errorDetails": {}
}