Skip to main content
Question

what does the /v2/projects/${revenueCatProjectId}/customers/${customerId}/subscriptions response tell you about the status?

  • November 14, 2025
  • 3 replies
  • 22 views

Forum|alt.badge.img+8

I am really confused about why this endpoint is recommended to check for the Webhook.

  • I can’t tell the order of the `items` array being returned from the endpoint response.
  • I can’t tell what entitlement is `active` for example:  is it my monthly or annual?
  • The `product_id` field is not helpful - i would need to make a 2nd request to API to search for the product/offering and deduce what it is.

Is there a more effective way to find the active subscription on the customer after a webhook?

This post has been closed for comments

3 replies

hussain
RevenueCat Staff
Forum|alt.badge.img+6
  • RevenueCat Staff
  • November 18, 2025

Hi ​@lucksp,

Thanks for reaching out, I’m happy to help.

The /subscriptions endpoint is a raw view of a customer’s subscriptions. The items array is not returned in any guaranteed order. If you need ordering, sort on your side by fields like current_period_started_at, or current_period_ends_at to get a reliable timeline.

If your goal is “what is active right now?”, you don’t need to infer it from the subscriptions list. Use the Active Entitlements endpoint instead. Docs on it can be found here: https://www.revenuecat.com/docs/api-v2#tag/Customer/operation/list-customer-active-entitlements

On product_id: this is the RevenueCat product ID. If you want human-friendly product metadata (e.g., which offering it belongs to, storefront details), you’ll need to make a second call to the products/offerings endpoint.

I’d recommend using the /v1/subscribers/{app_user_id} endpoint to pull the customer’s up-to-date entitlements and subscriptions info in a single response (this is the simplest, most robust approach). Docs on it can be found here: https://www.revenuecat.com/docs/api-v1#tag/customers/operation/subscribers

Hope this helps, let me know if you have any other questions.

Best,

Hussain


Forum|alt.badge.img+8
  • Author
  • Helper
  • November 18, 2025

the items array is not returned in any guaranteed order. 

This is concerning...Isn’t the point of an array to have an order that is reliable?  But generally speaking, why wouldn’t the array be built on the order of operations in terms of time?

 

If your goal is “what is active right now?”, you don’t need to infer it from the subscriptions list. Use the Active Entitlements endpoint instead

The issue with this endpoint is the response gives no actual useful information:
{

  • "object": "customer.active_entitlement",

  • "entitlement_id": "entla1b2c3d4e5",

  • "expires_at": 1658399423658

}

Is `entla1b2c3d4e5` monthly or annual, for example?  I need to do a 2nd lookup to find the information.  This 

 

I guess, yes, I’ll have to resort to the V1 endpoint.  


hussain
RevenueCat Staff
Forum|alt.badge.img+6
  • RevenueCat Staff
  • November 20, 2025

Hi ​@lucksp,

Thanks for following up. I’ve gone ahead and shared your feedback with our product team. Your points are spot-on and will help shape our product improvement roadmap.

Let me know if you have any other questions, happy to assist however I can.

Best,

Hussain