Update a product tour
Only the fields you send are changed. steps and targeting replace their stored values wholesale — fetch the tour first and send the full array back, preserving step ids. settings are merged. Live tours can be edited, but an update that would leave a live tour unpublishable (no steps or no targeting) returns 400; set active: false first to take it down.
Authorization
BearerAuth Use an API key from the Produktly dashboard → Settings → API keys.
In: header
Path Parameters
0 < valueRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PATCH "https://example.com/product-tours/1" \ -H "Content-Type: application/json" \ -d '{ "name": "Onboarding tour (rewritten)", "active": false }'{ "id": 0, "name": "string", "active": true, "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "folderId": 0, "themeId": 0, "steps": [ { "type": "highlight", "id": "string" } ], "settings": { "tourStart": "minified", "startDelay": 0, "trigger": "once", "saveProgress": true, "hideBeacon": true, "beaconPosition": "bottom-right", "multiPageEnabled": true, "timeout": 1, "allowClosingTour": true, "closeOnOutsideClick": true, "themeColor": "string", "textColor": "string", "nextBtnText": "string", "backBtnText": "string", "finishBtnText": "string", "startTourBtnText": "string", "continueTourBtnText": "string", "filterType": "string" }, "rules": [ { "type": "string", "comparisonOperator": "string", "value": null, "userSegmentId": 0 } ], "ruleLogicalOperator": "string", "dashboardUrl": "string", "note": "string"}