Shopify Webhooks

Shopify webhooks allow apps to subscribe to specific events that occur in a store. When an event occurs, Shopify sends an HTTP POST request with a JSON payload to the configured endpoint. Webhooks can be configured for events across all major Shopify resources including orders, products, customers, inventory, fulfillment, and app-specific events.

AsyncAPI Specification

shopify-admin-webhooks-asyncapi.yml Raw ↑
asyncapi: 2.6.0
info:
  title: Shopify Admin Webhooks
  version: '2024-10'
  description: |
    AsyncAPI 2.6 specification modeling the Shopify Admin webhook event surface.

    Shopify webhooks allow apps to subscribe to events that occur in a Shopify
    store. When a subscribed event occurs, Shopify sends an HTTP POST request
    with a JSON payload to the configured endpoint URL.

    Every webhook delivery from Shopify includes the following HTTP headers:

    - `X-Shopify-Topic` — the webhook topic (for example, `orders/create`)
    - `X-Shopify-Shop-Domain` — the `*.myshopify.com` domain that triggered the event
    - `X-Shopify-Hmac-Sha256` — base64-encoded HMAC-SHA256 of the raw request
      body computed using the app's client secret (or, for shop-created webhooks
      via the REST/GraphQL Admin API, the app's API secret key) as the key
    - `X-Shopify-API-Version` — the Admin API version used to format the payload
    - `X-Shopify-Webhook-Id` — a unique identifier for the webhook delivery

    Receivers MUST verify the HMAC signature before processing a payload.
    Receivers MUST respond with a `2xx` status code within 5 seconds; Shopify
    retries failed deliveries up to 19 times over 48 hours.

    Every topic enumerated in this specification is drawn from the official
    Shopify Admin webhooks reference at
    https://shopify.dev/docs/api/webhooks/2024-10.
  termsOfService: https://www.shopify.com/legal/terms
  contact:
    name: Shopify Developer Support
    url: https://shopify.dev/
    email: api@shopify.com
  license:
    name: Proprietary
    url: https://www.shopify.com/legal/terms
  x-apis-json-aid: shopify-admin:shopify-webhooks
  x-spec-source: https://shopify.dev/docs/api/webhooks/2024-10
defaultContentType: application/json
servers:
  webhook-receiver:
    url: '{endpoint}'
    protocol: https
    description: |
      The application-hosted HTTPS endpoint to which Shopify delivers webhook
      events. This URL is registered via the `webhookSubscriptionCreate`
      GraphQL mutation, the REST `POST /admin/api/2024-10/webhooks.json`
      endpoint, or declaratively in `shopify.app.toml`.
    variables:
      endpoint:
        default: https://example.com/shopify/webhooks
        description: The fully-qualified HTTPS callback URL hosted by the app.
