Skip to main content
Question

Ambiguous docs - how to really handle webhooks?

  • February 13, 2026
  • 2 replies
  • 46 views

Forum|alt.badge.img

Currently deciding to integrate RC in my apps. The docs on webhooks did unveil some questions;

1) Should we both handle parsing events from the WH payload and call the `subscribers` api, as detailled by the docs.

2) The docs detail processing should be delayed; Can we still safel, call the API within the same handler or **must** we defer.

3) If the API call fails (e.g. rate-limits) how should our function ideally behave (200 ok vs. e.g 500 to trigger a new WH event. After all - the DB should be in sync with RC.

4) Is there a plan for a Supabase integration / typescript starter?

 

Thank you!

2 replies

Forum|alt.badge.img
  • Author
  • New Member
  • February 14, 2026

Also note; Why not simply parse the WH Events like you did in the official firebase integration; Is there any need for the additional API call at all? Further; The v2 endpoint does not seem to have a /subscribers route that accepts a userId?


erik-macinnis
RevenueCat Staff
Forum|alt.badge.img+1
  • RevenueCat Staff
  • February 21, 2026

Hi Alan,

Thanks for reaching out, happy to answer these questions.

1. Should you parse webhooks and also call the subscribers API?

The recommended approach is to call GET /subscribers after receiving a webhook. This returns the full current customer state in a consistent format, rather than varying by event type like webhooks do.

2. Can you call the API in the same handler?

Yes, as long as it finishes within 60 seconds, since RevenueCat requires a response within that time or it may retry. That said, it’s recommended to return 200 immediately and process in the background to avoid timeouts.

3. If the API call fails, should you return 200 or 500?

If you return anything other than 200, RevenueCat will retry the webhook up to five (at 5, 10, 20, 40, and 80 minute intervals). I’d recommend returning 200 and handle retries yourself so you have more control.

4. Is there a plan for a Supabase or TypeScript starter?

There is no official plans for a Supabase integration or TypeScript starter at this time.  

5. Parsing webhook events

You can absolutely just parse the webhook payload like in the Firebase example. That works fine, especially if you only need to react to specific events. The reason we suggest calling the subscribers endpoint is because it always returns the full current state of the customer in a consistent format, which makes syncing simpler.

About V2 Endpoint

V2 does not have a /subscribers route — the equivalent is GET /projects/{project_id}/customers/{customer_id}. However, the webhook docs specifically reference the v1 GET /subscribers endpoint for syncing subscription status.

Let me know if you have any other questions.

Cheers,
Erik - Developer Support Engineer