REST API v2.0
Developer Documentation
The CRMail Pro REST API gives you programmatic access to contacts, campaigns, and analytics. Build powerful integrations, automate workflows, and scale your email operations.
Base URL
All API requests must be made over HTTPS. HTTP requests will be rejected. The base URL for all endpoints is:
BASE URL
Copy
https://yourdomain.com/api/v2
Authentication
CRMail Pro uses API Keys to authenticate requests. Include your API key in the
Authorization header on every request.Keep your API key secure. Do not expose it in client-side code or commit it to public repositories. Regenerate immediately if compromised.
cURL
Copy
curl https://yourdomain.com/api/v2/contacts \ -H "Authorization: Bearer YOUR_API_KEY" -H "Content-Type: application/json" JavaScript (fetch) Copy const response = await fetch('https://yourdomain.com/api/v2/contacts', { method: 'GET', headers: { 'Authorization': Bearer ${YOUR_API_KEY}, 'Content-Type': 'application/json' } }); const data = await response.json(); console.log(data);ContactsManage your subscriber contacts. Supports listing, creating, updating, and deleting contacts, as well as adding custom fields and tags.GET /api/v2/contacts List all contacts POST /api/v2/contacts Create a new contact GET /api/v2/contacts/{id} Retrieve a contact PUT /api/v2/contacts/{id} Update a contact DELETE /api/v2/contacts/{id} Delete a contactJSON — Example Response Copy{ "status": "success", "data": { "id": 1042, "email": " jane@example.com ", "first_name": "Jane", "last_name": "Doe", "company": "Acme Corp", "status": "subscribed", "created_at": "2026-07-01T08:00:00Z" } }CampaignsCreate, schedule, and send email campaigns programmatically. Retrieve analytics for sent campaigns.Official SDKsGet up and running faster with our official client libraries. All SDKs are open source and actively maintained.WebhooksCRMail Pro can send real-time HTTP POST notifications to your server when key events occur — like an email being opened, a link being clicked, or a contact unsubscribing.EVENT campaign.sent Triggered when a campaign is fully sentEVENT email.opened Triggered on every unique email openEVENT email.clicked Triggered when a link is clickedEVENT contact.unsubscribed Triggered on unsubscribe