Quickstart
1. Get a hook URL
Section titled “1. Get a hook URL”Open the app and create a hook. You get a URL that looks like this:
https://in.zhooky.app/h/PUT-YOUR-KEY-HEREThe part after /h/ is the hook key. It is 32 characters, and it
is a bearer secret: anyone holding it can post to your hook, so treat it like a
password. Regenerating the key stops the old one working immediately.
2. Send it a request
Section titled “2. Send it a request”Any POST, PUT or GET to that URL is accepted.
curl -X POST https://in.zhooky.app/h/PUT-YOUR-KEY-HERE \ -H 'content-type: application/json' \ -d '{"title":"Payment failed","message":"card declined"}'The response is the id of the stored request:
{ "id": "01a0a4ab-0cb8-7659-81e4-d64ffee7d889" }3. What happens next
Section titled “3. What happens next”The request is stored and every subscribed device is notified. The notification carries the hook’s own name and a one-line summary of what arrived:
DemoPOST · 52 BThe hook’s colour and title are what the notification shows. Reading a title and a message out of the request body is not wired up yet — for now the body is kept whole and shown in the inbox, where you can read it in full.
4. Sub-paths
Section titled “4. Sub-paths”Anything after the key is recorded and kept, so several sources can share one hook and stay apart in the inbox:
curl -X POST https://in.zhooky.app/h/PUT-YOUR-KEY-HERE/stripe -d '{}'curl -X POST https://in.zhooky.app/h/PUT-YOUR-KEY-HERE/github -d '{}'The key never appears in the stored path — only /stripe and /github do.
5. Limits
Section titled “5. Limits”- A request is deleted after 7 days.
- Up to 1,000 requests are kept per hook. Past that the oldest one goes — the hook keeps accepting and keeps notifying either way.
- A body may be up to 10 MB. Anything larger is rejected.
- Bodies over 64 KB are moved to object storage and streamed back on demand.
We use Google Analytics to see which pages help people get started. No advertising, and nothing until you say yes. What we collect.