Reputation API

Monitor your sending reputation — bounce rates, complaint rates, delivery stats, and tenant status. Use this to track deliverability health across time windows (24h, 7d, 30d).

GET /v1/reputation

Returns your account info, message stats for the last 24 hours, 7 days, and 30 days, suppressed contact count, and SES tenant sending status.

cURL
curl https://api.yoursend.dev/v1/reputation \
  -H "Authorization: Bearer ys_live_..."

Response Format

Response
{
  "account": {
    "plan": "starter",
    "balance_cents": 5000,
    "domain": "yourdomain.com",
    "domain_status": "verified",
    "tenant": {
      "name": "ys-86a28011",
      "sending_status": "active"
    }
  },
  "last_24h": {
    "total": 150,
    "sent": 10,
    "delivered": 135,
    "bounced": 3,
    "failed": 2,
    "opened": 89,
    "clicked": 23,
    "bounce_rate": 2.0,
    "delivery_rate": 90.0,
    "open_rate": 65.93,
    "click_rate": 17.04,
    "by_channel": {
      "email": 120,
      "sms": 30
    }
  },
  "last_7d": { ... },
  "last_30d": { ... },
  "suppressed_contacts": 5
}

Period Stats Object

Each time period (last_24h, last_7d, last_30d) contains:

FieldTypeDescription
totalintegerTotal messages in this period
sentintegerMessages accepted/queued for delivery
deliveredintegerSuccessfully delivered (includes opened + clicked)
bouncedintegerHard + soft bounces
failedintegerDelivery failures
openedintegerOpened (email only)
clickedintegerLink clicks (email only)
bounce_ratenumberBounce rate as percentage (e.g., 2.0 = 2%)
delivery_ratenumberDelivery rate as percentage
open_ratenumberOpen rate as percentage of delivered
click_ratenumberClick rate as percentage of delivered
by_channelobjectMessage count broken down by channel (email, sms, voice, whatsapp)

Tip: Keep your bounce rate below 5% and complaint rate below 0.1% to maintain good deliverability. AWS SES may pause your sending if these thresholds are exceeded.

SDK Usage

index.ts
import { YourSend } from 'yoursend';

const ys = new YourSend('ys_live_...');

const rep = await ys.reputation();

console.log('Bounce rate (24h):', rep.last_24h.bounce_rate + '%');
console.log('Delivery rate (7d):', rep.last_7d.delivery_rate + '%');
console.log('Suppressed contacts:', rep.suppressed_contacts);
console.log('Tenant status:', rep.account.tenant?.sending_status);