Apps without a public distribution cannot use the Billing API error on appSubscriptionCreate

Topic summary

A developer encountered an error when attempting to use the appSubscriptionCreate mutation: “Apps without a public distribution cannot use the Billing API.” This occurred on a development store after updating to GraphQL API version 2022-07, despite setting test=true in the mutation parameters.

Solution:

  • Navigate to the app’s settings and select “Distribution” from the menu
  • Change the distribution method to “Shopify Store”

This configuration change resolved the issue, allowing the Billing API to function properly even in development environments. Multiple users confirmed this workaround successfully fixed the problem.

Summarized with AI on October 28. AI used: claude-sonnet-4-5-20250929.

I have a development store and I am trying to do appSubscriptionCreate mutation for the store, but I’m getting “Apps without a public distribution cannot use the Billing API” error from Shopify graphql response. I was able to make this query before updating the graphql version to the latest (2022-07). Besides, I set test=true so it shouldn’t matter whether the app is public or not I thought? Could someone assist me with this issue please? Thank you!

mutation appSubscriptionCreate($name: String!, $lineItems: [AppSubscriptionLineItemInput!]!, $returnUrl: URL!, $test: Boolean, $trialDays: Int) {
  appSubscriptionCreate(name: $name, lineItems: $lineItems, returnUrl: $returnUrl, test: $test, trialDays: $trialDays) {
    appSubscription {
      id
      name
      status
      test
    }
    confirmationUrl
    userErrors {
      field
      message
    }
  }
}
2 Likes

I noticed the same thing, was able to resolve it using the following steps:

  1. Edit your app

  2. Click on “Distribution” from the menu on the left

  3. Choose “Shopify Store” as distribution

This should solve the issue.

13 Likes

Thank you so much for taking a time to respond! I was able to get it working by following the suggested steps!

2 Likes

Thanks, this saved me so much time

1 Like

Thank you so much!