PinMax Logo PinMax PERMANENT EMAILS

Developer REST API Reference

Programmatically provision permanent inboxes, retrieve incoming messages & OTP codes, and monitor your email quotas with our high-speed REST API.

Sponsored
Your Developer Credentials
Free Trial (3 Emails)

Log in or upgrade to an API Plan to manage your permanent inboxes programmatically.

pm_live_•••••••••••••••••••••••• Open Dashboard

Authentication & Quota Accounting

All API requests are served over HTTPS via the base URL https://api.pinmax.cloud/v1. Authenticate by passing your private API key in the standard Authorization header:

HTTP Authorization Header
Authorization: Bearer pm_live_9f83a02bb4e1837c41

How Quota Counting Works

  • Permanent Email Creations: Every email created via POST /v1/emails/generate or POST /v1/emails/create (or web dashboard) counts as 1 email against your plan allowance (1,000 / 5,000 / 10,000 emails).
  • Unlimited Incoming Emails & OTPs: All addresses created under your account remain permanently active. Receiving emails, checking messages, and reading OTP codes is 100% unlimited and never deducts from your quota.
  • Quota Exhaustion: If your remaining quota reaches 0, the API responds with HTTP 403 Quota Exceeded with upgrade instructions to expand quota via USDT BEP-20.
Plan Name Price (Crypto) Total Email Allowance Incoming Messages & OTPs API Access
Free Trial $0 Free 3 Permanent Emails Unlimited · Lifetime Full REST API Access
Starter API Plan 10 USDT (BEP-20) 1,000 Permanent Emails Unlimited · Lifetime Full REST API Access
Pro API Plan ⭐ 25 USDT (BEP-20) 5,000 Permanent Emails Unlimited · Lifetime High-Concurrency API
Scale API Plan 35 USDT (BEP-20) 10,000 Permanent Emails Unlimited · Lifetime Priority Ingestion API

Interactive API Console & Playground

Test live requests directly in your browser. Calls update your account and quota in real time.

Live Interactive Sandbox
Response Status: Ready
0 ms
// Click "⚡ Send Request" above to execute this endpoint against your account.

REST API Endpoints Reference

GET /v1/account/quota

Returns your active plan name, total email creation allowance, number of emails used, remaining quota, and total active inboxes.

cURL Example
curl -X GET https://api.pinmax.cloud/v1/account/quota \
  -H "Authorization: Bearer pm_live_9f83a02bb4e1837c41"
JSON Response (200 OK)
{
  "status": "success",
  "account": {
    "email": "developer@clientcorp.io",
    "plan": "starter",
    "plan_name": "1,000 Emails API Plan"
  },
  "quota": {
    "total_allowed": 1000,
    "emails_used": 14,
    "emails_remaining": 986,
    "usage_percent": 1
  },
  "active_inboxes_count": 14
}

POST /v1/emails/generate

Recommended: Automatically generates a 100% collision-free, clean permanent email address with zero dots and zero symbols (e.g. sparknpt8707804@pinmax.cloud). Decrements your remaining quota by 1.

cURL Example
curl -X POST https://api.pinmax.cloud/v1/emails/generate \
  -H "Authorization: Bearer pm_live_9f83a02bb4e1837c41" \
  -H "Content-Type: application/json" \
  -d '{
    "domain": "@pinmax.cloud"
  }'
JSON Response (201 Created)
{
  "status": "success",
  "address": "sparknpt8707804@pinmax.cloud",
  "created_at": "2026-09-05T08:35:00.000Z",
  "permanent": true,
  "storage_limit_mb": 500,
  "quota": {
    "total_allowed": 1000,
    "emails_used": 15,
    "emails_remaining": 985
  }
}

POST /v1/emails/create

Creates a permanent address with your custom prefix. Note: The prefix must be strictly alphanumeric ([a-z0-9]) with no dots.

cURL Example
curl -X POST https://api.pinmax.cloud/v1/emails/create \
  -H "Authorization: Bearer pm_live_9f83a02bb4e1837c41" \
  -H "Content-Type: application/json" \
  -d '{
    "prefix": "authbot491",
    "domain": "@pinmax.cloud"
  }'
