• WooCommerce: 10.9.1
    • WordPress: 7.0
    • Webhook Topic: product.created
    • Delivery Method: HTTP POST
    • Receiver: n8n Webhook

    Issue – I have configured a WooCommerce webhook with the topic product.created.

    Whenever a new product is created, WooCommerce successfully triggers the webhook and sends an HTTP POST request to my endpoint.

    However, instead of receiving the product JSON payload, the request body always contains the following response:

    {
      "code": "rest_no_route",
      "message": "No route was found matching the URL and request method.",
      "data": {
        "status": 404
      }
    }
    

    The request headers are:

    User-Agent: WooCommerce/10.9.1 Hookshot (WordPress/7.0)
    X-WC-Webhook-Topic: product.created
    X-WC-Webhook-Resource: product
    X-WC-Webhook-Event: created
    

    The webhook endpoint receives:

    {
      "body": {
        "code": "rest_no_route",
        "message": "No route was found matching the URL and request method.",
        "data": {
          "status": 404
        }
      }
    }
    

    instead of the newly created product object.Expected Behavior

    The webhook body should contain the full product resource (or the standard WooCommerce webhook payload for a newly created product).Actual Behavior

    The webhook body contains a REST API error (rest_no_route).Additional Information

    • The webhook itself is delivered successfully.
    • The webhook endpoint returns HTTP 200.
    • This occurs every time a product is created.
    • I have confirmed the webhook topic is product.created.

    Could you advise what would cause WooCommerce to serialize a REST API error as the webhook payload instead of the product data?

    System Status Report

    ### WordPress Environment ###

    WordPress address (URL): [Redacted]
    Site address (URL): [Redacted]
    WC Version: 10.9.1
    Action Scheduler Version: ✔ 3.9.3
    Log Directory Writable: ✔
    WP Version: 7.0
    WP Multisite: –
    WP Memory Limit: 512 MB
    WP Debug Mode: –
    WP Cron: ✔
    WP Environment Type: production
    Language: en_GB
    External object cache: –

    ### Server Environment ###

    Server Info: Apache
    Server Architecture: Linux 6.8.0-124-generic x86_64
    PHP Version: 8.5.7
    PHP Post Max Size: 512 MB
    PHP Time Limit: 300
    PHP Max Input Vars: 1000
    cURL Version: 8.5.0
    OpenSSL/3.0.13

    SUHOSIN Installed: –
    MySQL Version: 10.11.14-MariaDB-0ubuntu0.24.04.1
    Max Upload Size: 512 MB
    Default Timezone is UTC: ✔
    fsockopen/cURL: ✔
    SoapClient: ✔
    DOMDocument: ✔
    GZip: ✔
    Multibyte String: ✔
    Remote Post: ✔
    Remote Get: ✔

    ### Database ###

    [REDACTED]

    ### Post Type Counts ###

    attachment: 214
    b2bking_custom_field: 10
    b2bking_custom_role: 3
    b2bking_group: 1
    custom_css: 1
    elementor_library: 34
    elementor_snippet: 1
    elementor-hf: 9
    fma_blocks: 3
    forminator_forms: 1
    liquory-breadcrumb: 1
    mailpoet_page: 2
    mc4wp-form: 1
    nav_menu_item: 103
    order_status: 2
    page: 16
    post: 2
    product: 66
    product_variation: 6
    revision: 755
    shop_coupon: 8
    shop_order_placehold: 28
    user_registration: 1
    viwec_template: 15
    vxc_zoho: 17
    wp_font_face: 33
    wp_font_family: 12
    wp_global_styles: 2
    wp_navigation: 1
    wpcf7_contact_form: 1
    wpcode: 1
    wpconsent_cookie: 27
    wpforms: 2
    yeepdf: 2
    zoho_flow_api_keys: 1
    zoho_flow_webhooks: 2

    ### Security ###

    Secure connection (HTTPS): ✔
    Hide errors from visitors: ✔

    ### Active Plugins (60) ###

    Advanced Google reCAPTCHA: by WebFactory Ltd – 5.39
    AIOSEO - Author SEO (E-E-A-T): by All in One SEO Team – 1.2.13
    AIOSEO - Image SEO: by All in One SEO Team – 1.2.5
    AIOSEO - IndexNow: by All in One SEO Team – 1.0.14
    AIOSEO - Local Business: by All in One SEO Team – 1.3.14
    FiboSearch - AJAX Search for WooCommerce: by FiboSearch Team – 1.33.0
    All in One SEO Pro: by All in One SEO Team – 4.9.9
    All in One SEO: by All in One SEO Team – 4.9.9
    All-in-One WP Migration and Backup: by ServMask – 7.106
    ALT Customize: by You – 1.0
    Angie: by Elementor.com – 1.1.10
    B2BKing Core: by WebWizards – 5.2.30
    B2BKing Pro: by WebWizards – 5.5.40
    Custom Order Status Manager for WooCommerce: by Bright Plugins – 2.0
    Classic Editor: by WordPress Contributors – 1.7.0
    Clearpay Gateway for WooCommerce: by Clearpay – 3.8.8
    Code Snippets: by Code Snippets Pro – 3.9.6
    Cookie Consent - GDPR & CCPA Cookie Banner & Consent Manager: by Elementor.com – 0.0.7
    Duplicator: by Duplicator – 1.5.16.1
    GTM4WP - A Google Tag Manager (GTM) plugin for WordPress: by Thomas Geiger – 1.22.3
    Dynamic AJAX Product Filters for WooCommerce: by Plugincy – 1.6.2
    Elementor Pro: by Elementor.com – 4.1.1
    Elementor: by Elementor.com – 4.1.4
    Email Template Customizer for WooCommerce: by VillaTheme – 1.3.2
    File Manager Advanced: by wpexpertsio – 5.4.12
    Google for WooCommerce: by WooCommerce – 3.7.1
    Site Kit by Google: by Google – 1.182.0
    Image Optimizer - Compress, Resize and Optimize Images: by Elementor.com – 1.7.5
    Imunify Security: by CloudLinux – 2.1.0
    WPCode Lite: by WPCode – 2.3.6
    Manage: by Elementor.com – 1.0.7
    PDF Invoice for WooCommerce + Drag and Drop Template Builder: by add-ons.org – 7.1.0
    Ally - Web Accessibility & Usability: by Elementor.com – 4.1.2
    Pro Mail SMTP: by turbosmtp – 1.7
    Regenerate Thumbnails: by Alex Mills (Viper007Bond) – 3.1.6
    Search & Filter - Elementor Extension: by Code Amp – 1.4.2
    Search & Filter Pro: by Code Amp – 3.1.8
    Search & Filter: by Code Amp – 1.2.18
    Uncanny Automator: by Uncanny Automator
    Uncanny Owl – 7.3.1.4

    UpdraftPlus - Backup/Restore: by TeamUpdraft
    DavidAnderson – 1.26.5

    WC Hide Shipping Methods: by WPExperts – 2.0.5
    Quantity Plus Minus Button for WooCommerce: by CodeAstrology Team – 2.0.9
    WPLoyalty - Launcher: by Wployalty – 1.0.2
    WooCommerce.com Update Manager: by Automattic – 1.0.3
    Variation Swatches for WooCommerce: by Emran Ahmed – 2.3.0
    WooCommerce All Products for Subscriptions: by WooCommerce – 6.1.0
    WooCommerce Stripe Gateway: by Stripe – 10.8.3
    WooPayments: by WooCommerce – 10.9.0
    WooCommerce Subscriptions: by WooCommerce – 8.7.1
    WooCommerce: by Automattic – 10.9.1
    WPLoyalty - WooCommerce Loyalty Points, Rewards and Referral Pro: by Wployalty – 1.4.3
    WP Webhooks: by Cozmoslabs – 3.4.2
    WPConsent: by WPConsent – 1.1.7
    WPForms Lite: by WPForms – 1.10.2.1
    WPLoyalty: by wployalty – 1.4.4
    Sequential Order Numbers for WooCommerce: by WebToffee – 1.7.9
    YITH WooCommerce Wishlist Premium: by YITH – 4.8.0
    Zoho Campaigns: by Zoho Campaigns – 2.1.7
    Zoho Flow: by Zoho Flow – 2.14.4
    Zoho Marketing Automation: by Zoho Marketing Automation – 1.3.6

    ### Inactive Plugins (6) ###

    AIOSEO - REST API: by All in One SEO Team – 1.0.9
    Brave Conversion Engine: by Brave – 0.8.5
    Broken Link Checker by AIOSEO: by All in One SEO Team – 1.3.0
    Buy Now or Subscribe and Save for WooCommerce Subscriptions: by AspiringPlugins – 2.6.0
    LiteSpeed Cache: by LiteSpeed Technologies – 7.8.1
    WriteText.ai: by 1902 Software – 4.5.1

    ### Dropin Plugins () ###

    maintenance.php: maintenance.php

    ### Settings ###

    Force SSL: –
    Currency: GBP (£)
    Currency Position: left
    Thousand Separator: ,
    Decimal Separator: .
    Number of Decimals: 2
    Taxonomies: Product Types: external (external)
    grouped (grouped)
    simple (simple)
    subscription (subscription)
    variable (variable)
    variable subscription (variable-subscription)
    woosb (woosb)

    Taxonomies: Product Visibility: exclude-from-catalog (exclude-from-catalog)
    exclude-from-search (exclude-from-search)
    featured (featured)
    outofstock (outofstock)
    rated-1 (rated-1)
    rated-2 (rated-2)
    rated-3 (rated-3)
    rated-4 (rated-4)
    rated-5 (rated-5)

    Connected to WooCommerce.com: ✔
    Enforce Approved Product Download Directories: ✔
    HPOS feature enabled: ✔
    Order datastore: Automattic\WooCommerce\Internal\DataStores\Orders\OrdersTableDataStore
    HPOS data sync enabled: –
    Enabled Features: analytics
    marketplace
    order_attribution
    site_visibility_badge
    remote_logging
    blueprint
    point_of_sale
    custom_order_tables


    ### Logging ###

    Enabled: ✔
    Handler: Automattic\WooCommerce\Internal\Admin\Logging\LogHandlerFileV2
    Retention period: 30 days
    Level threshold: –
    Log directory size: 32 MB

    ### WC Pages ###

    Shop base: #8675 - /shop/
    Basket: ❌ Page does not contain the [woocommerce_cart] shortcode or the woocommerce/cart block.
    Checkout: #8652 - /checkout/ - Contains the [woocommerce_checkout] shortcode
    My account: #9517 - /tastely-account/ - Contains the [woocommerce_my_account] shortcode
    Terms and conditions: #8640 - /terms-of-service/

    ### Theme ###

    Name: The7
    Version: 12.10.0
    Author URL: https://dream-theme.com/
    Child Theme: ❌ – If you are modifying WooCommerce on a parent theme that you did not build
    personally we recommend using a child theme. See: How to create a child theme

    Theme type: Classic theme
    WooCommerce Support: ✔

    ### Templates ###

    Override: wp-content/themes/dt-the7/woocommerce/cart/cart.php ❌ Version 10.1.0 is out of date. The core version is 10.8.0
    Override: wp-content/themes/dt-the7/woocommerce/cart/cross-sells.php
    Override: wp-content/plugins/elementor-pro/modules/woocommerce/wc-templates/cart/mini-cart.php ❌ Version header is missing. The core version is 10.0.0
    Override: wp-content/themes/dt-the7/woocommerce/checkout/form-billing.php
    Override: wp-content/themes/dt-the7/woocommerce/checkout/form-checkout.php
    Override: wp-content/themes/dt-the7/woocommerce/checkout/form-coupon.php
    Override: wp-content/themes/dt-the7/woocommerce/checkout/form-login.php
    Override: wp-content/themes/dt-the7/woocommerce/checkout/form-shipping.php
    Override: wp-content/themes/dt-the7/woocommerce/checkout/review-order.php
    Override: wp-content/themes/dt-the7/woocommerce/checkout/thankyou.php
    Override: wp-content/themes/dt-the7/woocommerce/content-product.php
    Override: wp-content/themes/dt-the7/woocommerce/content-widget-product.php
    Override: wp-content/themes/dt-the7/woocommerce/content-widget-reviews.php
    Override: wp-content/themes/dt-the7/woocommerce/global/breadcrumb.php
    Override: wp-content/themes/dt-the7/woocommerce/global/form-login.php
    Override: wp-content/themes/dt-the7/woocommerce/global/quantity-input.php
    Override: wp-content/themes/dt-the7/woocommerce/loop/loop-end.php
    Override: wp-content/themes/dt-the7/woocommerce/loop/loop-start.php
    Override: wp-content/themes/dt-the7/woocommerce/loop/pagination.php
    Override: wp-content/themes/dt-the7/woocommerce/myaccount/form-login.php
    Override: wp-content/themes/dt-the7/woocommerce/notices/error.php
    Override: wp-content/themes/dt-the7/woocommerce/notices/notice.php ❌ Version 10.2.0 is out of date. The core version is 10.4.0
    Override: wp-content/themes/dt-the7/woocommerce/notices/success.php
    Override: wp-content/themes/dt-the7/woocommerce/order/order-details-customer.php
    Override: wp-content/themes/dt-the7/woocommerce/order/order-details.php ❌ Version 10.1.0 is out of date. The core version is 10.9.0
    Override: wp-content/themes/dt-the7/woocommerce/single-product/meta.php
    Override: wp-content/themes/dt-the7/woocommerce/single-product/price.php
    Override: wp-content/themes/dt-the7/woocommerce/single-product/related.php ❌ Version 9.6.0 is out of date. The core version is 10.3.0
    Override: wp-content/themes/dt-the7/woocommerce/single-product/up-sells.php
    Override: wp-content/themes/dt-the7/woocommerce/content-product_cat.php

    ### WooPayments ###

    Version: 10.9.0
    Connected to WPCOM: Yes
    WPCOM Blog ID: 232558455
    Account ID: acct_1PBOXxCBCw5jBx0h
    Payment Gateway: Disabled
    Test Mode: Disabled
    Dev Mode: Disabled
    Enabled APMs: card,afterpay_clearpay,klarna
    WooPay: Not eligible
    Apple Pay / Google Pay: Disabled
    Fraud Protection Level: basic
    Multi-currency: Disabled
    Auth and Capture: Enabled
    Support Phone: +447770553341
    Documents: Enabled
    Logging: Disabled

    ### WooCommerce Stripe Payment Gateway ###

    Version: 10.8.3
    Account ID: acct_1PBNxRRuiGYAjLeK
    Test Mode Enabled: ✔
    No
    OAuth Connected: ✔
    Yes
    Sync Enabled: ✔
    Yes
    Optimized Checkout Enabled: ✔
    Yes
    Enabled Payment Methods: apple_pay,card,google_pay,link
    Express Checkout: ✔
    Enabled (product,cart,checkout,change_payment_method)
    Auth and Capture: ✔
    Yes
    Logging: ✔
    Yes

    ### Subscriptions ###

    WCS_DEBUG: ✔ No
    Subscriptions Mode: ✔ Live
    Subscriptions Live URL: https://tastely.co.uk
    Subscriptions-core Library Version: 8.3.0
    Subscription Statuses: –
    WooCommerce Account Connected: ✔ Yes
    Active Product Key: ❌ No
    Custom Retry Rules: ✔ No
    Custom Retry Rule Class: ✔ No
    Custom Raw Retry Rule: ✔ No
    Custom Retry Rule: ✔ No
    Retries Migration Status: ✔ Completed
    Report Cache Enabled: ✔ Yes
    Cache Update Failures: ✔ 0 failure

    ### Store Setup ###

    Country / State: United Kingdom (UK)

    ### Subscriptions by Payment Gateway ###


    ### Payment Gateway Support ###

    Stripe: products
    refunds
    tokenization
    add_payment_method
    subscriptions
    subscription_cancellation
    subscription_suspension
    subscription_reactivation
    subscription_amount_changes
    subscription_date_changes
    subscription_payment_method_change
    subscription_payment_method_change_customer
    subscription_payment_method_change_admin
    multiple_subscriptions

    Clearpay: products
    refunds

    Invoice Payment: products

    ### Subscriptions Gifting ###

    Gifted Subscriptions Count: 0

    ### Admin ###

    Enabled Features: activity-panels
    analytics
    analytics-scheduled-import
    product-block-editor
    experimental-iapi-mini-cart
    coupons
    core-profiler
    customize-store
    customer-effort-score-tracks
    import-products-task
    experimental-fashion-sample-products
    shipping-smart-defaults
    shipping-setting-tour
    homescreen
    marketing
    mobile-app-banner
    onboarding
    onboarding-tasks
    pattern-toolkit-full-composability
    product-custom-fields
    remote-inbox-notifications
    remote-free-extensions
    payment-gateway-suggestions
    printful
    shipping-label-banner
    subscriptions
    store-alerts
    transient-notices
    woo-mobile-welcome
    wc-pay-promotion
    wc-pay-welcome-page
    launch-your-store

    Disabled Features: product-data-views
    experimental-blocks
    coming-soon-newsletter-template
    minified-js
    products-catalog-api
    settings-ui
    async-product-editor-category-field
    use-wp-horizon
    rest-api-v4
    order-detail-redesign
    product-variations-classic-redesign

    Daily Cron: ❌ Not scheduled
    Options: ✔
    Notes: 174
    Onboarding: completed

    ### All Products for WooCommerce Subscriptions ###

    Template Overrides: –

    ### Action Scheduler ###

    Canceled: 50
    Oldest: 2026-06-03 21:41:03 +0000
    Newest: 2026-07-03 13:45:41 +0000

    Complete: 11,104
    Oldest: 2026-06-02 13:58:42 +0000
    Newest: 2026-07-03 13:51:54 +0000

    Failed: 15,955
    Oldest: 2024-04-23 10:18:58 +0000
    Newest: 2026-07-03 13:47:54 +0000

    Pending: 39
    Oldest: 2026-07-03 13:54:29 +0000
    Newest: 2026-07-18 07:39:08 +0000


    ### Status report information ###

    Generated at: 2026-07-03 13:53:09 +00:00
Viewing 1 replies (of 1 total)
  • Hi there! How are you creating the product? Via the admin UI or some other way? I’ve just created a product on a test site running the latest WooCommerce, and the webhook posted through fine for me, which suggests there might be something specific going on with your install that’s interrupting either the product creation process, or the underlying APIs.

    Are you in a position to try disabling other plugins just to see if they are interfering with things?

    The error that you’re getting (about a REST API) is coming from how the webhook system works internally — it technically executes similar code paths as what run the REST API. Sometimes other plugins can be throwing errors that will interrupt REST APIs, and also “bleed into” this sort of codepath.

    Another option might be to attempt to access product-related REST APIs and see if you’re getting specific errors there, but that will be a bit more involved.

Viewing 1 replies (of 1 total)

You must be logged in to reply to this topic.