Skip to main content
Webhooks let Yativo push event data to your server the moment something happens, instead of you polling the API. When an event fires, Yativo sends an HTTP POST to your configured endpoint with a signed JSON payload.

Create a Webhook

POST /webhooks/create
string
required
A human-readable name for this webhook endpoint (e.g. “Production Deposits”).
string
required
The HTTPS or HTTP URL Yativo will POST events to.
string
required
A secret string you generate. Yativo uses it to sign every delivery so your server can verify the payload is genuine.
array
Optional allowlist of source IP addresses. When set, Yativo will only deliver events from these IPs. Leave empty to allow all.
cURL
Response
Store webhook_secret securely (e.g. in an environment variable). Use it to verify the X-Webhook-Signature header on every incoming delivery.

List Webhooks

GET /webhooks
cURL

Update a Webhook

POST /webhooks/edit Pass webhook_id plus any fields you want to change. Omitted fields keep their current value.
string
required
The _id of the webhook to update.
string
Updated name.
string
Updated delivery URL.
string
Rotated secret.
array
Updated IP allowlist.
string
Set to "active" or "inactive" to pause/resume delivery.
cURL

Delete a Webhook

POST /webhooks/delete
string
required
The _id of the webhook to delete.
cURL

View Event Logs

GET /webhook/get-event-logs Returns a log of events processed through the webhook system.
cURL

Signature Verification

Every webhook delivery includes an X-Webhook-Signature header. This is an HMAC-SHA256 signature of the raw request body, computed using your webhook_secret. Always verify the signature before processing events. This confirms the request genuinely came from Yativo and was not tampered with.

Webhook Payload Structure

All webhook payloads share the same envelope:

Best Practices

Your endpoint should return a 200 status within a few seconds. Do your heavy processing in the background. If Yativo does not receive a 2xx response, it will retry the event with exponential backoff.
Webhooks can be delivered more than once (e.g., after retries). Use the id field to deduplicate events in your database before processing.
Always use HTTPS endpoints in production so payloads cannot be intercepted in transit. The API accepts HTTP URLs but they should only be used for local development and testing.
Check GET /webhook/get-event-logs regularly to spot delivery failures before they become business problems.