REST API deprecation and webhooks

Topic summary

REST API deprecation raises questions about webhook payload format and migration. The setup listens to webhooks for paid orders and product updates; payloads currently arrive as JSON with a GraphQL identifier (admin_graphql_api_id), but the structure resembles REST.

Key findings from cited docs/threads:

  • Existing webhooks created via REST continue to work and still deliver JSON payloads.
  • Prior community answers indicate webhooks are not switching to “GraphQL payloads”; they remain JSON.
  • Future webhook subscriptions should be created via the Admin GraphQL API (e.g., EventBridgeWebhookSubscriptionCreate mutation).

Implications:

  • Endpoints consuming JSON can remain unchanged for now.
  • Migration focus is on how webhooks are created (GraphQL), not on changing payload structure.

Open items:

  • Seeks official documentation confirming whether webhook payloads will remain JSON long‑term or if a format change is planned.
  • No explicit Shopify confirmation in the thread; current evidence points to continued JSON payloads.

Status: Ongoing. Action is to create new webhooks via GraphQL while expecting JSON payloads; formal confirmation on future payload format is still desired.

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

We have a setup where we listen for webhooks for paid orders and product updates. Based on this document

https://shopify.dev/changelog/deprecation-timelines-related-to-new-graphql-product-apis

REST api will eventually be deprecated. We’re trying to look for information related to how webhook data will now be presented because while the interfacing app set up in Shopify Admin has a Webhook Version and the data being passed has a graphQL ID called admin_graphql_api_id, the data from the webhook is in REST format. Someone asked this question before but it looks like since then, it’s stayed in JSON format.

https://community.shopify.com/c/webhooks-and-events/will-webhooks-send-graphql-payloads/td-p/1973228

We would prefer the data from the webhooks still be in JSON format so we don’t have to change our endpoints but we want to confirm if there’s documentation somewhere related to the change

thanks

1 Like

okay so based on this, it looks like any webhooks created before will still work

https://community.shopify.dev/t/product-crud-webhooks-that-were-created-with-the-rest-admin-api/4402

based on the documentation here

https://shopify.dev/docs/api/admin-graphql/2024-10/mutations/eventbridgewebhooksubscriptioncreate?language=PHP

they will still respond in JSON format. but any future webhooks must be created via graphQL