GraphQL app subscription migration

Topic summary

Migration from REST to GraphQL exposes missing billing lifecycle fields in Shopify’s Admin GraphQL AppSubscription. The poster notes that REST provides activated_on and cancelled_on on RecurringApplicationCharge, but GraphQL lacks equivalents on AppSubscription.

  • Documented mappings are disputed: activated_on → createdAt, and cancelled_on → currentPeriodEnd. The poster argues these are not semantically correct because creation ≠ activation, and a cancellation timestamp ≠ the end of the current billing period.
  • Requested action: Add explicit activation and cancellation date fields to GraphQL’s AppSubscription for parity and accurate subscription tracking during migration recommended by Shopify.

Status: Feature request; no workaround or resolution provided. Context includes links to Shopify REST and GraphQL docs. No code or attachments were included.

Summarized with AI on December 14. AI used: gpt-5.

Hi there,

we are definitely migrating from REST API to GraphQL API, as recommended by Shopify on https://www.shopify.com/partners/blog/all-in-on-graphql.

However, we found a lack of important information in the GraphQL app subscription object (https://shopify.dev/docs/api/admin-graphql/2024-10/objects/appsubscription)). In this object, we miss the fields “activated_on” and “cancelled_on” that are provided by the REST API (https://shopify.dev/docs/api/admin-rest/2024-10/resources/recurringapplicationcharge)).

On https://shopify.dev/docs/api/admin-rest/2024-10/resources/recurringapplicationcharge, the continuity of this fields is:

  • activated_on (REST) → createdAt (GraphQL)

  • cancelled_on (REST) → currentPeriodEnd (GraphQL)

But this continuity is completely nonsense, as creation and activation dates can be completely different, and cancellation time has nothing to do with the current period end date.

Please could you consider to add these activation and cancellation dates to GraphQL?

Thanks and kind regards.