Developers
REST API
lcpt/v1 routes for Tour Studio, public tour configs, progress, and brand defaults.
Namespace: lcpt/v1
Tours (authenticated)
GET /wp-json/lcpt/v1/tours/{id}
Requires edit_post on the tour. Returns title, status, steps, brand, process, targeting, and siteBrand.
POST /wp-json/lcpt/v1/tours/{id}
Same capability. JSON body may include steps, brand, process, targeting. Process updates also sync _lcpt_version.
Public tour config
GET /wp-json/lcpt/v1/public-tours/{id}
Public. Returns the published tour config used by LCProductTour.start(id) when the tour is not already localized on the page.
Brand defaults
GET|POST /wp-json/lcpt/v1/brand-defaults
Requires manage_options. Reads or updates lcpt_brand_defaults.
Progress
POST /wp-json/lcpt/v1/progress
Public endpoint. Body fields: tourId, version, status (completed | dismissed).
- Logged-in users: saved to user meta
lcpt_progress - Guests:
{ saved: false, storage: "local" }— client keepslocalStorage
Content targets
GET /wp-json/lcpt/v1/content-targets
Requires edit_posts. Returns published pages and posts for the targeting dropdown.
Post type and meta
| Key | Purpose |
|---|---|
| CPT | lcpt_tour |
_lcpt_steps | Step array |
_lcpt_brand | Brand overrides |
_lcpt_process | Process controls |
_lcpt_targeting | Targeting rules |
_lcpt_version | Synced from process.version |
Filters (PHP)
lcpt_is_pro— free plugin returns false; Pro add-on enables Pro featureslcpt_frontend_tour_config— Pro enriches config (triggers, multi-page flags)lcpt_pro_license_active— license unlock filter in Pro