Difference between plan fetched for shop from REST API vs GraphQL

When I fetch plan_name for a shop from REST API: https://shopify.dev/docs/api/admin-rest/2023-10/resources/shop

The plan_name might be basic, custom, professional, shopify_plus, fraudulent, staff, unlimited, affiliate, dormant, cancelled etc.

But when I fetch displayName for plan for shop via graphQL: https://shopify.dev/docs/api/admin-graphql/2023-10/objects/Shop#field-shop-plan

The plan might be Shopify Lite, Basic Shopify, Shopify, Advanced Shopify, Shopify Plus

I wanted to know the difference between them and if there is a mapping which exists between them.

The https://shopify.dev/docs/api/admin-rest/2023-10/resources/shop rest shop object has plan_display_name in it as well which is same as the displayName of graphQL object.

‘basic’: {‘Basic Shopify’},
‘affiliate’: {‘Development’},
‘professional’: {‘Shopify’},
‘staff’: {‘staff’},
‘unlimited’: {‘Advanced Shopify’},
‘staff_business’: {‘staff_business’},
‘partner_test’: {‘Developer Preview’},
‘starter_2022’: {‘Shopify Starter’},
‘paid_trial’: {‘Extended Trial’},
‘retail’: {‘Retail’},
‘shopify_plus’: {‘Shopify Plus’},
‘starter_2022_trial’: {‘Shopify Starter Trial’},
‘plus_partner_sandbox’: {‘Shopify Plus Partner Sandbox’},
‘open_learning’: {‘Open Learning’},
‘trial’: {‘trial’},
‘npo_full’: {‘NPO Full’},
‘shopify_alumni’: {‘Shopify Alumni’},
‘dormant’: {‘Pause and Build’}

1 Like

rest shop object has plan_display_name in it as well which is same as the displayName of graphQL object.

Not in all cases. This is what we’ve seen in production: Table of Shopify Plan Names Returned by their GraphQL and REST APIs · GitHub

‘basic’: {‘Basic Shopify’},
‘affiliate’: {‘Development’},

Where did you get this list from?