---
Hi, we're trying to retrieve offerings together with their packages and products in as few API calls as possible, but the `expand[]` parameter appears to be silently ignored on both endpoints we've tested.
---
Case 1 — `expand[]=items.package` on GET /offerings
Request:
curl -s "https://api.revenuecat.com/v2/projects/proj_xxxxxxxx/offerings?expand%5B%5D=items.package" \
-H "Authorization: Bearer $REVENUECAT_SECRET_KEY" \
-H "Content-Type: application/json" | jq
Response — packages are absent, expand is silently ignored:
{
"items": [
{
"created_at": 1776390456551,
"display_name": "Offering A",
"id": "ofrng_aaaaaaaa",
"is_current": false,
"lookup_key": "offering_a",
"metadata": { "some_key": "some_value" },
"object": "offering",
"project_id": "proj_xxxxxxxx",
"state": "active"
},
{
"created_at": 1775603850680,
"display_name": "Offering B",
"id": "ofrng_bbbbbbbb",
"is_current": true,
"lookup_key": "default",
"metadata": null,
"object": "offering",
"project_id": "proj_xxxxxxxx",
"state": "active"
}
],
"next_page": null,
"object": "list"
}
No `packages` field on any offering item.
---
Case 2 — `expand[]=product` on GET /offerings/{id}/packages
Request:
curl -s "https://api.revenuecat.com/v2/projects/proj_xxxxxxxx/offerings/ofrng_bbbbbbbb/packages?expand%5B%5D=product" \
-H "Authorization: Bearer $REVENUECAT_SECRET_KEY" \
-H "Content-Type: application/json" | jqResponse — packages returned correctly, but no `product` field expanded:
{
"items": [
{
"created_at": 1775603850695,
"display_name": "Monthly",
"id": "pkge_xxxxxxxx",
"lookup_key": "$rc_monthly",
"object": "package",
"position": 0
},
{
"created_at": 1775603850695,
"display_name": "Yearly",
"id": "pkge_yyyyyyyy",
"lookup_key": "$rc_annual",
"object": "package",
"position": 1
},
{
"created_at": 1775603850695,
"display_name": "Lifetime",
"id": "pkge_zzzzzzzz",
"lookup_key": "$rc_lifetime",
"object": "package",
"position": 2
}
],
"next_page": null,
"object": "list"
}
No product field on any package item.
---
Impact
To get offerings with their packages and attached products we currently need N+2 API calls (1 for offerings + 1 per offering for packages + potentially more for products). With the `expand[]` parameter working as documented this could be a single call.
We also tried `expand%5B%5D=items.package.product` on the offerings list endpoint — same result, silently ignored.
Is this a known limitation? Is there a workaround or a timeline for a fix?
Thanks!
---
