AI Onboarding
Working with an AI coding assistant (Cursor, Claude Code, ChatGPT, Windsurf, etc.)? Paste this page’s URL into your assistant — we’ve formatted everything below for an LLM to ingest in one shot.
For Cursor / Claude Code / Windsurf, run:
https://partner-docs.splashifypro.com/getting-started/ai-onboardingYou are integrating: Splashify Pro Email API
You are a developer integration assistant. You are helping a user build against the Splashify Pro Email API. The API surface is AWS-SES-shaped — endpoint shapes, response field names, and event payloads are aligned with AWS SES so SES integrators feel at home.
Base URL
https://apis.splashifypro.com/api/v1/partner/emailAuthentication
Every request requires a Bearer API key in the Authorization
header. Keys are prefixed pk_live_. Generate from
partner.splashifypro.com →
Settings → API Keys.
Authorization: Bearer pk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxCore concepts
- Identity: Verified domain or email address. Required before
you can send
From:that address. Domain identities cover any address at the domain. Verified via 3 DNS records (SPF + DKIM CNAME + DMARC). - Configuration Set: A logical grouping of sends. Attach event
destinations (webhooks) to a config set; sends specify
configuration_set_nameto route events. AWS-style. - Event Destination: Webhook URL on a config set. Receives the AWS-SES-shaped JSON event payload signed with HMAC-SHA256.
- Template: Reusable email body with
{{variable}}placeholders. Send viaPOST /send-templateorPOST /send-bulk. - Suppression list: Account-level. Hard bounces + complaints + unsubscribes auto-add. Sends to suppressed addresses are rejected pre-SMTP.
- Sandbox: Default state for new accounts. 200/day cap, 1 send/sec, recipient must be verified. Request production access to lift.
- Wallet: Prepaid by default. ₹0.01 per email. First 200/day in sandbox are free. Recharge via the partner panel.
Most-used endpoints
Send transactional email
POST /api/v1/partner/email/send
{
"from": "hello@yourcompany.com",
"to": ["user@example.com"],
"subject": "Hello",
"html_body": "<p>Hi</p>",
"text_body": "Hi",
"configuration_set_name": "production",
"category": "transactional"
}Response: {"success":true,"results":[{"recipient":"user@example.com","message_id":"<uuid>","status":"queued"}]}
Send templated email
POST /api/v1/partner/email/send-template
{
"from": "hello@yourcompany.com",
"to": ["user@example.com"],
"template_name": "welcome",
"variables": {"first_name": "Alex"}
}Bulk templated send (up to 50 recipients × 50 destinations / 500 total)
POST /api/v1/partner/email/send-bulk
{
"from": "hello@yourcompany.com",
"template_name": "newsletter",
"default_template_data": {"campaign": "june"},
"destinations": [
{ "to": ["a@example.com"], "replacement_data": {"first_name": "Alex"} },
{ "to": ["b@example.com"], "replacement_data": {"first_name": "Brett"} }
]
}Get message status
GET /api/v1/partner/email/emails/{message_id}Verify a sending identity (domain)
POST /api/v1/partner/email/identities
{
"identity_type": "DOMAIN",
"identity_value": "yourcompany.com"
}Response includes the 3 DNS records to publish (SPF TXT, DKIM CNAME, DMARC TXT). After publishing, trigger:
POST /api/v1/partner/email/identities/DOMAIN/yourcompany.com/verifyCreate a configuration set
POST /api/v1/partner/email/configuration-sets
{
"name": "production",
"suppression_options": "BOUNCE_AND_COMPLAINT"
}Add a webhook event destination
POST /api/v1/partner/email/configuration-sets/{config_set_id}/event-destinations
{
"name": "production-webhook",
"destination_type": "WEBHOOK",
"webhook_url": "https://yourapp.com/webhooks/splashify",
"webhook_secret": "your-shared-secret",
"matching_event_types": ["send", "delivered", "bounce", "complaint", "open", "click"]
}Suppression list
GET /api/v1/partner/email/suppression
PUT /api/v1/partner/email/suppression/{email}
DELETE /api/v1/partner/email/suppression/{email}Quotas + reputation
GET /api/v1/partner/email/quotas # daily cap, sandbox, reputation_status
GET /api/v1/partner/email/stats # day-by-day counters
GET /api/v1/partner/email/reputation # 14d bounce/complaint rate
GET /api/v1/partner/email/events # event logWebhook payload shape (AWS-SES-style)
{
"eventType": "Delivery",
"mail": {
"timestamp": "2026-05-03T12:34:56Z",
"messageId": "<uuid>",
"source": "hello@yourcompany.com",
"destination": ["user@example.com"]
},
"delivery": {
"timestamp": "2026-05-03T12:34:57Z",
"recipients": ["user@example.com"],
"smtpResponse": "250 OK"
}
}Headers:
X-Splashify-Event—Send|Delivery|Bounce|Complaint|Open|Click|Reject|RenderingFailure|DeliveryDelayX-Splashify-Signature—sha256=<hex>HMAC-SHA256 of raw body, key = yourwebhook_secretX-Splashify-Timestamp— Unix secondsX-Splashify-Delivery-ID— UUID per delivery attempt (use for idempotency)
Verify the signature in constant time, dedupe on Delivery-ID, return
200 OK to ack. 4xx = no retry. 5xx + timeout = retry per
{1min, 5min, 15min}.
Sandbox vs production
Sandbox limits:
- 200 emails / day
- 1 email / second
- Can only send to addresses you’ve verified
Request production access:
POST /api/v1/partner/email/production-access
{
"use_case": "Transactional emails for our SaaS — signup confirms, password resets, payment receipts",
"email_volume_estimate": "5000-15000 per day",
"has_unsubscribe_method": true,
"has_consent_proof": true
}Approval lifts sandbox + bumps daily cap to 50,000 + peak rate to 14/sec.
Pricing
- ₹0.01 per email, flat
- First 200/day free in sandbox
- Per-partner overrides supported (admin-set)
Errors
All errors are {success: false, error: "<CODE>", message: "<human>"} with a 4xx or 5xx status:
400— bad request (readmessage)401— invalid / missing API key402— wallet balance insufficient (recharge)403— sandbox cap, sending paused, IP blocked404— not found429— rate limit (back off)
Where to read more
- Full API reference: https://partner-docs.splashifypro.com/api-reference
- Webhooks: https://partner-docs.splashifypro.com/webhooks
- Deliverability: https://partner-docs.splashifypro.com/deliverability
- Knowledge base: https://partner-docs.splashifypro.com/concepts
That’s everything an AI agent needs to start integrating. If your assistant asks about something not covered here, link it to the relevant section above.