Webhooks
Webhooks allow you to receive real-time notifications when events happen in eMARCOTT.
Setting Up Webhooks
- Go to Settings → API → Webhooks
- Click Add Endpoint
- Enter your endpoint URL
- Select the events you want to receive
- Save
Available Events
listing.created- A new gallery was createdlisting.updated- A gallery was updatedlisting.deleted- A gallery was deletedlisting.published- A gallery was publishedmedia.uploaded- Media was uploaded to a galleryclient.created- A new client was addedclient.assigned- A client was assigned to a gallerypayment.received- A payment was receivedinvoice.created- An invoice was created
Webhook Payload
{
"id": "evt_abc123",
"type": "listing.created",
"created_at": "2026-01-01T00:00:00Z",
"data": {
"id": "lst_xyz789",
"address": "123 Main St",
// ... full gallery object
}
}Verifying Webhooks
Each webhook request includes a signature header for verification:
X-Marcott-Signature: sha256=abc123...Verify this signature using your webhook secret to ensure the request came from eMARCOTT.
Retry Policy
If your endpoint returns a non-2xx status code, we'll retry the webhook:
- Retry 1: After 5 minutes
- Retry 2: After 30 minutes
- Retry 3: After 2 hours
- Retry 4: After 8 hours
- Retry 5: After 24 hours
Best Practices
- Return a 200 response quickly, then process asynchronously
- Use a queue to handle webhook processing
- Implement idempotency to handle duplicate deliveries
- Monitor your webhook logs for failures