Misar IO Docs
MisarMailApi Reference

Referrals

Grow MisarMail through referral rewards — generate referral links, track milestones, and claim credits

Overview

The MisarMail referral system rewards you for inviting other creators. Each successful referral earns you credits that apply toward your subscription. As you accumulate referrals, you unlock milestones that carry additional rewards — including plan upgrades.

How it works:

  1. Generate your unique referral link via the dashboard or API
  2. Share it with friends, followers, or your audience
  3. When someone signs up using your link and activates a paid plan, they count as a successful referral
  4. Credits are automatically added to your account — no manual claiming required for credits
  5. Milestone rewards (e.g. plan upgrades) must be explicitly claimed once you qualify

All referral endpoints require session authentication (cookie-based). They are dashboard-only and cannot be called with an API key.


Get Referral Stats

Returns your current referral statistics, credit balances, and progress toward the next milestone.

GET /api/referrals

Response

{
  "referralLink": "https://misarmail.com/signup?ref=abc123",
  "totalReferrals": 14,
  "successfulReferrals": 9,
  "creditsEarned": 4500,
  "creditsRedeemed": 1000,
  "currentMilestone": {
    "id": "milestone_5",
    "referralsRequired": 5,
    "reward": { "type": "credits", "amount": 2000 }
  },
  "nextMilestone": {
    "id": "milestone_10",
    "referralsRequired": 10,
    "reward": { "type": "plan_upgrade", "amount": 1 }
  }
}
FieldDescription
totalReferralsAll sign-ups attributed to your link (including pending)
successfulReferralsReferrals who activated a paid plan
creditsEarnedLifetime credits earned from referrals
creditsRedeemedCredits already applied to invoices
currentMilestoneThe last milestone you've reached (null if none)
nextMilestoneThe next milestone you're working toward

Generate Referral Link

Generates a new referral code and link, or returns your existing one. Calling this again rotates your code — existing referrals already attributed to the old code are preserved.

POST /api/referrals/generate

Response

{
  "referralCode": "abc123",
  "referralLink": "https://misarmail.com/signup?ref=abc123"
}

Rotating your referral code invalidates the old link for new sign-ups. Always update your published links after rotating.


Claim a Referral Code

Apply someone else's referral code to your account. This must be done within 30 days of account creation. Credits are awarded to both the referrer and the new user.

POST /api/referrals/claim

Request body

{ "code": "abc123" }

Response

{
  "success": true,
  "creditsAwarded": 500
}
FieldDescription
creditsAwardedCredits added to your account as a new-user welcome bonus

Error cases:

ErrorMeaning
code_not_foundThe referral code does not exist
self_referralYou cannot use your own referral code
already_claimedYou have already claimed a referral code
window_expiredMore than 30 days have passed since your account was created

Leaderboard

Returns the top referrers anonymously — only rank, referral count, and credits earned are shown. No usernames or emails are exposed.

GET /api/referrals/leaderboard

Response

[
  { "rank": 1, "referrals": 87, "creditsEarned": 43500 },
  { "rank": 2, "referrals": 64, "creditsEarned": 32000 },
  { "rank": 3, "referrals": 51, "creditsEarned": 25500 }
]

List Milestones

Returns all milestone definitions in the program, including their reward types and thresholds.

GET /api/referrals/milestones

Response

[
  {
    "id": "milestone_1",
    "referralsRequired": 1,
    "reward": { "type": "credits", "amount": 500 }
  },
  {
    "id": "milestone_5",
    "referralsRequired": 5,
    "reward": { "type": "credits", "amount": 2000 }
  },
  {
    "id": "milestone_10",
    "referralsRequired": 10,
    "reward": { "type": "plan_upgrade", "amount": 1 }
  },
  {
    "id": "milestone_25",
    "referralsRequired": 25,
    "reward": { "type": "credits", "amount": 15000 }
  }
]

Reward types:

TypeDescription
creditsamount credits added to your balance (1 credit = $0.01 USD)
plan_upgradeYour plan is upgraded by amount tiers at no charge

Get Claimed Milestones

Returns all milestones you have already claimed.

GET /api/referrals/milestone-claims

Response

[
  {
    "milestoneId": "milestone_1",
    "claimedAt": "2025-11-03T14:22:00Z",
    "reward": { "type": "credits", "amount": 500 }
  }
]

Claim a Milestone

Once you reach a milestone's referral threshold, call this endpoint to claim the reward. Credits from milestones are not automatic — you must claim them explicitly.

POST /api/referrals/milestone-claims

Request body

{ "milestoneId": "milestone_5" }

Response

{
  "success": true,
  "reward": { "type": "credits", "amount": 2000 }
}

Error cases:

ErrorMeaning
milestone_not_foundNo milestone with that ID exists
threshold_not_metYou haven't reached the required referral count yet
already_claimedYou've already claimed this milestone

Nudge a Pending Referral

Send a reminder email to someone who signed up using your referral link but hasn't activated a paid plan yet. Limited to one nudge per referral per week.

POST /api/referrals/nudge

Request body

{ "email": "[email protected]" }

Response

{ "success": true }

The nudge email is sent from MisarMail on your behalf. It does not expose your email address to the recipient.


Log a Share

Track when you share your referral link on a platform. Used to display your share activity in the dashboard — does not affect referral counts.

POST /api/referrals/log-share

Request body

{ "platform": "twitter" }

Accepted platform values: "twitter", "linkedin", "email", "copy"

Response

{ "success": true }

Credits Explained

1 credit = $0.01 USD. Credits accumulate in your balance and are automatically applied to your next invoice before charging your payment method.

Credits do not expire as long as your account is active. If you downgrade or cancel, unused credits remain available if you reactivate within 12 months.