Automate your mailbox supply
Buy Graph-API mailboxes programmatically. Same wallet, same instant delivery, same 5% affiliate earnings — fully scriptable.
Authentication
Every request needs your secret API key from the dashboard as a Bearer token. Keep it server-side — it can spend your wallet balance.
Authorization: Bearer plm_your_api_key
Idempotency
Send a stable idempotency_key (or Idempotency-Key header) on every purchase. If a request is retried, you get the original order back — you are never charged twice.
Endpoints
/api/v1/productsList purchasable products with live stock and pricing.
curl https://pulse-mails.com/api/v1/products \ -H "Authorization: Bearer plm_…"
{
"products": [{
"id": "hotmail-graph",
"name": "Hotmail · Graph API",
"price_units": 30,
"price_usd": "0.0030",
"on_demand": true,
"stock": 128,
"available": true
}]
}/api/v1/balanceYour current wallet balance.
curl https://pulse-mails.com/api/v1/balance \ -H "Authorization: Bearer plm_…"
{
"email": "you@example.com",
"balance_units": 125000,
"balance_usd": "12.5000"
}/api/v1/ordersBuy accounts. Debits your wallet and returns the delivered credentials atomically.
curl -X POST https://pulse-mails.com/api/v1/orders \
-H "Authorization: Bearer plm_…" \
-H "Content-Type: application/json" \
-d '{
"product": "hotmail-graph",
"qty": 10,
"idempotency_key": "order-2026-0001"
}'{
"id": "38c1eb03-…",
"product_id": "hotmail-graph",
"qty": 10,
"total_usd": "0.0300",
"status": "completed",
"accounts": [
"user:pass:mail|mailpass|refresh|clientid:auth:2fa",
"…"
]
}/api/v1/ordersList your recent orders (credentials omitted). Supports ?limit=.
curl "https://pulse-mails.com/api/v1/orders?limit=20" \ -H "Authorization: Bearer plm_…"
{
"orders": [{
"id": "38c1eb03-…",
"qty": 10,
"total_usd": "0.0300",
"status": "completed",
"created_at": "2026-10-04T00:22:46.908Z"
}]
}/api/v1/orders/:idFetch one order and re-download its credentials any time.
curl https://pulse-mails.com/api/v1/orders/38c1eb03-… \ -H "Authorization: Bearer plm_…"
{
"id": "38c1eb03-…",
"qty": 10,
"status": "completed",
"accounts": ["user:pass:…"]
}Errors
Errors return problem+json with an HTTP status and a stable title code.
| Status | Code | Meaning |
|---|---|---|
| 401 | UNAUTHORIZED_EXCEPTION | Missing or invalid API key. |
| 404 | NOT_FOUND_EXCEPTION | Product or order not found. |
| 409 | INSUFFICIENT_BALANCE_EXCEPTION | Wallet balance is too low — top up first. |
| 409 | OUT_OF_STOCK_EXCEPTION | Not enough stock for the requested quantity. |
| 413 | REQUEST_TOO_LARGE_EXCEPTION | Quantity above the 5,000 cap. |
| 422 | VALIDATION_EXCEPTION | A required field is missing or invalid. |
| 429 | RATE_LIMITED_EXCEPTION | Too many requests — see Retry-After. |