Newsletter Endpoints¶
This page provides detailed documentation for the newsletter subscription endpoints in CurioPay API.
Subscribe to Newsletter¶
Subscribe to the newsletter with optional preferences.
URL: /api/v1/newsletter/subscribe
Method: POST
Auth required: Yes (via Authorization header)
Request Headers¶
Request Body¶
| Field | Type | Description | Required |
|---|---|---|---|
| weeklyDigest | boolean | Receive weekly digest emails | Yes |
| promotionalEmails | boolean | Receive promotional emails | Yes |
| productUpdates | boolean | Receive product updates | Yes |
Success Response¶
Code: 201 CREATED
{
"isSubscribed": true,
"preferences": {
"weeklyDigest": true,
"promotionalEmails": true,
"productUpdates": true
},
"subscribedAt": "2024-05-15T12:00:00.000Z"
}
Error Responses¶
Code: 404 NOT FOUND - User not found
Unsubscribe from Newsletter¶
Unsubscribe from all newsletter types and set unsubscribe timestamp.
URL: /api/v1/newsletter/unsubscribe
Method: DELETE
Auth required: Yes (via Authorization header)
Request Headers¶
Success Response¶
Code: 200 OK
{
"message": "Successfully unsubscribed from newsletter",
"unsubscribedAt": "2024-05-15T12:00:00.000Z"
}
Error Responses¶
Code: 404 NOT FOUND - Subscription not found
Update Newsletter Preferences¶
Update subscription preferences for different types of newsletters.
URL: /api/v1/newsletter/preferences
Method: PUT
Auth required: Yes (via Authorization header)
Request Headers¶
Request Body¶
| Field | Type | Description | Required |
|---|---|---|---|
| weeklyDigest | boolean | Receive weekly digest emails | Yes |
| promotionalEmails | boolean | Receive promotional emails | Yes |
| productUpdates | boolean | Receive product updates | Yes |
Success Response¶
Code: 200 OK
{
"isSubscribed": true,
"preferences": {
"weeklyDigest": true,
"promotionalEmails": false,
"productUpdates": true
},
"updatedAt": "2024-05-15T12:00:00.000Z"
}
Error Responses¶
Code: 404 NOT FOUND - Subscription not found
Get Newsletter Subscription Status¶
Get current subscription status and preferences.
URL: /api/v1/newsletter/status
Method: GET
Auth required: Yes (via Authorization header)
Request Headers¶
Success Response¶
Code: 200 OK
{
"isSubscribed": true,
"preferences": {
"weeklyDigest": true,
"promotionalEmails": false,
"productUpdates": true
},
"unsubscribedAt": null
}
Send Newsletter¶
Trigger sending of newsletter to all active subscribers. Super Admin only.
URL: /api/v1/newsletter/send
Method: POST
Auth required: Yes (via Authorization header)
Request Headers¶
Success Response¶
Code: 200 OK
Error Responses¶
Code: 401 UNAUTHORIZED - Invalid API key
Code: 403 FORBIDDEN - Super Admin only
Code: 429 TOO MANY REQUESTS - Rate limited
Check Inactive Users¶
Send "we miss you" emails to users who have not logged in for over a month. Super Admin only.
URL: /api/v1/newsletter/check-inactive
Method: POST
Auth required: Yes (via Authorization header)
Request Headers¶
Success Response¶
Code: 200 OK
Error Responses¶
Code: 401 UNAUTHORIZED - Invalid API key
Code: 403 FORBIDDEN - Super Admin only
Code: 429 TOO MANY REQUESTS - Rate limited