Explore the Offer API documentation to dynamically manage seller offers, pricing, and inventory. Learn how to authenticate requests using API keys and HMAC-SHA256 signature verification.
API Reference
The Offer API is organized around REST. Our API has predictable resource-oriented URLs, accepts form-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.
The Offer API enables sellers to manage their offers dynamically. It provides a comprehensive suite of endpoints for creating new offers and modifying existing ones, including real-time updates to pricing, expiration dates, and inventory status.
Authentication
The Offer API uses API Keys to authenticate requests. You can request, view, and manage your API keys on the API Key Management page. How to Set Up Your PlayerAuctions API key?
Signature Verification
Authentication is handled via HTTP Headers, as shown in the table below:
| Param | Type | Description |
|---|---|---|
| X-PA-API-KEY | String | The API Keys you created in the API Key Management page. |
| X-PA-TIMESTAMP | Timestamp | This indicates the timestamp of the request in seconds. Required for all requests. Expires in 5 minutes. Example: 1780293232 |
| X-PA-SIGN | String |
Signature generated from api_key, timestamp, and request body using the HMAC-SHA256 hashing algorithm. Example: af41f49beda2d580e68ab4b5877a223695a92d663f6d62179414a94ceaf62ebb Note: For APIs with multipart/form-data request bodies (e.g., /api/v1/offers/bulk-upload), the request body only consists of non-file form field values, and these values are sorted in alphabetical order by key. |
Sample
var CryptoJS = require("crypto-js");
const secretKey = "Your_API_Secret_Key_Here";
const apiKey = "Your_API_Key_Here";
const timestamp = "1780293232"; // timestamp
const requestBody = "{ 'offerId': 15000 }"; // Request body
let canonicalString = apiKey + String(timestamp) + requestBody;
const signature = CryptoJS.HmacSHA256(canonicalString, secretKey);string apiKey = "Your_API_Key_Here";
string timestamp = "1780293232";
string requestBody = "{ \"offerId\": 15000 }";
string secretKey = "Your_API_Secret_Key_Here";
string canonicalString = $"{apiKey}{timestamp}{requestBody}";
byte[] keyBytes = Encoding.UTF8.GetBytes(secretKey);
byte[] messageBytes = Encoding.UTF8.GetBytes(canonicalString);
using (var hmac = new HMACSHA256(keyBytes))
{
byte[] hashBytes = hmac.ComputeHash(messageBytes);
var signature = BitConverter.ToString(hashBytes).Replace("-", "").ToLower();
Console.WriteLine(signature);
}<?php
function generateSignature($apiKey, $timestamp, $requestBody, $secretKey) {
$canonicalString = $apiKey . $timestamp . $requestBody;
return hash_hmac('sha256', $canonicalString, $secretKey);
}
$secretKey = "Your_API_Secret_Key_Here";
$apiKey = "Your_API_Key_Here";
$timestamp = "1780293232";
$requestBody = "{ 'offerId': 15000 }";
$signature = generateSignature($apiKey, $timestamp, $requestBody, $secretKey);
echo "Signature: " . $signature . "\n";
?>
Rate Limits & Restrictions
To ensure system stability, the Offer API enforces strict request quotas and rate controls based on your Seller Level. There is currently no restriction on the total number of HTTP requests per minute, but the following limits apply:
| Seller Level | Individual Creation Limit | Bulk Upload Limit |
|---|---|---|
| Level 4 – 5 | 400 requests/hour | 200 requests/hour |
| Level 2 – 3 | 200 requests/hour | 100 requests/hour |
Additional Frequency Controls:
- Cool-down Period (Individual Creation): Maximum of one offer created every 5 seconds for the same product type. Exceeding this rate will result in throttling.
⚠️ Important: Once your hourly quota is exhausted or frequency limits are triggered, subsequent requests will fail. Please design your automation scripts to handle throttling gracefully (e.g., by implementing back-off delays).
Detailed Documentation
Here is the complete reference for the Offer API endpoints. Click on any of the resources listed below to view its detailed request/response parameters and code samples.
1. Offer Management
Core endpoints for viewing and managing the lifecycle of individual seller offers.
Offer List: Retrieve a paginated list of your active or historical offers.
Cancellation Eligibility: Check whether a specific offer meets the criteria for safe cancellation.
Set Offer Display Status: Toggle the visibility of your offers (e.g., active, hide).
Cancel Offer: Permanently cancel and remove an active offer.
🔄 Cancel Offer Flow: Guide to eligibility verification and submission steps prior to item deactivation.
2. Bulk Offer Upload
Efficiently manage high-volume offers using batch processes and templates.
📤Bulk Offer Upload: Upload a file to create or update multiple offers simultaneously.
🔍Query Uploaded Offers: Check the execution status and processing results of bulk upload tasks.
📥Download Bulk Template: Fetch the official data template ( .csv / .xlsx)required for bulk formatting.
3. Offer Creation & Modification
Dedicated endpoints for creating, modifying, and inspecting offers tailored to specific gaming categories.
💡 Best Practice: Always run Offer Creation Prevalidation before calling any creation endpoints to verify data validity and prevent submission errors.
📈 Lifecycle & Creation Flows
Currency Offer Creation Flow ❖ Item Offer Creation Flow ❖ Account Offer Creation Flow * Boosting Offer Creation Flow ❖ Top up Offer Creation Flow
🛠️ Category Endpoints
Currency Offers: Create Currency Offer ❖ Edit Currency Offer ❖ Query Currency Offer
Item Offers: Create Item Offer ❖ Edit Item Offer ❖ Query Item Offer
Account Offers: Create Account Offer ❖ Edit Account Offer ❖ Query Account Offer
Boosting Offers: Create Boosting Offer ❖ Edit Boosting Offer ❖ Query Boosting Offer
Top Up Offers: Create Top Up Offer ❖ Edit Top Up Offer ❖ Query Top Up Offer
4. Image Gallery Management
Manage multimedia assets and screenshots used to showcase your listings.
🖼️Query Gallery: Retrieve a list of previously uploaded images and their URLs.
📤Upload Image: Upload a new image asset to the gallery.
🗑️Delete Image: Remove unwanted images from your gallery to free up space.
5. Base Data (Metadata)
Helper endpoints to look up system IDs, category structures, and dictionary data required to build valid offer payloads.
Games & Servers
- Game List (Get all supported games and game IDs)
- Query Game Servers (Get server/faction lists for a specific game)
Categories & Attributes
Logistics
6. Error Handling
⚠️ Error Code: A comprehensive index of global error codes, HTTP status mappings, and troubleshooting steps for failed requests.