Skip to main content

Partner Program

Send documentId and variables using the request format.

Program State​

QuerydocumentId: referralProgramConfigauth: public

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​

Request
documentId: referralProgramConfig
{
"documentId": "referralProgramConfig",
"variables": {}
}
Response
200 OK
{
"data": {
"referralProgramConfig": {
"enabled": true,
"currencyEnabled": true,
"currencyName": "Referral points"
}
}
}

Profile and Invitations​

QuerydocumentId: referralProfileauth: Bearer session

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​

Request
documentId: referralProfile
{
"documentId": "referralProfile",
"variables": {}
}
Response
200 OK
{
"data": {
"referralProfile": {
"balance": 250,
"earned": 1200,
"spent": 950,
"referralCount": 8,
"discountPercent": 5,
"nextThreshold": 1500,
"progressPercent": 80
}
}
}
QuerydocumentId: referralsauth: Bearer session

referrals​

Description​

Returns a cursor-based list of invited players.

Input​

FieldTypeRequiredDescription
firstIntnoPage size.
afterIDnoNext page cursor from pageInfo.endCursor.

Result​

Response type - ReferralConnection.

Errors​

  • UNAUTHENTICATED - the user is not authenticated.

Exchange Example​

Request
documentId: referrals
{
"documentId": "referrals",
"variables": {
"first": 20,
"after": null
}
}
Response
200 OK
{
"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​

QuerydocumentId: referralRewardProductauth: public

referralRewardProduct​

Description​

Returns the current reward and its contents before confirmation.

Input​

FieldTypeRequiredDescription
idID!yesReward 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​

Request
documentId: referralRewardProduct
{
"documentId": "referralRewardProduct",
"variables": {
"id": "101"
}
}
Response
200 OK
{
"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​

MutationdocumentId: redeemReferralRewardauth: Bearer session

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​

Request
documentId: redeemReferralReward
{
"documentId": "redeemReferralReward",
"variables": {
"requestId": "019b2df1-85a7-7fd0-9d59-2c268ec93c80",
"productId": "101",
"delivery": "WAREHOUSE",
"accountName": null,
"charName": null,
"selections": []
}
}
Response
200 OK
{
"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​

QuerydocumentId: referralRewardRedemptionsauth: Bearer session

referralRewardRedemptions​

Description​

Returns a cursor-based history of redeemed referral rewards.

Exchange Example​

Request
documentId: referralRewardRedemptions
{
"documentId": "referralRewardRedemptions",
"variables": {
"first": 10,
"after": null
}
}
Response
200 OK
{
"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​

MutationdocumentId: convertReferralBalanceauth: Bearer session

convertReferralBalance​

Description​

Converts available referral balance into the user's main balance.

Exchange Example​

Request
documentId: convertReferralBalance
{
"documentId": "convertReferralBalance",
"variables": {
"requestId": "019b2df2-2d30-78d9-a3ec-d3b554017844"
}
}
Response
200 OK
{
"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.