Limited time discount Book Smarter This Christmas
Up to 50%Off

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.

Info Note
API endpoints are available only in Elite license plans. Using the API requires coding skills and is not covered by standard plugin support.

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, or whatsapp
  • sendTo (string); recipient type, customer or provider
  • entity (string); appointment or event
  • 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); enabled or disabled, default enabled
  • sendOnlyMe (boolean); whether the default notification should be sent as well, default true
  • 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 is whatsapp
  • minimumTimeBeforeBooking (object); minimum time between booking and start, includes amount and period

Example

				
					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": "<p>Dear <strong>%customer_full_name%</strong>, </p><p><br></p><p>Your appointment has been approved.</p><p><br></p><p>Thank you, </p><p><strong>%company_name%</strong></p>",
  "whatsAppTemplate": "",
  "minimumTimeBeforeBooking": null
}'

				
			
				
					{
  "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": "<p>Dear <strong>%customer_full_name%</strong>, </p><p><br></p><p>Your appointment has been approved.</p><p><br></p><p>Thank you, </p><p><strong>%company_name%</strong></p>",
      "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); customer or provider
  • entity (string); appointment or event
  • 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); enabled or disabled

Example

				
					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]
}'

				
			
				
					{
  "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

				
					curl --location 'https://example-site.com/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1/notifications' \
--header 'Amelia: YOUR_API_KEY'

				
			
				
					{
  "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

				
					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'

				
			
				
					{
  "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

				
					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'

				
			
				
					{
  "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

				
					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'

				
			
				
					{
  "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, or package

Optional properties

  • language (string); send language

Example

				
					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"
}'

				
			
				
					{
  "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

				
					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'

				
			
				
					{
  "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"
    }
  }
}