Creates a new presentation with a default structure.
POST
/presentations
curl \
--request POST 'http://localhost:8080/api/presentations' \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header "Content-Type: application/json" \
--data '{"title":"My First Presentation","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
{
"title": "My First Presentation",
"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 (200)
{
"success": true,
"code": 200,
"message": "string",
"data": {
"id": "12345",
"title": "My Awesome Presentation",
"createdAt": "2025-08-30T10:30:00Z",
"updatedAt": "2025-08-30T15:45:00Z",
"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 (500)
{
"success": false,
"code": 42,
"errorCode": "string",
"message": "string",
"timestamp": "2025-05-04T09:42:00Z"
}