How do I set up webhooks instead of polling?

Why bother: each token is limited to 100 requests per 60 seconds. If you poll an endpoint to detect changes, you will hit that ceiling and your integration will feel broken to users.

Step 1 — Subscribe. POST /api/v1/webhooks for the events you care about, for example alias.data.created or alias.data.updated.

Step 2 — Store the secret you receive at subscription time. Treat it like any other credential.

Step 3 — Verify every incoming call. Each webhook includes an X-UIID-Signature header; verify it with HMAC-SHA256 using that secret. An endpoint that accepts unverified webhooks is an open door.

Step 4 — Respond fast, process asynchronously. Acknowledge the delivery, then do the work on your own queue.

Still need to poll something? Cache aggressively, and follow the next_cursor field on list endpoints rather than re-requesting pages you already have.

Reference: uiid.linkspreed.com/api-docs.