Common Workflows
First Transactional Send

First Transactional Send

Use this workflow when an application needs to send login codes, receipts, notifications, or onboarding messages through PING8.

Before you start

Prepare:

  • A verified domain such as yourdomain.com.
  • A sender such as hello@yourdomain.com.
  • An API template in PING8.
  • A Send API key stored as an environment variable.
  • One owned test recipient.

Steps

  1. Open Sending > Domain and confirm SPF, DKIM, DMARC, MX, A, and PTR checks pass.
  2. Open Developer > Send API.
  3. Create or select an API template.
  4. Confirm the template uses the verified sender.
  5. Create an API key with the smallest practical scope.
  6. Add an IP allowlist if the caller has a stable outbound IP.
  7. Send one request with an owned test recipient.
  8. Check the API response for queued status.
  9. Open logs or analytics and confirm delivery lifecycle events.

Example request

curl -X POST "https://app.yourdomain.com/api/batch_mail/api/send" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $PING8_API_KEY" \
  -d '{
    "recipient": "user@example.com",
    "attribs": {
      "first_name": "Alex"
    }
  }'

What success looks like

  • The API returns a queued result.
  • The message appears in logs.
  • Delivery telemetry moves to delivered, deferred, bounced, or suppressed.
  • Your application never logs the raw API key.

Common mistakes

  • Calling the API before a template is active.
  • Sending from a domain that has not passed DNS checks.
  • Hardcoding API keys in application source code.
  • Retrying failed requests without understanding duplicate-email risk.

Next pages