PATCH /v1/platform/slides/:id
Updates a generated slide deck using the Platform API key and the slide request
id returned by Create Slide. Use this endpoint when your
backend or agent needs to update the deck without relying on an editToken.
If content is supplied, the server uploads it to platform-scoped S3 storage
and increments contentVersion.
Example Request
curl -X PATCH https://api.tutorflow.io/v1/platform/slides/{id} \
-H "Authorization: Bearer tf_platform_..." \
-H "Content-Type: application/json" \
-d '{
"title": "Mediterranean Diet Overview",
"description": "Updated 8-slide deck.",
"outline": "1. Overview\n2. Foods\n3. Benefits",
"theme": "modern-blue",
"content": "<slide><h1>Mediterranean Diet</h1></slide>",
"thumbnail": "<div>Preview HTML</div>",
"visibility": "PRIVATE",
"metadata": { "theme": "modern-blue", "slideCount": 8 }
}'Body
| Field | Type | Description |
|---|---|---|
title | string | Slide deck title |
description | string | Slide deck description |
outline | string | Plain-text or markdown outline |
theme | string | Visual theme name. Stored under metadata when supplied. |
content | string | Serialized slide content. Uploads to S3 and bumps contentVersion. |
thumbnail | string | Thumbnail HTML snippet |
visibility | string | PUBLIC or PRIVATE |
metadata | object | Free-form metadata. Replaces existing metadata when supplied. |
Response
Returns SlideEditResDto, including resolved content fetched from S3:
{
"slideRequestId": "61f1b111-0df3-4de3-a83f-d4b10304949d",
"platformSlideId": "669b977b-0007-40b9-8339-2b4e1d8e7c8e",
"title": "Mediterranean Diet Overview",
"description": "Updated 8-slide deck.",
"outline": "1. Overview\n2. Foods\n3. Benefits",
"contentKey": "platform/{workspaceId}/slides/{slideId}/content-v2.html",
"content": "<slide><h1>Mediterranean Diet</h1></slide>",
"contentVersion": 2,
"thumbnail": "<div>Preview HTML</div>",
"visibility": "PRIVATE",
"slug": "mediterranean-diet-overview-1602dc2c",
"metadata": { "theme": "modern-blue", "slideCount": 8 },
"editToken": "187d1d98e7cfe5190da4e2cc24bbf65d",
"editTokenExpiresAt": "2026-04-25T14:14:40.890Z",
"shareToken": "fda025e5ea364bf30ea46671582d6859"
}Edit-Token Alternative
If you only have an editToken, use:
PATCH /v1/platform/slides/edit/:editTokenThe request body is the same.