Update Slide

Update slide deck metadata and content using a Platform API key.

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

FieldTypeDescription
titlestringSlide deck title
descriptionstringSlide deck description
outlinestringPlain-text or markdown outline
themestringVisual theme name. Stored under metadata when supplied.
contentstringSerialized slide content. Uploads to S3 and bumps contentVersion.
thumbnailstringThumbnail HTML snippet
visibilitystringPUBLIC or PRIVATE
metadataobjectFree-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/:editToken

The request body is the same.