Partner Program
Send documentId and variables using the request format.
Program State
referralProgramConfig
Description
Returns partner program state, referral currency availability, and currency name for the current project context.
Input
This operation does not accept variables.
Result
Response type - ReferralProgramConfig.
Errors
PROJECT_NOT_FOUND- the project was not found by context.
Exchange Example
{
"documentId": "referralProgramConfig",
"variables": {}
}
{
"data": {
"referralProgramConfig": {
"enabled": true,
"currencyEnabled": true,
"currencyName": "Referral points"
}
}
}
Related Types
Profile and Invitations
referralProfile
Description
Returns the current user's partner program balance, earned amount, spent amount, discount, and progress.
Input
This operation does not accept variables.
Result
Response type - ReferralProfile.
Errors
UNAUTHENTICATED- the user is not authenticated.REFERRAL_PROGRAM_DISABLED- the partner program is disabled.
Exchange Example
{
"documentId": "referralProfile",
"variables": {}
}
{
"data": {
"referralProfile": {
"balance": 250,
"earned": 1200,
"spent": 950,
"referralCount": 8,
"discountPercent": 5,
"nextThreshold": 1500,
"progressPercent": 80
}
}
}
referrals
Description
Returns a cursor-based list of invited players.
Input
| Field | Type | Required | Description |
|---|---|---|---|
first | Int | no | Page size. |
after | ID | no | Next page cursor from pageInfo.endCursor. |
Result
Response type - ReferralConnection.
Errors
UNAUTHENTICATED- the user is not authenticated.
Exchange Example
{
"documentId": "referrals",
"variables": {
"first": 20,
"after": null
}
}
{
"data": {
"referrals": {
"items": [
{
"id": "1001",
"login": "InvitedPlayer",
"registeredAt": "2026-07-17T10:30:00Z",
"earned": 150
}
],
"pageInfo": {
"endCursor": "MTA1",
"hasNextPage": true
}
}
}
}
Pass pageInfo.endCursor when pageInfo.hasNextPage is true.
Reward Catalog
referralRewardProduct
Description
Returns the current reward and its contents before confirmation.
Input
| Field | Type | Required | Description |
|---|---|---|---|
id | ID! | yes | Reward ID. |
Result
Response type - ReferralRewardProduct.
Errors
PRODUCT_NOT_FOUND- the reward was not found or is not available.REFERRAL_PROGRAM_DISABLED- the partner program is disabled.
Exchange Example
{
"documentId": "referralRewardProduct",
"variables": {
"id": "101"
}
}
{
"data": {
"referralRewardProduct": {
"id": "101",
"name": "Starter pack",
"price": 250,
"delivery": "WAREHOUSE",
"items": [
{
"itemId": 57,
"quantity": 1000000
}
]
}
}
}
The response contains the selected reward's price and contents.
Reward Redemption
redeemReferralReward
Description
Creates an idempotent request to redeem a referral reward.
Input
requestId must be a UUID v7 and must remain unchanged when retrying the same request.
Result
Response type - ReferralRewardRedemption.
Errors
UNAUTHENTICATED- the user is not authenticated.INVALID_REQUEST_ID- the value is not a UUIDv7.INSUFFICIENT_REFERRAL_BALANCE- referral balance is insufficient.REFERRAL_REWARD_NOT_FOUND- the reward was not found.
Exchange Example
{
"documentId": "redeemReferralReward",
"variables": {
"requestId": "019b2df1-85a7-7fd0-9d59-2c268ec93c80",
"productId": "101",
"delivery": "WAREHOUSE",
"accountName": null,
"charName": null,
"selections": []
}
}
{
"data": {
"redeemReferralReward": {
"requestId": "019b2df1-85a7-7fd0-9d59-2c268ec93c80",
"status": "PENDING",
"productId": "101",
"delivery": "WAREHOUSE"
}
}
}
For CHARACTER delivery, pass the game account and character. For selectable products, fill selections with itemKey, itemId, and quantity.
Redemption History
referralRewardRedemptions
Description
Returns a cursor-based history of redeemed referral rewards.
Exchange Example
{
"documentId": "referralRewardRedemptions",
"variables": {
"first": 10,
"after": null
}
}
{
"data": {
"referralRewardRedemptions": {
"items": [
{
"requestId": "019b2df1-85a7-7fd0-9d59-2c268ec93c80",
"status": "COMPLETED",
"productId": "101",
"createdAt": "2026-07-17T10:30:00Z"
}
],
"pageInfo": {
"endCursor": "MTA1",
"hasNextPage": false
}
}
}
}
History returns PENDING, PROCESSING, COMPLETED, or REQUIRES_REVIEW. Use pageInfo.endCursor for the next page.
Balance Conversion
convertReferralBalance
Description
Converts available referral balance into the user's main balance.
Exchange Example
{
"documentId": "convertReferralBalance",
"variables": {
"requestId": "019b2df2-2d30-78d9-a3ec-d3b554017844"
}
}
{
"data": {
"convertReferralBalance": {
"requestId": "019b2df2-2d30-78d9-a3ec-d3b554017844",
"success": true,
"balance": 2400,
"referralBalance": 0
}
}
}
A retry with the same requestId returns the same operation result and does not create a second credit.