Migrating app-owned metafields to merchant namespace by May 1 - how?

We have app-owned metafields that we previously set to PUBLIC_READ_WRITE so that merchants could use other installed apps to edit them. Our understanding based on the changelog is that on May 1, we must migrate our app-owned metafields to the merchant namespace to allow the same read/write for third party apps.

Is there a GraphQL mutation we can use to achieve this? Otherwise, our understanding is we’d have to create the new metafield, write a script to go through every shop that has our app installed, grab the existing app-owned metafield values and copy them to the newly-created merchant namespace metafield, and then finally delete our app-owned metafield. Is there a simpler way?

1 Like

Hey @derrick,

The closest Graphql mutation would be metafieldDefinitionUpdate. This mutation doesn’t allow updating the namespace, so currently to migrate from an app owned namespace to a merchant namespace will require creating that new definition.

@KyleG-Shopify thanks for the response - to confirm then, we need to take the steps I outlined in my original post if we want to allow other merchant-installed apps continued read/write access to our metafield?

Yes, thats looks to be the way to do it.

Just one thought here, do you know if a lot of your clients have other apps that are accessing your app metafields? If it’s not a lot, it may be simpler to implement an option within your app ui to enable metafield availability to other apps and then only migrate when a merchant selects the option.