JSON Response (201 Created)
{
  "status": "success",
  "address": "authbot491@pinmax.cloud",
  "created_at": "2026-09-05T08:35:10.000Z",
  "permanent": true,
  "quota": {
    "total_allowed": 1000,
    "emails_used": 16,
    "emails_remaining": 984
  }
}

GET /v1/emails

Lists all permanent inboxes provisioned under your account.

JSON Response (200 OK)
{
  "status": "success",
  "count": 2,
  "inboxes": [
    {
      "id": "inbox_9ak19b2",
      "address": "sparknpt8707804@pinmax.cloud",
      "created_at": "2026-09-05T08:35:00.000Z",
      "messages_count": 3,
      "storage_used_mb": 4
    },
    {
      "id": "inbox_7fc82a1",
      "address": "authbot491@pinmax.cloud",
      "created_at": "2026-09-05T08:35:10.000Z",
      "messages_count": 1,
      "storage_used_mb": 1
    }
  ]
}

GET /v1/emails/{address}/otp

Built for Automation Bots & Scripts: Directly returns the latest extracted OTP code without requiring your code to parse headers or email bodies.

JSON Response (200 OK)
{
  "status": "success",
  "address": "sparknpt8707804@pinmax.cloud",
  "latest_otp": "749102",
  "sender": "Google Accounts ",
  "received_at": "Just now"
}

Quota Exhaustion Error (403 Forbidden)

When all emails in your plan have been provisioned (e.g. 1000/1000 used), further creation calls return HTTP 403:

JSON Response (403 Quota Exceeded)
{
  "error": "quota_exceeded",
  "message": "Email quota reached (1000/1000 used). Please upgrade your plan with USDT BEP-20 to expand quota.",
  "quota": {
    "total_allowed": 1000,
    "emails_used": 1000,
    "emails_remaining": 0
  },
  "upgrade_url": "https://pinmax.cloud/pricing.html"
}
Sponsored Recommendation

Complete Ready-to-Run Automation Scripts

Copy and paste these end-to-end integration scripts into your project to generate permanent emails and receive verification codes automatically.

Python (Auto-Generate Email & Poll OTP)
import requests
import time

API_KEY = "pm_live_9f83a02bb4e1837c41"
BASE_URL = "https://api.pinmax.cloud/v1"
HEADERS = {
    "Authorization": f"Bearer {API_KEY}",
    "Content-Type": "application/json"
}

# 1. Generate 100% unique permanent email
gen_res = requests.post(f"{BASE_URL}/emails/generate", headers=HEADERS, json={"domain": "@pinmax.cloud"})
data = gen_res.json()
email_address = data["address"]
quota = data["quota"]
print(f"[+] Created Email: {email_address} (Remaining Quota: {quota['emails_remaining']})")

# 2. Poll for incoming OTP verification code
print("[*] Waiting for OTP verification code...")
for attempt in range(30):
    time.sleep(2)
    otp_res = requests.get(f"{BASE_URL}/emails/{email_address}/otp", headers=HEADERS).json()
    if otp_res.get("latest_otp"):
        print(f"[✓] SUCCESS! Verification Code: {otp_res['latest_otp']}")
        break
Node.js (Async / Await)
const API_KEY = "pm_live_9f83a02bb4e1837c41";
const BASE_URL = "https://api.pinmax.cloud/v1";

async function main() {
  // 1. Create unique permanent email address
  const createRes = await fetch(`${BASE_URL}/emails/generate`, {
    method: "POST",
    headers: {
      "Authorization": `Bearer ${API_KEY}`,
      "Content-Type": "application/json"
    }
  });
  const { address, quota } = await createRes.json();
  console.log(`[+] Created: ${address} | Remaining Quota: ${quota.emails_remaining}`);

  // 2. Poll for OTP code
  console.log("[*] Polling for OTP code...");
  for (let i = 0; i < 30; i++) {
    await new Promise(r => setTimeout(r, 2000));
    const otpRes = await fetch(`${BASE_URL}/emails/${address}/otp`, {
      headers: { "Authorization": `Bearer ${API_KEY}` }
    });
    const data = await otpRes.json();
    if (data.latest_otp) {
      console.log(`[✓] OTP Code: ${data.latest_otp}`);
      break;
    }
  }
}
main();
Chat on Telegram