SendPromptly API Documentation
The SendPromptly API provides endpoints for managing subscribers and automating email campaigns with advanced scheduling features.
Base URL: https://app.sendpromptly.com
Authentication
All API endpoints require authentication using query parameters only (not headers):
- Use
prj_api_key
for project-level endpoints (e.g., campaigns, subscribers) - Use
msg_api_key
for email-message-level endpoints (e.g., transactional sends, email message management)
⚠️ Important: API keys must be sent as query parameters, not as headers like X-API-Key
.
You can find your API keys in your SendPromptly under
- Project → Messages → API Key.
- Send → Messages → API Key.
Example Usage
- Project-level:
/api/subscribers?prj_api_key=your-project-api-key
- Email message-level:
/api/email-messages?msg_api_key=your-email-message-api-key
- Email message-level:
/api/email-messages?msg_api_key=your-email-message-api-key
Email Scheduling
SendPromptly’s unique email scheduling feature allows you to automatically send emails when subscribers are added:
delay_value
(integer, default:0
) - Delay in hours before sending
Custom Subscriber Fields
SendPromptly supports custom fields for storing additional subscriber data:
- ✅ Field names only: Use descriptive names like
"company"
,"position"
,"ip_address"
- ❌ No field IDs: Numeric identifiers are not supported
- 🔒 Strict validation: Only predefined field names are accepted
- 📝 String values: Maximum 255 characters per field
Example:
{
"subscriber_fields": {
"company": "Tech Corp",
"position": "Developer"
}
}
Contact Form Notifications
SendPromptly automatically sends email notifications to project owners when new contact form submissions are received:
- 🔄 Automatic: No additional configuration required
- 📧 Instant notifications: Project owners receive immediate email alerts for new submissions
- 📊 Full tracking: All notifications are logged in SendLog with
contact_notification
type - 🎯 Smart categorization: Contact notifications are separate from regular subscriber emails
Key Features:
- Contact form data is captured as subscriber fields (
message
,source_page
,ip_address
, etc.) - Project owner gets notified via email with submission details
- Notifications use system templates for consistent formatting
- Failed notifications don’t prevent subscriber creation
- Full audit trail in SendLog for analytics
Example contact form submission:
{
"email": "[email protected]",
"first_name": "Jane",
"last_name": "Smith",
"subscriber_fields": {
"message": "Interested in your premium plan pricing",
"source_page": "https://yoursite.com/contact",
"ip_address": "203.0.113.45",
"subject": "Pricing Inquiry"
}
}
Quick Start
1. Create a Subscriber with Email Scheduling
curl -X POST https://app.sendpromptly.com/api/subscribers \
-H "Content-Type: application/json" \
-d '{
"email": "[email protected]",
"first_name": "John",
"last_name": "Doe",
"delay_value": 24
}' \
"?prj_api_key=your-project-api-key"
2. List Subscribers
curl -X GET "https://app.sendpromptly.com/api/subscribers?prj_api_key=your-project-api-key"
API Endpoints
- Subscribers - Manage subscribers and email scheduling
- Email Messages - Manage email templates
- Tracking - Email open and click tracking
Response Format
All API responses follow this consistent format:
Success Response:
{
"success": true,
"message": "Operation completed successfully",
"data": { /* resource data */ }
}
Error Response:
{
"success": false,
"message": "Error description",
"errors": { /* validation errors if applicable */ }
}
Rate Limits
API rate limits are based on your subscription plan:
- Free Plan: 60 requests per minute
- Standard Plan: 300 requests per minute
- Premium Plan: 600 requests per minute
Rate limit headers are included in each response:
X-RateLimit-Limit: <max requests per minute>
X-RateLimit-Remaining: <requests remaining in current window>
X-RateLimit-Reset: <seconds until window resets, only when limit is reached>
For detailed information about rate limiting, please see our Rate Limiting Documentation.
Additional limits:
- Bulk operations: Maximum 1000 records per request
Need Help?
- Contact support: [email protected]
- View your API Key Settings