Skip to main content
Instead of checking back, register a URL and Effective sends it a small signed event when something happens. The event says what changed and links to the resource; read the resource for the details.

Create an endpoint

The response includes secret. It is shown only once, so store it now.
Filters apply only to events that carry that field: employerIds and states narrow OSHA events and are ignored for answers. Only events that happen after you create the endpoint are sent.

What you receive

For OSHA events, data.path is the OSHA row behind the event, relative to /api/v2, as in the employer guide.

Verify and respond

Each request has an Effective-Signature header like t=1761136867,v1=5257a8…. Compute an HMAC-SHA256 of <t>.<raw body> with your secret and compare it to v1. Reject requests whose t is more than five minutes old.
Return any 2xx status within 10 seconds. Anything else is retried with backoff for three days; after that the endpoint is disabled and shows "disabledReason": "failing". An event can arrive more than once or out of order, so skip IDs you have already handled. To check your receiver, send a test event with POST /api/v2/webhook-endpoints/{id}/test. Webhooks have no usage charge.