Webhooks
Subscribe to real-time events from PlotSparkOS
Webhook Security
All webhook payloads are signed with HMAC-SHA256. Verify the X-PlotSpark-Signature header to ensure events are from PlotSparkOS.
// Verify webhook signature (Node.js)
const crypto = require('crypto');
function verifyWebhook(payload, signature, secret) {
const expected = crypto
.createHmac('sha256', secret)
.update(payload)
.digest('hex');
return signature === `v1=${expected}`;
}Available Events
Tenancy
tenancy.created
tenancy.updated
tenancy.cancelled
Booking
booking.created
booking.cancelled
booking.completed
Payment
payment.succeeded
payment.failed
payment.refunded
Garden
garden.created
plant.added
harvest.logged
Workflow
workflow.started
workflow.completed
workflow.failed
Collection
collection.created
collection.updated
collection.deleted
