Upsert the complete set of slides for a presentation (replace existing slides with the provided list).
PUT
/presentations/{id}/slides
curl \
--request PUT 'http://localhost:8080/api/presentations/{id}/slides' \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header "Content-Type: application/json" \
--header "idempotency-key: string" \
--data '{"slides":[{"id":"string","elements":[{"type":"string","id":"string","left":42.0,"top":42.0,"width":42.0,"height":42.0,"viewBox":[42],"path":"string","fill":"string","fixedRatio":true,"opacity":42.0,"rotate":42,"flipV":true,"lineHeight":42.0,"content":"string","defaultFontName":"string","defaultColor":"string","start":[42],"end":[42],"points":["string"],"color":"string","style":"string","wordSpace":42}],"background":{"type":"string","color":"string"}}]}'
Request examples
# Headers
idempotency-key: string
# Payload
{
"slides": [
{
"id": "string",
"elements": [
{
"type": "string",
"id": "string",
"left": 42.0,
"top": 42.0,
"width": 42.0,
"height": 42.0,
"viewBox": [
42
],
"path": "string",
"fill": "string",
"fixedRatio": true,
"opacity": 42.0,
"rotate": 42,
"flipV": true,
"lineHeight": 42.0,
"content": "string",
"defaultFontName": "string",
"defaultColor": "string",
"start": [
42
],
"end": [
42
],
"points": [
"string"
],
"color": "string",
"style": "string",
"wordSpace": 42
}
],
"background": {
"type": "string",
"color": "string"
}
}
]
}
Response examples (400)
{
"success": false,
"code": 400,
"errorCode": "INVALID_PRESENTATION_DATA",
"message": "Invalid presentation data",
"timestamp": "2025-05-04T09:42:00Z"
}
Response examples (404)
{
"success": false,
"code": 42,
"errorCode": "string",
"message": "string",
"timestamp": "2025-05-04T09:42:00Z"
}
Response examples (500)
{
"success": false,
"code": 500,
"errorCode": "INTERNAL_SERVER_ERROR",
"message": "Failed to update presentation",
"timestamp": "2025-05-04T09:42:00Z"
}