v1 is live. One endpoint. One job. Read the quickstart →
vipvap docs · v1

The quickstart.

You have a single endpoint to send OTP emails. Here's the entire integration.

1. Sign up and grab your API key

Open the sign-up page, create an account, and the dashboard shows your first API key — a one-time reveal.

2. Send your first OTP

Hit POST /v1/send with a Bearer key and a JSON body.

curl -X POST https://api.vipvap.com/v1/send \
  -H "Authorization: Bearer vp_live_a4f2…" \
  -H "Content-Type: application/json" \
  -d '{
    "recipient": "alice@acme.com",
    "code":      "418917"
  }'

Response

// 200 OK
{
  "id":      "snd_3f2a9b",
  "status":  "delivered",
  "to":      "alice@acme.com",
  "from":    "Acme <notify@vipvap.com>",
  "subject": "Acme: your verification code",
  "expires_in_minutes": 10,
  "quota_remaining":    1949
}

API reference

POST
/v1/send
Send one OTP email. Authenticated by Bearer key.
GET
/v1/usage
Current period usage and quota remaining.

POST /v1/send

Request body

FieldTypeRequiredDescription
recipientstringrequiredRecipient email address.
codestringrequiredThe OTP. 4–12 chars; whatever your flow expects.
brand_namestringoptionalOverride the per-account brand name for this single send.

Response — 200

FieldTypeDescription
idstringSend ID, used by the dashboard logs.
statusstringdelivered, queued, bounced, failed.
tostringRecipient address.
fromstringRendered From line with brand display name.
subjectstringRendered subject line.
expires_in_minutesintegerDefault expiry applied from your dashboard branding.
quota_remainingintegerHard cap minus used, after this send.

Errors

StatuscodeWhat it means
401invalid_api_keyMissing or wrong Bearer token.
400invalid_recipientAddress is malformed.
400invalid_codeCode is missing or wrong shape.
429quota_exceededHard cap reached. No overages — upgrade in the dashboard to lift it.

Webhooks

Set a webhook URL in the dashboard's Settings page and we'll POST delivery status callbacks as a single vipvap-delivery event.

{
  "event": "vipvap.delivery",
  "data": {
    "id":         "snd_3f2a9b",
    "status":     "delivered",
    "recipient":  "alice@acme.com"
  }
}

Contact

Need a higher quota, a separate sending segment, or a custom agreement? Email hi@vipvap.com.

vipvap Inc. Terms of Service and Privacy Policy apply. vipvap transmits only OTP emails. Sending other content types (marketing, transactional, anything non-OTP) is a violation of the terms and grounds for account suspension.