Skip to main content

Common Issues

Symptoms: Emails are not being delivered through SendGridChecklist:
  • Verify your SendGrid API key is valid and has Mail Send permissions
  • Check that the TPSP is active in SendPost
  • Review the SendPost event logs for errors
  • Confirm your SendGrid account is in good standing
Test Your API Key:
curl -X GET "https://api.sendgrid.com/v3/user/profile" \
  -H "Authorization: Bearer YOUR_SENDGRID_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 SendGrid Dashboard
  • Check webhook URL is correct
  • Ensure webhook events are enabled
  • Wait a few minutes (events are batched for processing)
Verify Webhook in SendGrid:
  1. Go to SendGrid → Settings → Mail Settings → Event Webhook
  2. Confirm URL shows: https://api.sendpost.io/tpsp/sendgrid/account/{account-id}
  3. Verify all event checkboxes are enabled
Symptoms: Bounced emails not reflected in analyticsCheck:
  • Review SMTP codes in event details
  • Hard bounces (5xx codes) = permanent failures
  • Soft bounces (4xx codes) = temporary failures
  • Ensure bounce events are enabled in webhook settings
Error CodeMeaningSolution
401Invalid API keyRegenerate API key in SendGrid
403Insufficient permissionsUpdate API key permissions
429Rate limit exceededWait and retry, or increase limits
400 Bad Request with field error:
{
  "errors": [{
    "message": "Field 'template_id' is not supported...",
    "field": "template_id"
  }]
}
Solution: Remove the unsupported field from your request413 Payload Too Large: Solution: Reduce request size below 30MB

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 SendGrid 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 SendGrid.
SendGrid will retry webhook delivery. Events will be processed once connectivity is restored.
SendGrid may occasionally send duplicate events. SendPost handles deduplication using the sg_event_id.
SendGrid templates (template_id) are not supported through the compatible API. You’ll need to include the content directly or use SendPost’s native template system.
Yes! You can run both systems in parallel during migration. Route a percentage of traffic to SendPost while keeping some on SendGrid directly.
Events are typically processed within 1-5 seconds of being received from SendGrid.
SendPost doesn’t impose hard limits, but your SendGrid plan limits still apply. Configure throttling to match your SendGrid limits.