Skip to main content

Common Issues

Symptoms: Emails are not being delivered through SparkPostChecklist:
  • Verify your SparkPost API key is valid and has Transmissions permissions
  • Check that the TPSP is active in SendPost
  • Review the SendPost event logs for errors
  • Confirm your SparkPost account is in good standing
  • Verify your sending domain is properly configured in SparkPost
Test Your API Key:
curl -X GET "https://api.sparkpost.com/api/v1/account" \
  -H "Authorization: YOUR_SPARKPOST_API_KEY"
If this returns 401, your API key is invalid.
Symptoms: Emails are sent but opens/clicks/bounces not showingChecklist:
  • Verify webhook is registered in SparkPost Dashboard
  • Check webhook URL is correct
  • Ensure webhook events are enabled
  • Wait a few minutes (events are batched for processing)
Verify Webhook in SparkPost:
  1. Go to SparkPost → Configuration → Webhooks
  2. Confirm URL shows: https://api.sendpost.io/tpsp/sparkpost/account/{account-id}
  3. Verify all event checkboxes are enabled
Symptoms: Bounced emails not reflected in analyticsCheck:
  • Review bounce class in event details
  • Hard bounces (class 10, 30, 50-52) = permanent failures
  • Soft bounces (class 20-25, 70) = temporary failures
  • Ensure bounce events are enabled in webhook settings
Error CodeMeaningSolution
401Invalid API keyRegenerate API key in SparkPost
403Insufficient permissionsUpdate API key permissions (needs Transmissions + Webhooks)
429Rate limit exceededWait and retry, or increase limits
400Bad RequestCheck payload format and required fields

Getting Help

If you’re still experiencing issues:
  1. Check Logs: Review detailed event logs in SendPost dashboard
  2. Contact Support: Reach out to SendPost support with:
    • Your account ID
    • TPSP ID
    • Message ID (if available)
    • Error messages
    • Timestamp of the issue

FAQs

Yes! Create a separate TPSP for each SparkPost account. Each will have its own webhook and configuration.
Yes, all API keys are encrypted at rest and never exposed in logs or API responses.
Yes, SendPost supports intelligent routing. You can configure rules to route specific traffic through SparkPost.
SendPost uses the SparkPost US endpoint (api.sparkpost.com). If you use SparkPost EU, contact support for configuration assistance.
SparkPost will retry webhook delivery. Events will be processed once connectivity is restored.
SparkPost may occasionally send duplicate events. SendPost handles deduplication using the SparkPost message ID.
initial_open is the first time a recipient opens an email. open events may include subsequent opens. Both are mapped to the SP Opened event type (ID: 43).
Events are typically processed within 1-5 seconds of being received from SparkPost.
SendPost doesn’t impose hard limits, but your SparkPost plan limits still apply. Configure throttling to match your SparkPost limits.
Delay events indicate temporary delivery issues. SparkPost will automatically retry. These events are tracked but not counted as failures.