{"description":"Register an https endpoint to be told when the knowledge base changes, instead of polling /api/v1/changelog.","events":{"data.updated":"The knowledge base was re-ingested. Carries the new bundleGenerated timestamp.","status.degraded":"A scheduled probe found a component failing."},"register":{"method":"POST","url":"https://vineverse.bible/api/v1/webhooks","body":{"url":"https://example.com/hook","events":["data.updated","status.degraded"]},"note":"The response carries a secret, shown once and never again. It signs every delivery and authorises reading and deleting this subscription."},"sandbox":{"url":"https://vineverse.bible/api/v1/webhooks?sandbox=true","note":"Validates the payload and returns a realistic response without storing anything or delivering anything. Use it to check your integration before it exists."},"verifying":"Each delivery carries X-VineVerse-Signature: sha256=<hex>, an HMAC-SHA256 of the raw request body keyed by your secret. Hash the bytes you received, not a re-serialisation of the parsed JSON, and compare in constant time.","delivery":{"attempts":3,"note":"Redirects are not followed. Ten consecutive failures disable a subscription."},"limits":{"totalSubscriptions":500,"registrationsPerAddressPerDay":5},"requirements":["https only","the hostname must resolve to a public address","no credentials in the URL"]}