PUT /admin/slide/layout/{id}

Updates an existing slide template by ID. Admin access required.

Path parameters

  • id string Required

    Unique identifier of the slide template to update

application/json

Body Required

  • id string Required

    Unique identifier for the slide template

  • name string Required

    Name of the slide template

  • layout string

    The layout of the slide

    Values are labeledList, list, mainImage, pyramid, tableOfContents, timeline, title, twoColumn, or twoColumnWithImage.

  • config object Required

    PartialTemplateConfig

    Additional properties are allowed.

  • graphics array[object]

    Optional decorative graphics

    GraphicElement

    GraphicElement

    Additional properties are allowed.

  • parameters array[object] | null

    Parameters for customizing the slide template

    Hide parameters attributes Show parameters attributes object
    • key string Required

      Variable name used in expressions

    • label string Required

      User-friendly name for UI

    • defaultValue number Required

      Default value if not overridden

    • min number

      Minimum allowed value

    • max number

      Maximum allowed value

    • step number

      Step increment for UI controls

    • description string

      Help text for users

  • createdAt string(date-time) Required

    Timestamp when the slide template was created

  • updatedAt string(date-time) Required

    Timestamp when the slide template was last updated

Responses

  • 200 application/json

    Slide template updated successfully

    Hide response attributes Show response attributes object
    • success boolean
    • code integer(int32)
    • message string
    • data object
      Hide data attributes Show data attributes object
      • id string Required

        Unique identifier for the slide template

      • name string Required

        Name of the slide template

      • layout string

        The layout of the slide

        Values are labeledList, list, mainImage, pyramid, tableOfContents, timeline, title, twoColumn, or twoColumnWithImage.

      • config object Required

        PartialTemplateConfig

        Additional properties are allowed.

      • graphics array[object]

        Optional decorative graphics

        GraphicElement

        GraphicElement

        Additional properties are allowed.

      • parameters array[object] | null

        Parameters for customizing the slide template

        Hide parameters attributes Show parameters attributes object
        • key string Required

          Variable name used in expressions

        • label string Required

          User-friendly name for UI

        • defaultValue number Required

          Default value if not overridden

        • min number

          Minimum allowed value

        • max number

          Maximum allowed value

        • step number

          Step increment for UI controls

        • description string

          Help text for users

      • createdAt string(date-time) Required

        Timestamp when the slide template was created

      • updatedAt string(date-time) Required

        Timestamp when the slide template was last updated

  • 400 application/json

    Bad Request - Invalid input data

  • 401 application/json

    Unauthorized - Invalid or missing token

  • 403 application/json

    Forbidden - Admin access required

  • 404 application/json

    Not Found - Slide template does not exist

  • 500 application/json

    Internal Server Error

PUT /admin/slide/layout/{id}
curl \
 --request PUT 'http://localhost:8080/api/admin/slide/layout/{id}' \
 --header "Authorization: Bearer $ACCESS_TOKEN" \
 --header "Content-Type: application/json" \
 --data '{"id":"template_12345","name":"Professional Business","layout":"labeledList","config":{},"graphics":[{}],"parameters":[{"key":"IMAGE_RATIO","label":"Image Ratio","defaultValue":16,"min":42.0,"max":42.0,"step":42.0,"description":"string"}],"createdAt":"2025-08-30T10:30:00Z","updatedAt":"2025-08-30T15:45:00Z"}'
Request examples
{
  "id": "template_12345",
  "name": "Professional Business",
  "layout": "labeledList",
  "config": {},
  "graphics": [
    {}
  ],
  "parameters": [
    {
      "key": "IMAGE_RATIO",
      "label": "Image Ratio",
      "defaultValue": 16,
      "min": 42.0,
      "max": 42.0,
      "step": 42.0,
      "description": "string"
    }
  ],
  "createdAt": "2025-08-30T10:30:00Z",
  "updatedAt": "2025-08-30T15:45:00Z"
}
Response examples (200)
{
  "success": true,
  "code": 200,
  "message": "string",
  "data": {
    "id": "template_12345",
    "name": "Professional Business",
    "layout": "labeledList",
    "config": {},
    "graphics": [
      {}
    ],
    "parameters": [
      {
        "key": "IMAGE_RATIO",
        "label": "Image Ratio",
        "defaultValue": 16,
        "min": 42.0,
        "max": 42.0,
        "step": 42.0,
        "description": "string"
      }
    ],
    "createdAt": "2025-08-30T10:30:00Z",
    "updatedAt": "2025-08-30T15:45:00Z"
  }
}