Guides · Vanoe Market Intelligence API
Webhooks: get notified when a stock changes trend stage or a signal flips
Polling fifty tickers every day to notice that one of them changed stage is wasteful. Webhooks turn the API around: subscribe to the transitions you care about and receive a signed POST when one happens.
Event types
stage.transition when a ticker moves between stages, pnf.signal_change when a P&F chart flips between buy and sell, macro.regime_change when the regime label changes, and insider.cluster when several distinct insiders buy within the window. An empty ticker list subscribes to the curated ~80-name universe.
Delivery guarantees
Each delivery is signed with HMAC-SHA256 over the exact body (X-Intel-Signature) and carries a stable delivery id (X-Intel-Delivery) that stays the same across retries, so you can deduplicate. Failed deliveries retry at 1 minute, 5 minutes, 30 minutes, 2 hours and 6 hours before being marked dead. Each delivered event costs 1 credit; test pings are free.
Managing subscriptions
POST /v1/webhooks creates one with a URL, an event list and an optional ticker list; GET lists them, DELETE /v1/webhooks/{id} removes one, POST /v1/webhooks/{id}/test sends a signed test event, and GET /v1/webhooks/{id}/deliveries shows the audit trail. Webhooks are included on Pro and Business plans.
Request
curl -X POST -H "Authorization: Bearer sk_live_…" -H "Content-Type: application/json" \
-d '{"url": "https://example.com/hooks/vanoe", "events": ["stage.transition", "pnf.signal_change"], "tickers": ["AAPL", "NVDA"]}' \
"https://api.vanoe.ai/v1/webhooks"
Response
{
"data": {
"id": 12, "url": "https://example.com/hooks/vanoe",
"events": ["stage.transition", "pnf.signal_change"], "tickers": ["AAPL", "NVDA"],
"secret": "whsec_…", "active": true
}
}
# a delivery, POSTed to your URL:
# X-Intel-Event: stage.transition X-Intel-Delivery: 1f3c… X-Intel-Signature: sha256=…
{"id": "1f3c…", "event": "stage.transition", "ticker": "NVDA",
"from": {"stage": 1, "label": "Basing"}, "to": {"stage": 2, "label": "Advancing"}, "as_of": "2026-09-10"}
Cost: 1 credit per delivered event. Creating and listing subscriptions is free. Pro and Business plans.
Fields
| events | stage.transition · pnf.signal_change · macro.regime_change · insider.cluster |
| tickers | list, or empty for the curated universe |
| secret | HMAC key, shown once at creation |
Questions
How do I verify a webhook?
Compute HMAC-SHA256 of the raw request body with the subscription secret and compare it, constant-time, with the X-Intel-Signature header.
Will I get duplicates?
Delivery is at-least-once. Retries carry the same X-Intel-Delivery id and an identical body, so deduplicate on that id.
Can I test my endpoint without waiting for a real transition?
Yes, POST /v1/webhooks/{id}/test queues a signed test event immediately and for free.
Try it
Free tier: 1,000 credits a month, no card. Every response is informational data only, not financial advice.