Notifications
Notifications in the BlueSuite REST API
Send quotes, invoices, or appointment reminders using the workspace's customer-notification channels. Changing a record's status is not delivery.
| Type | Parent | Required API-key scope |
|---|---|---|
quote_to_customer | Quote ID | notifications:write |
invoice_to_customer | Invoice ID | notifications:write |
appointment_reminder | Event ID | notifications:write |
Initial quote/invoice sends transition status to awaiting response/sent. reminder: true sends a reminder without performing that initial-send transition. Delivery follows email/SMS workspace settings and contact SMS consent. The current endpoint requires an associated contact with an email address. Appointment reminders require an appointment linked to a contact through a job, request, or subscription; they target the customer rather than the assigned technicians.
Example: deliver an invoice
curl 'https://my.bluesuite.app/api/v1/notifications' \
-H "Authorization: Bearer $BLUESUITE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"type":"invoice_to_customer","module_id":101}'The response data contains queued: true, type, module, module_id, and recipient. It acknowledges the notification operation, not a delivery/read receipt from the recipient. A status change alone is not proof of delivery.
POST /api/v1/notifications
POST /api/v1/notificationsRequired scopes: notifications:write.
JSON body
| Field | Type / accepted values | Required | Details |
|---|---|---|---|
type | "quote_to_customer", "invoice_to_customer", "appointment_reminder" | Yes | |
module_id | integer | Yes | |
reminder | boolean | No | Default: false. |
Unknown body fields are rejected. Conditional requirements are explained above.
Response
201 with { "success": true, "data": ... }. The data contains the result of the operation.