Skip to main content
POST
The response includes a webhookSecret — store it securely. It is used to verify all incoming deliveries. Calling this endpoint again rotates the secret and returns the new one.

Delivery Behaviour

The receiving endpoint must return HTTP 2xx. Any other response code or a connection error is treated as a failed attempt.

employer.onboarded_at_clearing_house

Fired once when an employer completes onboarding at the super clearing house and is ready to submit contributions. This is a one-time event per employer.
data field reference:data field reference:** Use this event to: unlock contribution submission for the employer in your UI, send a confirmation notification, or update your local employer state.

payment.status_changed

Fired on every payment status transition — both payment-layer and fund-layer. You will receive one event per status change, per payment record. A submission with multiple funds generates multiple payment records and therefore multiple events. Payment-layer event (e.g. DEBIT_CLEARED):
Fund-layer event (e.g. SETTLED_WITH_WARNING):
Note: The SuperStream process assumes all submissions succeed. The clearing house does not give us an exact settlement date, so a SETTLED / SETTLED_WITH_WARNING event (and its changedAt timestamp) is only indicative — it is based on the super fund not rejecting the contribution within 3 business days of receiving it.
data field reference:data field reference:**

employee.mvr_status_changed

Fired when an employee’s MVR (Member Verification) status changes — only for employees created or updated through the Employees v2 endpoints. Never fired for PENDING (the initial submitted state); only on a terminal outcome: VERIFIED, WARNING, REJECTED, NOT_SUPPORTED, or TIMED_OUT. See the MVR Verification guide for what each status means.
Note: transactionId is present when the outcome came back from the fund (via polling). It is absent when MVR could not even be submitted — e.g. no employer at the client is yet onboarded and synced at the clearing house — since no transaction was ever created in that case.
data field reference:data field reference:**

contribution.submission_completed

Fired once when an async (v2) contribution submission reaches a final status: SUBMITTED, FAILED, or UNDER_REVIEW. Not fired for v1 submissions.
data field reference:data field reference:** Use this event to: mark the pay run as submitted, or surface the error for a FAILED submission. Do not resubmit an UNDER_REVIEW submission — it may already have been paid.

HMAC Signature Verification

Every delivery includes an X-Signature header — an HMAC-SHA256 hex digest of the raw request body signed with your webhook secret.
Verify on receipt:

Request Body

string
required
The HTTPS URL to receive webhook event deliveries. Must be publicly accessible and return HTTP 2xx for successful deliveries.

Responses

Response fields

string
The registered webhook URL
string
Secret used to verify HMAC signatures on incoming webhook deliveries. Store this securely — it is only returned once.
boolean
integer
string
Last modified on November 10, 2026