CartLane operates natively on the WordPress REST API, enabling headless WooCommerce setups and custom frontend integrations. All endpoints are prefixed with /wp-json/cartlane/v1.
Free Endpoints
GET/cartlane/v1/cart
Retrieves the current WooCommerce cart payload, totals, coupons, side cart state, and available CartLane cart context.
POST/cartlane/v1/cart/update-item
Updates the quantity for an existing cart line item.
POST/cartlane/v1/cart/remove-item
Removes an item from the current cart.
POST/cartlane/v1/cart/apply-coupon
Applies a WooCommerce coupon through the CartLane cart workflow.
POST/cartlane/v1/cart/add-bump
Adds an eligible order bump offer to the current WooCommerce cart.
GET/cartlane/v1/settings
Reads CartLane admin settings for authorized admin users.
POST/cartlane/v1/settings
Saves CartLane admin settings after nonce and capability checks.
GET/cartlane/v1/features
Returns the Free/Pro feature access map used by the admin interface.
GET/cartlane/v1/products/search
Searches WooCommerce products for CartLane selectors such as order bump product pickers.
GET/cartlane/v1/bumps
Lists saved Order Bump offers for the admin workspace.
POST/cartlane/v1/bumps
Creates an Order Bump offer after admin permission checks.
GET/cartlane/v1/bumps/{id}
Reads one Order Bump offer, including enriched product details where available.
PUT/cartlane/v1/bumps/{id}
Updates an existing Order Bump offer.
DELETE/cartlane/v1/bumps/{id}
Deletes an Order Bump offer.
GET/cartlane/v1/analytics/overview
Returns dashboard analytics overview metrics for the selected range.
GET/cartlane/v1/analytics/revenue
Returns revenue chart rows for CartLane analytics.
GET/cartlane/v1/analytics/events
Returns recent or paginated analytics events depending on query mode.
GET/cartlane/v1/analytics/events/{id}/context
Returns Event Intelligence context for one retained analytics event.
GET/cartlane/v1/abandoned
Lists abandoned cart records for the recovery workspace.
GET/cartlane/v1/abandoned/{id}
Reads one abandoned cart recovery record.
POST/cartlane/v1/abandoned/test-email
Sends a recovery test email from the admin workflow.
POST/cartlane/v1/abandoned/preview-email
Previews the recovery email payload before sending.
POST/cartlane/v1/abandoned/{id}/resend
Resends a recovery message where the record is eligible.
GET/cartlane/v1/integrations
Returns Free integration compatibility state or Pro integration settings when available.
Pro Endpoints
GET/cartlane/v1/pro/license
Reads CartLane Pro license and entitlement state for authorized admins.
POST/cartlane/v1/pro/license
Activates CartLane Pro using a license key or Envato purchase code.
DELETE/cartlane/v1/pro/license
Deactivates the CartLane Pro license for this installation.
POST/cartlane/v1/pro/license/refresh
Refreshes signed entitlement and update state.
GET/cartlane/v1/funnels
Lists Pro funnels with pagination and status filters.
POST/cartlane/v1/funnels
Creates a Pro funnel draft.
GET/cartlane/v1/funnels/{id}
Reads one Pro funnel and its serialized builder graph.
PUT/cartlane/v1/funnels/{id}
Updates a Pro funnel status or builder graph.
DELETE/cartlane/v1/funnels/{id}
Deletes a Pro funnel.
POST/cartlane/v1/funnels/{id}/duplicate
Duplicates an existing Pro funnel.
GET/cartlane/v1/upsells
Lists Pro post-purchase upsell offers.
POST/cartlane/v1/upsells
Creates a Pro upsell offer.
GET/PUT/DELETE/cartlane/v1/upsells/{id}
Reads, updates, or deletes a Pro upsell offer.
POST/cartlane/v1/upsells/{id}/duplicate
Duplicates a Pro upsell offer.
POST/cartlane/v1/upsells/{id}/archive
Archives a Pro upsell offer.
GET/cartlane/v1/upsells/analytics
Returns Pro upsell analytics summary metrics.
GET/cartlane/v1/upsells/reports/funnels
Returns upsell funnel report data.
POST/cartlane/v1/upsells/preview
Previews a Pro upsell offer payload.
GET/cartlane/v1/upsell/session/{session_key}
Reads a storefront upsell session.
POST/cartlane/v1/upsell/accept
Accepts a valid upsell session offer.
POST/cartlane/v1/upsell/decline
Declines a valid upsell session offer.
GET/cartlane/v1/ab-tests
Lists Pro A/B tests.
POST/cartlane/v1/ab-tests
Creates a Pro A/B test.
PUT/cartlane/v1/ab-tests/{id}
Updates a Pro A/B test.
DELETE/cartlane/v1/ab-tests/{id}
Deletes a Pro A/B test.
GET/cartlane/v1/ab-tests/testable-elements
Returns supported targets for Pro A/B tests.
PUT/cartlane/v1/ab-tests/{id}/winner
Declares the winner for a Pro A/B test.
GET/cartlane/v1/pricing/rules
Lists Pro dynamic pricing rules.
POST/cartlane/v1/pricing/rules
Creates a Pro dynamic pricing rule.
GET/PUT/DELETE/cartlane/v1/pricing/rules/{id}
Reads, updates, or deletes a Pro dynamic pricing rule.
POST/cartlane/v1/pricing/rules/{id}/duplicate
Duplicates a Pro dynamic pricing rule.
POST/cartlane/v1/pricing/rules/{id}/archive
Archives a Pro dynamic pricing rule.
GET/cartlane/v1/recommendations
Lists Pro Smart Offer recommendation campaigns.
POST/cartlane/v1/recommendations
Creates a Pro Smart Offer campaign.
GET/cartlane/v1/recommendations/preview
Previews a Pro Smart Offer campaign match.
GET/cartlane/v1/recommendations/analytics
Returns Pro Smart Offer analytics.
GET/PUT/cartlane/v1/recommendations/{id}
Reads or updates a Pro Smart Offer campaign.
POST/cartlane/v1/recommendations/{id}/duplicate
Duplicates a Pro Smart Offer campaign.
POST/cartlane/v1/recommendations/{id}/archive
Archives a Pro Smart Offer campaign.
POST/cartlane/v1/integrations
Saves Pro integration credentials and provider configuration.
POST/cartlane/v1/integrations/{gateway}/test
Runs a Pro gateway configuration test.
GET/cartlane/v1/integrations/adapters/readiness
Lists Pro gateway adapter readiness state.
GET/cartlane/v1/integrations/adapters/readiness/order/{order_id}
Checks Pro adapter readiness for a specific WooCommerce order.
GET/cartlane/v1/pro/search/pages
Searches WordPress pages for Pro funnel and placement selectors.
GET/cartlane/v1/pro/search/products
Searches WooCommerce products for Pro selectors.
Authentication (Nonce)
For logged-in users or sessions managed by WooCommerce, include the WordPress nonce in the headers of your requests.
fetch( '/wp-json/cartlane/v1/cart/update-item', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-WP-Nonce': cartlane_data.nonce
},
body: JSON.stringify( { cart_item_key: 'abc123', quantity: 2 } )
} )
.then( res => res.json() )
.then( data => console.log( data ) );