How do I manage notifications with the Amelia API
Use the notifications endpoints to create custom notifications, update templates, retrieve notification lists and WhatsApp templates, review SMS history, trigger scheduled sends, send test emails, and delete notifications.
You can review all endpoints and ready-made examples in the Amelia API Postman collection.
How do I add a notification with the Amelia API?
Use this endpoint to create a custom notification template for email, SMS, or WhatsApp. The name must match the notification type pattern {customer/provider}_{appointment/event/package}_{approved/canceled/pending/rejected}.
- Method: POST
- Path:
/notifications
Base path
{{your_site_URL}}/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1
Authorization
- All Amelia endpoints use API key authorization via a request header named Amelia.
Required properties
- name (
string); notification key, format{customer/provider}_{appointment/event/package}_{approved/canceled/pending/rejected} - customName (
string); display name shown in the back end - type (
string);email,sms, orwhatsapp - sendTo (
string); recipient type,customerorprovider - entity (
string);appointmentorevent - subject (
string); email subject, or comma-separated placeholders for WhatsApp header - content (
string); email body, or comma-separated placeholders for WhatsApp body
Optional properties
- status (
string);enabledordisabled, defaultenabled - sendOnlyMe (
boolean); whether the default notification should be sent as well, defaulttrue - time (
string); scheduled send time - timeBefore (
integer); seconds before appointment or event - timeAfter (
integer); seconds after appointment or event - entityIds (
array); service or event IDs, defaults to all - whatsAppTemplate (
string); WhatsApp template name, required when type iswhatsapp - minimumTimeBeforeBooking (
object); minimum time between booking and start, includesamountandperiod
Example
Request
curl --location 'https://example-site.com/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1/notifications' \
--header 'Content-Type: application/json' \
--header 'Amelia: YOUR_API_KEY' \
--data '{
"name": "customer_appointment_approved",
"customName": "Customer appointment approved custom email",
"type": "email",
"sendTo": "customer",
"entity": "appointment",
"sendOnlyMe": false,
"status": "enabled",
"time": null,
"timeBefore": null,
"timeAfter": null,
"entityIds": [1],
"subject": "%service_name% appointment confirmation",
"content": "Dear %customer_full_name%,
Your appointment has been approved.
Thank you,
%company_name%
",
"whatsAppTemplate": "",
"minimumTimeBeforeBooking": null
}'
Response
{
"message": "Successfully added notification.",
"data": {
"notification": {
"id": 123,
"name": "customer_appointment_approved",
"customName": "Customer appointment approved custom email",
"status": "enabled",
"type": "email",
"entity": "appointment",
"sendTo": "customer",
"subject": "%service_name% appointment confirmation",
"content": "Dear %customer_full_name%,
Your appointment has been approved.
Thank you,
%company_name%
",
"entityIds": [1]
},
"update": false,
"id": "123"
}
}
How do I update a notification with the Amelia API?
Use this endpoint to update a notification template. Send only the properties you want to change.
- Method: POST
- Path:
/notifications/{{notification_id}}
Base path
{{your_site_URL}}/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1
Authorization
- All Amelia endpoints use API key authorization via a request header named Amelia.
Optional properties
- name (
string); notification key - customName (
string); back end name - type (
string);email,sms,whatsapp - sendTo (
string);customerorprovider - entity (
string);appointmentorevent - subject (
string); subject or WhatsApp header placeholders - content (
string); content or WhatsApp body placeholders - sendOnlyMe (
boolean); default notification behavior - time (
string); scheduled send time - timeBefore (
integer); seconds before start - timeAfter (
integer); seconds after start - entityIds (
array); service or event IDs - whatsAppTemplate (
string); WhatsApp template name - minimumTimeBeforeBooking (
object); minimum time rule - status (
string);enabledordisabled
Example
Request
curl --location 'https://example-site.com/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1/notifications/123' \
--header 'Content-Type: application/json' \
--header 'Amelia: YOUR_API_KEY' \
--data '{
"customName": "Customer appointment approved updated",
"entityIds": [1, 2]
}'
Response
{
"message": "Successfully updated notification.",
"data": {
"notification": {
"id": 123,
"name": "customer_appointment_approved",
"customName": "Customer appointment approved updated",
"status": "enabled",
"type": "email",
"entity": "appointment",
"sendTo": "customer",
"entityIds": [1, 2]
},
"update": false,
"id": "123"
}
}
How do I retrieve notifications and WhatsApp templates with the Amelia API?
Use this endpoint to retrieve notification templates and available WhatsApp templates.
- Method: GET
- Path:
/notifications
Base path
{{your_site_URL}}/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1
Authorization
- All Amelia endpoints use API key authorization via a request header named Amelia.
Example
Request
curl --location 'https://example-site.com/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1/notifications' \
--header 'Amelia: YOUR_API_KEY'
Response
{
"message": "Successfully retrieved notification.",
"data": {
"notifications": [
{
"id": 123,
"name": "customer_appointment_approved",
"customName": "Customer appointment approved updated",
"status": "enabled",
"type": "email",
"entity": "appointment",
"sendTo": "customer"
}
],
"whatsAppTemplates": [
{
"name": "appointment_rejected",
"language": "en",
"status": "APPROVED",
"category": "UTILITY",
"id": "1524182254713483"
},
{
"name": "appointment_reminder",
"language": "en_US",
"status": "APPROVED",
"category": "UTILITY",
"id": "1385060198655925"
}
]
}
}
How do I retrieve SMS history with the Amelia API?
Use this endpoint to retrieve SMS notification history.
- Method: GET
- Path:
/notifications/sms/history
Base path
{{your_site_URL}}/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1
Authorization
- All Amelia endpoints use API key authorization via a request header named Amelia.
Example
Request
curl --location 'https://example-site.com/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1/notifications/sms/history' \
--header 'Amelia: YOUR_API_KEY'
Response
{
"message": "Successfully retrieved notifications.",
"data": {
"notifications": [
{
"id": 23,
"notificationId": 15,
"userId": 2,
"appointmentId": 762,
"dateTime": "2026-03-06 14:50:55",
"status": "prepared",
"userFullName": "Milica Nikolić"
}
],
"countFiltered": 23
}
}
How do I trigger scheduled notifications with the Amelia API?
Use this endpoint to trigger sending scheduled notifications.
- Method: GET
- Path:
/notifications/scheduled/send
Base path
{{your_site_URL}}/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1
Authorization
- All Amelia endpoints use API key authorization via a request header named Amelia.
Example
Request
curl --location 'https://example-site.com/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1/notifications/scheduled/send' \
--header 'Amelia: YOUR_API_KEY'
Response
{
"message": "Scheduled email notifications successfully sent",
"data": null
}
How do I send undelivered notifications with the Amelia API?
Use this endpoint to trigger sending undelivered notifications.
- Method: GET
- Path:
/notifications/undelivered/send
Base path
{{your_site_URL}}/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1
Authorization
- All Amelia endpoints use API key authorization via a request header named Amelia.
Example
Request
curl --location 'https://example-site.com/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1/notifications/undelivered/send' \
--header 'Amelia: YOUR_API_KEY'
Response
{
"message": "Email notifications successfully sent",
"data": null
}
How do I send a test email with the Amelia API?
Use this endpoint to send a test email using a selected notification template.
- Method: GET
- Path:
/notifications/email/test
Base path
{{your_site_URL}}/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1
Authorization
- All Amelia endpoints use API key authorization via a request header named Amelia.
Required properties
- recipientEmail (
string); recipient email address - notificationTemplate (
integer); notification template ID - type (
string);appointment,event, orpackage
Optional properties
- language (
string); send language
Example
Request
curl --location 'https://example-site.com/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1/notifications/email/test' \
--header 'Content-Type: application/json' \
--header 'Amelia: YOUR_API_KEY' \
--data-raw '{
"recipientEmail": "jordan.reed@example.test",
"notificationTemplate": 1,
"language": null,
"type": "appointment"
}'
Response
{
"message": "Test email successfully sent",
"data": null
}
How do I delete a notification with the Amelia API?
Use this endpoint to delete a notification template.
- Method: POST
- Path:
/notifications/delete/{{notification_id}}
Base path
{{your_site_URL}}/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1
Authorization
- All Amelia endpoints use API key authorization via a request header named Amelia.
Example
Request
curl --location --request POST 'https://example-site.com/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1/notifications/delete/123' \
--header 'Amelia: YOUR_API_KEY'
Response
{
"message": "Successfully deleted notification.",
"data": {
"notification": {
"id": 123,
"name": "customer_appointment_approved",
"customName": "Customer appointment approved updated",
"status": "enabled",
"type": "email",
"entity": "appointment",
"sendTo": "customer"
}
}
}