Webhooks/Webhooks
Webhooks

Directory listing synced (success/incomplete)

Event name: listing.submission

Sent when Synup finishes attempting to sync a business listing to a directory (Google, Facebook, etc.), triggered by profile updates or new directory submissions. Delivered to your Webhooks URL (Listings webhook). One delivery per status change — a move from incomplete to success sends two separate calls. Note the compact envelope: there is no top-level timestamp or account_id, and the location is identified by the Base64 id inside data.

postWebhooklisting.submission

Headers

X-Synup-Signaturestring required

sha256=base64(HMAC-SHA256(signing_secret, raw_request_body)). Present when the account has generated a signing secret; verify before processing.

Payload

eventstring

Always "listing.submission".

statusstring

"success" (listing is live on the directory) or "incomplete" (could not be completed).

live_linkstring

Public URL of the live listing. Present only when status is "success".

error_messagestring

Why the submission could not be completed. Present only when status is "incomplete".

Response

Acknowledge with any 2xx. A non-2xx (or timeout) is recorded as a failed delivery; failures are logged but not automatically retried at this time.

object required

Changes

Webhooks have no change history: a webhook is keyed by its event name rather than a path and method, so no recorded change can name it.