channels:
  app/scopes_update:
    description: Triggered when the access scopes granted to an app are updated.
    subscribe:
      operationId: subscribeAppScopesUpdate
      summary: Receive app/scopes_update events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: app/scopes_update
  app/uninstalled:
    description: Triggered when an app is uninstalled from a shop. Mandatory compliance topic for App Store apps.
    subscribe:
      operationId: subscribeAppUninstalled
      summary: Receive app/uninstalled events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: app/uninstalled
  app_purchases_one_time/update:
    description: Triggered when a one-time application charge is updated.
    subscribe:
      operationId: subscribeAppPurchasesOneTimeUpdate
      summary: Receive app_purchases_one_time/update events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: app_purchases_one_time/update
  app_subscriptions/approaching_capped_amount:
    description: Triggered when an app subscription's usage charges approach the capped amount.
    subscribe:
      operationId: subscribeAppSubscriptionsApproachingCappedAmount
      summary: Receive app_subscriptions/approaching_capped_amount events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: app_subscriptions/approaching_capped_amount
  app_subscriptions/update:
    description: Triggered when an app subscription is updated.
    subscribe:
      operationId: subscribeAppSubscriptionsUpdate
      summary: Receive app_subscriptions/update events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: app_subscriptions/update
  audit_events/admin_api_activity:
    description: Triggered when admin API activity is recorded as an audit event.
    subscribe:
      operationId: subscribeAuditEventsAdminApiActivity
      summary: Receive audit_events/admin_api_activity events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: audit_events/admin_api_activity
  bulk_operations/finish:
    description: Triggered when a bulk operation finishes.
    subscribe:
      operationId: subscribeBulkOperationsFinish
      summary: Receive bulk_operations/finish events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: bulk_operations/finish
  carts/create:
    description: Triggered when a cart is created in the online store.
    subscribe:
      operationId: subscribeCartsCreate
      summary: Receive carts/create events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: carts/create
  carts/update:
    description: Triggered when a cart is updated in the online store.
    subscribe:
      operationId: subscribeCartsUpdate
      summary: Receive carts/update events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: carts/update
  channels/delete:
    description: Triggered when a sales channel is removed from the shop.
    subscribe:
      operationId: subscribeChannelsDelete
      summary: Receive channels/delete events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: channels/delete
  checkouts/create:
    description: Triggered when a checkout is created.
    subscribe:
      operationId: subscribeCheckoutsCreate
      summary: Receive checkouts/create events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: checkouts/create
  checkouts/delete:
    description: Triggered when a checkout is deleted.
    subscribe:
      operationId: subscribeCheckoutsDelete
      summary: Receive checkouts/delete events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: checkouts/delete
  checkouts/update:
    description: Triggered when a checkout is updated.
    subscribe:
      operationId: subscribeCheckoutsUpdate
      summary: Receive checkouts/update events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: checkouts/update
  collection_listings/add:
    description: Triggered when a collection listing is added to a sales channel.
    subscribe:
      operationId: subscribeCollectionListingsAdd
      summary: Receive collection_listings/add events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: collection_listings/add
  collection_listings/remove:
    description: Triggered when a collection listing is removed from a sales channel.
    subscribe:
      operationId: subscribeCollectionListingsRemove
      summary: Receive collection_listings/remove events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: collection_listings/remove
  collection_listings/update:
    description: Triggered when a collection listing is updated on a sales channel.
    subscribe:
      operationId: subscribeCollectionListingsUpdate
      summary: Receive collection_listings/update events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: collection_listings/update
  collection_publications/create:
    description: Triggered when a collection publication is created.
    subscribe:
      operationId: subscribeCollectionPublicationsCreate
      summary: Receive collection_publications/create events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: collection_publications/create
  collection_publications/delete:
    description: Triggered when a collection publication is deleted.
    subscribe:
      operationId: subscribeCollectionPublicationsDelete
      summary: Receive collection_publications/delete events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: collection_publications/delete
  collection_publications/update:
    description: Triggered when a collection publication is updated.
    subscribe:
      operationId: subscribeCollectionPublicationsUpdate
      summary: Receive collection_publications/update events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: collection_publications/update
  collections/create:
    description: Triggered when a collection is created.
    subscribe:
      operationId: subscribeCollectionsCreate
      summary: Receive collections/create events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: collections/create
  collections/delete:
    description: Triggered when a collection is deleted.
    subscribe:
      operationId: subscribeCollectionsDelete
      summary: Receive collections/delete events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: collections/delete
  collections/update:
    description: Triggered when a collection is updated.
    subscribe:
      operationId: subscribeCollectionsUpdate
      summary: Receive collections/update events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: collections/update
  companies/create:
    description: Triggered when a B2B company is created.
    subscribe:
      operationId: subscribeCompaniesCreate
      summary: Receive companies/create events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: companies/create
  companies/delete:
    description: Triggered when a B2B company is deleted.
    subscribe:
      operationId: subscribeCompaniesDelete
      summary: Receive companies/delete events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: companies/delete
  companies/update:
    description: Triggered when a B2B company is updated.
    subscribe:
      operationId: subscribeCompaniesUpdate
      summary: Receive companies/update events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: companies/update
  company_contact_roles/assign:
    description: Triggered when a role is assigned to a company contact.
    subscribe:
      operationId: subscribeCompanyContactRolesAssign
      summary: Receive company_contact_roles/assign events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: company_contact_roles/assign
  company_contact_roles/revoke:
    description: Triggered when a role is revoked from a company contact.
    subscribe:
      operationId: subscribeCompanyContactRolesRevoke
      summary: Receive company_contact_roles/revoke events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: company_contact_roles/revoke
  company_contacts/create:
    description: Triggered when a company contact is created.
    subscribe:
      operationId: subscribeCompanyContactsCreate
      summary: Receive company_contacts/create events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: company_contacts/create
  company_contacts/delete:
    description: Triggered when a company contact is deleted.
    subscribe:
      operationId: subscribeCompanyContactsDelete
      summary: Receive company_contacts/delete events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: company_contacts/delete
  company_contacts/update:
    description: Triggered when a company contact is updated.
    subscribe:
      operationId: subscribeCompanyContactsUpdate
      summary: Receive company_contacts/update events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: company_contacts/update
  company_locations/create:
    description: Triggered when a company location is created.
    subscribe:
      operationId: subscribeCompanyLocationsCreate
      summary: Receive company_locations/create events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: company_locations/create
  company_locations/delete:
    description: Triggered when a company location is deleted.
    subscribe:
      operationId: subscribeCompanyLocationsDelete
      summary: Receive company_locations/delete events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: company_locations/delete
  company_locations/update:
    description: Triggered when a company location is updated.
    subscribe:
      operationId: subscribeCompanyLocationsUpdate
      summary: Receive company_locations/update events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: company_locations/update
  customer.joined_segment:
    description: Triggered when a customer joins a customer segment.
    subscribe:
      operationId: subscribeCustomerJoinedSegment
      summary: Receive customer.joined_segment events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: customer.joined_segment
  customer.left_segment:
    description: Triggered when a customer leaves a customer segment.
    subscribe:
      operationId: subscribeCustomerLeftSegment
      summary: Receive customer.left_segment events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: customer.left_segment
  customer.tags_added:
    description: Triggered when tags are added to a customer.
    subscribe:
      operationId: subscribeCustomerTagsAdded
      summary: Receive customer.tags_added events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: customer.tags_added
  customer.tags_removed:
    description: Triggered when tags are removed from a customer.
    subscribe:
      operationId: subscribeCustomerTagsRemoved
      summary: Receive customer.tags_removed events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: customer.tags_removed
  customer_account_settings/update:
    description: Triggered when customer account settings (login requirements, storefront visibility, etc.) are updated.
    subscribe:
      operationId: subscribeCustomerAccountSettingsUpdate
      summary: Receive customer_account_settings/update events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: customer_account_settings/update
  customer_groups/create:
    description: Triggered when a customer saved search (group) is created.
    subscribe:
      operationId: subscribeCustomerGroupsCreate
      summary: Receive customer_groups/create events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: customer_groups/create
  customer_groups/delete:
    description: Triggered when a customer saved search (group) is deleted.
    subscribe:
      operationId: subscribeCustomerGroupsDelete
      summary: Receive customer_groups/delete events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: customer_groups/delete
  customer_groups/update:
    description: Triggered when a customer saved search (group) is updated.
    subscribe:
      operationId: subscribeCustomerGroupsUpdate
      summary: Receive customer_groups/update events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: customer_groups/update
  customer_payment_methods/create:
    description: Triggered when a customer payment method is created.
    subscribe:
      operationId: subscribeCustomerPaymentMethodsCreate
      summary: Receive customer_payment_methods/create events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: customer_payment_methods/create
  customer_payment_methods/revoke:
    description: Triggered when a customer payment method is revoked.
    subscribe:
      operationId: subscribeCustomerPaymentMethodsRevoke
      summary: Receive customer_payment_methods/revoke events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: customer_payment_methods/revoke
  customer_payment_methods/update:
    description: Triggered when a customer payment method is updated.
    subscribe:
      operationId: subscribeCustomerPaymentMethodsUpdate
      summary: Receive customer_payment_methods/update events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: customer_payment_methods/update
  customers/create:
    description: Triggered when a customer is created.
    subscribe:
      operationId: subscribeCustomersCreate
      summary: Receive customers/create events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: customers/create
  customers/data_request:
    description: Triggered when a store owner requests a customer's data on their behalf. Mandatory compliance topic for App Store apps.
    subscribe:
      operationId: subscribeCustomersDataRequest
      summary: Receive customers/data_request events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: customers/data_request
  customers/delete:
    description: Triggered when a customer is deleted.
    subscribe:
      operationId: subscribeCustomersDelete
      summary: Receive customers/delete events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: customers/delete
  customers/disable:
    description: Triggered when a customer account is disabled.
    subscribe:
      operationId: subscribeCustomersDisable
      summary: Receive customers/disable events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: customers/disable
  customers/enable:
    description: Triggered when a customer account is enabled.
    subscribe:
      operationId: subscribeCustomersEnable
      summary: Receive customers/enable events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: customers/enable
  customers/merge:
    description: Triggered when two customer records are merged.
    subscribe:
      operationId: subscribeCustomersMerge
      summary: Receive customers/merge events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: customers/merge
  customers/purchasing_summary:
    description: Triggered when a customer's purchasing summary changes.
    subscribe:
      operationId: subscribeCustomersPurchasingSummary
      summary: Receive customers/purchasing_summary events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: customers/purchasing_summary
  customers/redact:
    description: Triggered 48 hours after a store owner requests that a customer's personal data be redacted. Mandatory compliance topic for App Store apps.
    subscribe:
      operationId: subscribeCustomersRedact
      summary: Receive customers/redact events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: customers/redact
  customers/update:
    description: Triggered when a customer is updated.
    subscribe:
      operationId: subscribeCustomersUpdate
      summary: Receive customers/update events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: customers/update
  customers_email_marketing_consent/update:
    description: Triggered when a customer's email marketing consent is updated.
    subscribe:
      operationId: subscribeCustomersEmailMarketingConsentUpdate
      summary: Receive customers_email_marketing_consent/update events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: customers_email_marketing_consent/update
  customers_marketing_consent/update:
    description: Triggered when a customer's SMS marketing consent is updated.
    subscribe:
      operationId: subscribeCustomersMarketingConsentUpdate
      summary: Receive customers_marketing_consent/update events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: customers_marketing_consent/update
  delivery_promise_settings/update:
    description: Triggered when delivery promise settings (processing time, delivery date availability) are updated.
    subscribe:
      operationId: subscribeDeliveryPromiseSettingsUpdate
      summary: Receive delivery_promise_settings/update events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: delivery_promise_settings/update
  discounts/create:
    description: Triggered when a discount is created.
    subscribe:
      operationId: subscribeDiscountsCreate
      summary: Receive discounts/create events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: discounts/create
  discounts/delete:
    description: Triggered when a discount is deleted.
    subscribe:
      operationId: subscribeDiscountsDelete
      summary: Receive discounts/delete events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: discounts/delete
  discounts/redeemcode_added:
    description: Triggered when a redeem code is added to a discount.
    subscribe:
      operationId: subscribeDiscountsRedeemcodeAdded
      summary: Receive discounts/redeemcode_added events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: discounts/redeemcode_added
  discounts/redeemcode_removed:
    description: Triggered when a redeem code is removed from a discount.
    subscribe:
      operationId: subscribeDiscountsRedeemcodeRemoved
      summary: Receive discounts/redeemcode_removed events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: discounts/redeemcode_removed
  discounts/update:
    description: Triggered when a discount is updated.
    subscribe:
      operationId: subscribeDiscountsUpdate
      summary: Receive discounts/update events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: discounts/update
  disputes/create:
    description: Triggered when a payment dispute (chargeback or inquiry) is created.
    subscribe:
      operationId: subscribeDisputesCreate
      summary: Receive disputes/create events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: disputes/create
  disputes/update:
    description: Triggered when a payment dispute is updated.
    subscribe:
      operationId: subscribeDisputesUpdate
      summary: Receive disputes/update events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: disputes/update
  domains/create:
    description: Triggered when a shop adds a domain.
    subscribe:
      operationId: subscribeDomainsCreate
      summary: Receive domains/create events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: domains/create
  domains/destroy:
    description: Triggered when a shop removes a domain.
    subscribe:
      operationId: subscribeDomainsDestroy
      summary: Receive domains/destroy events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: domains/destroy
  domains/update:
    description: Triggered when a shop updates a domain.
    subscribe:
      operationId: subscribeDomainsUpdate
      summary: Receive domains/update events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: domains/update
  draft_orders/create:
    description: Triggered when a draft order is created.
    subscribe:
      operationId: subscribeDraftOrdersCreate
      summary: Receive draft_orders/create events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: draft_orders/create
  draft_orders/delete:
    description: Triggered when a draft order is deleted.
    subscribe:
      operationId: subscribeDraftOrdersDelete
      summary: Receive draft_orders/delete events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: draft_orders/delete
  draft_orders/update:
    description: Triggered when a draft order is updated.
    subscribe:
      operationId: subscribeDraftOrdersUpdate
      summary: Receive draft_orders/update events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: draft_orders/update
  fulfillment_events/create:
    description: Triggered when a fulfillment event is created.
    subscribe:
      operationId: subscribeFulfillmentEventsCreate
      summary: Receive fulfillment_events/create events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: fulfillment_events/create
  fulfillment_events/delete:
    description: Triggered when a fulfillment event is deleted.
    subscribe:
      operationId: subscribeFulfillmentEventsDelete
      summary: Receive fulfillment_events/delete events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: fulfillment_events/delete
  fulfillment_holds/added:
    description: Triggered when a hold is added to a fulfillment order.
    subscribe:
      operationId: subscribeFulfillmentHoldsAdded
      summary: Receive fulfillment_holds/added events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: fulfillment_holds/added
  fulfillment_holds/released:
    description: Triggered when a hold is released from a fulfillment order.
    subscribe:
      operationId: subscribeFulfillmentHoldsReleased
      summary: Receive fulfillment_holds/released events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: fulfillment_holds/released
  fulfillment_orders/cancellation_request_accepted:
    description: Triggered when a fulfillment service accepts a cancellation request.
    subscribe:
      operationId: subscribeFulfillmentOrdersCancellationRequestAccepted
      summary: Receive fulfillment_orders/cancellation_request_accepted events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: fulfillment_orders/cancellation_request_accepted
  fulfillment_orders/cancellation_request_rejected:
    description: Triggered when a fulfillment service rejects a cancellation request.
    subscribe:
      operationId: subscribeFulfillmentOrdersCancellationRequestRejected
      summary: Receive fulfillment_orders/cancellation_request_rejected events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: fulfillment_orders/cancellation_request_rejected
  fulfillment_orders/cancellation_request_submitted:
    description: Triggered when a cancellation request is submitted for a fulfillment order.
    subscribe:
      operationId: subscribeFulfillmentOrdersCancellationRequestSubmitted
      summary: Receive fulfillment_orders/cancellation_request_submitted events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: fulfillment_orders/cancellation_request_submitted
  fulfillment_orders/cancelled:
    description: Triggered when a fulfillment order is cancelled.
    subscribe:
      operationId: subscribeFulfillmentOrdersCancelled
      summary: Receive fulfillment_orders/cancelled events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: fulfillment_orders/cancelled
  fulfillment_orders/fulfillment_request_accepted:
    description: Triggered when a fulfillment service accepts a fulfillment request.
    subscribe:
      operationId: subscribeFulfillmentOrdersFulfillmentRequestAccepted
      summary: Receive fulfillment_orders/fulfillment_request_accepted events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: fulfillment_orders/fulfillment_request_accepted
  fulfillment_orders/fulfillment_request_rejected:
    description: Triggered when a fulfillment service rejects a fulfillment request.
    subscribe:
      operationId: subscribeFulfillmentOrdersFulfillmentRequestRejected
      summary: Receive fulfillment_orders/fulfillment_request_rejected events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: fulfillment_orders/fulfillment_request_rejected
  fulfillment_orders/fulfillment_request_submitted:
    description: Triggered when a fulfillment request is submitted for a fulfillment order.
    subscribe:
      operationId: subscribeFulfillmentOrdersFulfillmentRequestSubmitted
      summary: Receive fulfillment_orders/fulfillment_request_submitted events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: fulfillment_orders/fulfillment_request_submitted
  fulfillment_orders/fulfillment_service_failed_to_complete:
    description: Triggered when a fulfillment service fails to complete a fulfillment order.
    subscribe:
      operationId: subscribeFulfillmentOrdersFulfillmentServiceFailedToComplete
      summary: Receive fulfillment_orders/fulfillment_service_failed_to_complete events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: fulfillment_orders/fulfillment_service_failed_to_complete
  fulfillment_orders/hold_released:
    description: Triggered when a hold is released on a fulfillment order.
    subscribe:
      operationId: subscribeFulfillmentOrdersHoldReleased
      summary: Receive fulfillment_orders/hold_released events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: fulfillment_orders/hold_released
  fulfillment_orders/line_items_prepared_for_local_delivery:
    description: Triggered when line items on a fulfillment order are prepared for local delivery.
    subscribe:
      operationId: subscribeFulfillmentOrdersLineItemsPreparedForLocalDelivery
      summary: Receive fulfillment_orders/line_items_prepared_for_local_delivery events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: fulfillment_orders/line_items_prepared_for_local_delivery
  fulfillment_orders/line_items_prepared_for_pickup:
    description: Triggered when line items on a fulfillment order are prepared for in-store pickup.
    subscribe:
      operationId: subscribeFulfillmentOrdersLineItemsPreparedForPickup
      summary: Receive fulfillment_orders/line_items_prepared_for_pickup events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: fulfillment_orders/line_items_prepared_for_pickup
  fulfillment_orders/manually_reported_progress_stopped:
    description: Triggered when manual progress reporting is stopped on a fulfillment order.
    subscribe:
      operationId: subscribeFulfillmentOrdersManuallyReportedProgressStopped
      summary: Receive fulfillment_orders/manually_reported_progress_stopped events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: fulfillment_orders/manually_reported_progress_stopped
  fulfillment_orders/merged:
    description: Triggered when fulfillment orders are merged.
    subscribe:
      operationId: subscribeFulfillmentOrdersMerged
      summary: Receive fulfillment_orders/merged events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: fulfillment_orders/merged
  fulfillment_orders/moved:
    description: Triggered when a fulfillment order is moved to a different location.
    subscribe:
      operationId: subscribeFulfillmentOrdersMoved
      summary: Receive fulfillment_orders/moved events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: fulfillment_orders/moved
  fulfillment_orders/order_routing_complete:
    description: Triggered when order routing has completed for a fulfillment order.
    subscribe:
      operationId: subscribeFulfillmentOrdersOrderRoutingComplete
      summary: Receive fulfillment_orders/order_routing_complete events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: fulfillment_orders/order_routing_complete
  fulfillment_orders/placed_on_hold:
    description: Triggered when a fulfillment order is placed on hold.
    subscribe:
      operationId: subscribeFulfillmentOrdersPlacedOnHold
      summary: Receive fulfillment_orders/placed_on_hold events.
      message:
        $ref: '#/components/messages/ShopifyWebhook'
        x-topic: fulfillment_orders/placed_on_hold
  fulfillment_orders/progress_reported:
    description: Triggered when progress is reported on a fulfillment order.
    subscribe:
      operationI

# --- truncated at 32 KB (72 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/shopify-admin/refs/heads/main/asyncapi/shopify-admin-webhooks-asyncapi.yml