Peakmuv API — Overview
A complete reference for the Peakmuv REST API — manage contacts, send email, SMS and WhatsApp campaigns, handle appointments, and automate your workflows.
Use the Peakmuv REST API to manage contacts, send multi-channel campaigns (email, SMS, WhatsApp), handle appointments, and automate your communication workflows programmatically.
Authentication
All API requests require a Bearer token passed in the Authorization header. Obtain your API token from Settings → Account → API Keys in the Peakmuv dashboard.
Keep your API token secret. Never expose it in client-side code or public repositories.
curl -X GET "https://peakmuv.com/api/contacts" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"Base URL
All endpoints are relative to:
https://peakmuv.com/api
Requests and responses use JSON. Set the Content-Type: application/json header on all POST, PUT, and PATCH requests.
API Modules
Create, update, delete, and list subscriber contacts. Organize them into groups for targeted campaigns.
Build and send email campaigns. Manage drafts, templates, and delivery statistics.
Create and send SMS campaigns via Twilio. Configure credentials and track delivery.
Send WhatsApp campaigns, manage Flows, and list approved templates and registered phone numbers.
List upcoming and past appointments, update statuses, and configure your booking page settings.
Read, compose, reply to, archive, and delete email inbox messages programmatically.
Create, update, clone, and delete email templates. Access system-wide global templates.
Retrieve plan details, usage metrics, and transaction history. Initiate top-ups via Paystack.
Manage profile, SMTP configuration, domain verification, AI auto-reply, and notification preferences.
Open, reply to, close, and reopen support tickets via the API.
Fetch aggregated statistics: contact growth, campaign delivery, and a 6-month send chart.
Request & Response Format
| Property | Detail |
|---|---|
| Protocol | HTTPS only |
| Format | JSON (application/json) |
| Auth | Authorization: Bearer <token> |
| Pagination | page and per_page query parameters (default per_page=20) |
| Timestamps | ISO 8601 — 2025-05-26T10:00:00Z |
HTTP Status Codes
| Code | Meaning |
|---|---|
200 | Success |
201 | Resource created |
400 | Bad request — check your request body |
401 | Unauthenticated — missing or invalid token |
403 | Forbidden — plan limit reached or feature not available |
404 | Resource not found |
422 | Validation error — response includes field-level errors |
500 | Server error |
Example Error Response
{
"message": "The given data was invalid.",
"errors": {
"email": ["The email has already been taken."]
}
}Rate Limiting
API requests are rate-limited per account. If you exceed the limit, the API returns a 429 Too Many Requests response. Implement exponential backoff in your retry logic.
Quick Start
Follow these steps to make your first API call:
- Get your token — Go to Settings → Account → API Keys and copy your Bearer token.
- List your contacts — Make a
GET /api/contactsrequest to verify authentication. - Create a contact —
POST /api/contactswithnameandemailin the request body. - Send a campaign — Create a campaign via
POST /api/campaignswithaction=sendto dispatch immediately.
curl -X GET "https://peakmuv.com/api/contacts?page=1&per_page=10" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"{
"data": [
{
"id": 1,
"name": "Jane Doe",
"email": "[email protected]",
"status": "subscribed",
"created_at": "2025-05-01T09:30:00Z"
}
],
"meta": {
"current_page": 1,
"per_page": 10,
"total": 1
}
}Explore the Full Reference
Updated 2 months ago
