riddle_preview
Shows the user the current DRAFT of a Riddle as a playable preview - the Riddle as it looks right now, published or not. Call it after riddle_builder_create or riddle_builder_update whenever the user wants to see the result (right after riddle_publish the draft and the live version are identical, so it shows what is live); do not call it on every edit of a multi-step build, once at the end is enough. In a client that renders UI this tool draws the preview widget (playable Riddle, a publish button, a link into the Creator); in any other client use the returned "previewUrl" - it works anonymously and serves the draft for "previewExpiresInSeconds" seconds, after which calling this tool again renews it. Changes nothing about the Riddle. Whether it is live and where: "isPublished", "viewUrl" (null until published - reference_get(topics: ["riddle://reference/concepts/publish"]) explains the draft/live split).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| UUID | Yes | The UUID of the Riddle to preview |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| UUID | Yes | The UUID of the previewed Riddle. | |
| type | Yes | The Riddle type (Quiz, Poll, ...). | |
| title | Yes | The draft title of the Riddle. | |
| viewUrl | Yes | The public URL of the published Riddle, null while it is not reachable there (not published, or its landing page is disabled). | |
| creatorUrl | Yes | The Riddle opened for editing in the Riddle Creator (requires the user to be logged in there). | |
| previewUrl | Yes | Anonymous URL that serves the DRAFT as a playable Riddle for previewExpiresInSeconds seconds. Not a link to share - it expires. | |
| isPublished | Yes | Whether the Riddle is currently live. | |
| hasUnpublishedChanges | Yes | Whether the draft differs from what visitors currently get. Always true for a Riddle that was never published. | |
| previewExpiresInSeconds | Yes | How long previewUrl serves the draft from now. Call riddle_preview again to renew. |