{
  "openapi": "3.1.0",
  "info": {
    "title": "Presenton Cloud API",
    "version": "v0.9.3-beta",
    "description": "Supported public API for managed Presenton Cloud integrations."
  },
  "paths": {
    "/api/v3/files/upload": {
      "post": {
        "tags": [
          "V3 Files"
        ],
        "summary": "Upload source files",
        "description": "Upload documents or other supported source files and return identifiers that can be used in Cloud generation requests.\n\n[Read the files and content guide](/user-guide/api-and-automation/files-and-content).",
        "operationId": "upload_files_v1_api_v3_files_upload_post",
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/Body_upload_files_v1_api_v3_files_upload_post"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "title": "Response Upload Files V1 Api V3 Files Upload Post"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "externalDocs": {
          "description": "Read the files and content guide",
          "url": "/user-guide/api-and-automation/files-and-content"
        },
        "security": [
          {
            "BearerAuth": []
          }
        ]
      }
    },
    "/api/v3/images/uploaded": {
      "get": {
        "tags": [
          "V3 Images"
        ],
        "summary": "List uploaded images",
        "description": "List images uploaded to the authenticated Cloud account.\n\n[Read the files and content guide](/user-guide/api-and-automation/files-and-content).",
        "operationId": "get_uploaded_images_v1_api_v3_images_uploaded_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "externalDocs": {
          "description": "Read the files and content guide",
          "url": "/user-guide/api-and-automation/files-and-content"
        },
        "security": [
          {
            "BearerAuth": []
          }
        ]
      }
    },
    "/api/v3/images/upload": {
      "post": {
        "tags": [
          "V3 Images"
        ],
        "summary": "Upload an image",
        "description": "Upload an image and return the identifier used by presentation workflows.\n\n[Read the files and content guide](/user-guide/api-and-automation/files-and-content).",
        "operationId": "upload_image_v1_api_v3_images_upload_post",
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/Body_upload_image_v1_api_v3_images_upload_post"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ImageAsset"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "externalDocs": {
          "description": "Read the files and content guide",
          "url": "/user-guide/api-and-automation/files-and-content"
        },
        "security": [
          {
            "BearerAuth": []
          }
        ]
      }
    },
    "/api/v3/images/{id}": {
      "delete": {
        "tags": [
          "V3 Images"
        ],
        "summary": "Delete an uploaded image",
        "description": "Delete one uploaded image owned by the authenticated Cloud account.\n\n[Read the files and content guide](/user-guide/api-and-automation/files-and-content).",
        "operationId": "delete_uploaded_image_by_id_v1_api_v3_images__id__delete",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "externalDocs": {
          "description": "Read the files and content guide",
          "url": "/user-guide/api-and-automation/files-and-content"
        },
        "security": [
          {
            "BearerAuth": []
          }
        ]
      }
    },
    "/api/v3/standard-template/all": {
      "get": {
        "tags": [
          "V3 Standard Template"
        ],
        "summary": "List standard templates",
        "operationId": "standard_template_list",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1,
              "title": "Page"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "default": 20,
              "title": "Page Size"
            }
          },
          {
            "name": "default",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Only include default templates when true, custom templates when false.",
              "title": "Default"
            },
            "description": "Only include default templates when true, custom templates when false."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TemplateListResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "description": "List standard templates available to the authenticated Cloud account.\n\n[Read the presentation workflow guide](/api-guides/presentation-generation-flows).",
        "externalDocs": {
          "description": "Read the presentation workflow guide",
          "url": "/api-guides/presentation-generation-flows"
        },
        "security": [
          {
            "BearerAuth": []
          }
        ]
      }
    },
    "/api/v3/standard-template/{template_id}": {
      "get": {
        "tags": [
          "V3 Standard Template"
        ],
        "summary": "Get a standard template",
        "operationId": "standard_template_get",
        "parameters": [
          {
            "name": "template_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Template Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TemplateDetailResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "description": "Return metadata for one standard template.\n\n[Read the presentation workflow guide](/api-guides/presentation-generation-flows).",
        "externalDocs": {
          "description": "Read the presentation workflow guide",
          "url": "/api-guides/presentation-generation-flows"
        },
        "security": [
          {
            "BearerAuth": []
          }
        ]
      }
    },
    "/api/v3/standard-template/{template_id}/example": {
      "get": {
        "tags": [
          "V3 Standard Template"
        ],
        "summary": "Get a template example",
        "operationId": "get_standard_template_example_api_v3_standard_template__template_id__example_get",
        "parameters": [
          {
            "name": "template_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Template Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TemplateExampleV3"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "description": "Return the example presentation associated with a standard template.\n\n[Read the presentation workflow guide](/api-guides/presentation-generation-flows).",
        "externalDocs": {
          "description": "Read the presentation workflow guide",
          "url": "/api-guides/presentation-generation-flows"
        },
        "security": [
          {
            "BearerAuth": []
          }
        ]
      }
    },
    "/api/v3/smart-design/all": {
      "get": {
        "tags": [
          "V3 Smart Design"
        ],
        "summary": "List Smart Designs",
        "description": "List Smart Designs available for Cloud presentation generation.\n\n[Read the presentation workflow guide](/api-guides/presentation-generation-flows).",
        "operationId": "get_all_smart_designs_api_v3_smart_design_all_get",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 1,
              "title": "Page"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 10,
              "title": "Page Size"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "externalDocs": {
          "description": "Read the presentation workflow guide",
          "url": "/api-guides/presentation-generation-flows"
        },
        "security": [
          {
            "BearerAuth": []
          }
        ]
      }
    },
    "/api/v3/async-task/status/{id}": {
      "get": {
        "tags": [
          "V3 Async Task"
        ],
        "summary": "Get task status",
        "description": "Return the current state and result or error data for an asynchronous Cloud task.\n\n[Read the async and webhooks guide](/user-guide/api-and-automation/async-and-webhooks).",
        "operationId": "get_async_task_status_api_v3_async_task_status__id__get",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "ID of the async task",
              "title": "Id"
            },
            "description": "ID of the async task"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncTaskModel"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "externalDocs": {
          "description": "Read the async and webhooks guide",
          "url": "/user-guide/api-and-automation/async-and-webhooks"
        },
        "security": [
          {
            "BearerAuth": []
          }
        ]
      }
    },
    "/api/v3/presentation/all": {
      "get": {
        "tags": [
          "V3 Presentation"
        ],
        "summary": "List presentations",
        "description": "List presentations owned by the authenticated Cloud account.\n\n[Read the presentation workflow guide](/api-guides/presentation-generation-flows).",
        "operationId": "get_all_user_presentations_for_ui_api_v3_presentation_all_get",
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "standard",
                    "smart"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter presentations by type",
              "title": "Type"
            },
            "description": "Filter presentations by type"
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 1,
              "title": "Page"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 10,
              "title": "Page Size"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "externalDocs": {
          "description": "Read the presentation workflow guide",
          "url": "/api-guides/presentation-generation-flows"
        },
        "security": [
          {
            "BearerAuth": []
          }
        ]
      }
    },
    "/api/v3/presentation/outlines/generate": {
      "post": {
        "tags": [
          "V3 Presentation"
        ],
        "summary": "Generate an outline",
        "operationId": "generate_outlines_sync_v1_api_v3_presentation_outlines_generate_post",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenerateOutlinesRequest"
              },
              "example": {
                "content": "A concise introduction to renewable energy",
                "n_slides": 6,
                "language": "English",
                "export_as": "pptx",
                "include_title_slide": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "title": "Response Generate Outlines Sync V1 Api V3 Presentation Outlines Generate Post"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "description": "Generate a presentation outline without creating the final deck.\n\n[Read the presentation workflow guide](/api-guides/presentation-generation-flows).",
        "externalDocs": {
          "description": "Read the presentation workflow guide",
          "url": "/api-guides/presentation-generation-flows"
        },
        "security": [
          {
            "BearerAuth": []
          }
        ]
      }
    },
    "/api/v3/presentation/generate": {
      "post": {
        "tags": [
          "V3 Presentation"
        ],
        "summary": "Generate a presentation synchronously",
        "description": "Create and export a Cloud presentation before returning the final presentation paths.\n\n[Read the presentation workflow guide](/api-guides/presentation-generation-flows).",
        "operationId": "generate_presentation_sync_v3_api_v3_presentation_generate_post",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GeneratePresentationRequestV3"
              },
              "example": {
                "content": "A concise introduction to renewable energy",
                "n_slides": 6,
                "language": "English",
                "export_as": "pptx",
                "include_title_slide": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PresentationPathAndEditPath"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "externalDocs": {
          "description": "Read the presentation workflow guide",
          "url": "/api-guides/presentation-generation-flows"
        },
        "security": [
          {
            "BearerAuth": []
          }
        ]
      }
    },
    "/api/v3/presentation/generate/async": {
      "post": {
        "tags": [
          "V3 Presentation"
        ],
        "summary": "Generate a presentation asynchronously",
        "description": "Create a background Cloud generation task and return immediately with its task identifier.\n\n[Read the presentation workflow guide](/api-guides/presentation-generation-flows).",
        "operationId": "generate_presentation_async_v3_api_v3_presentation_generate_async_post",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GeneratePresentationRequestV3"
              },
              "example": {
                "content": "A concise introduction to renewable energy",
                "n_slides": 6,
                "language": "English",
                "export_as": "pptx",
                "include_title_slide": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncTaskModel"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "externalDocs": {
          "description": "Read the presentation workflow guide",
          "url": "/api-guides/presentation-generation-flows"
        },
        "security": [
          {
            "BearerAuth": []
          }
        ]
      }
    },
    "/api/v3/presentation/from-json": {
      "post": {
        "tags": [
          "V3 Presentation"
        ],
        "summary": "Create from JSON synchronously",
        "description": "Create and export a presentation from structured slide content before returning.\n\n[Read the presentation workflow guide](/api-guides/presentation-generation-flows).",
        "operationId": "create_presentation_from_json_sync_v3_api_v3_presentation_from_json_post",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePresentationFromJsonRequestV3"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PresentationPathAndEditPath"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "externalDocs": {
          "description": "Read the presentation workflow guide",
          "url": "/api-guides/presentation-generation-flows"
        },
        "security": [
          {
            "BearerAuth": []
          }
        ]
      }
    },
    "/api/v3/presentation/from-json/async": {
      "post": {
        "tags": [
          "V3 Presentation"
        ],
        "summary": "Create from JSON asynchronously",
        "description": "Create a background task that builds a presentation from structured slide content.\n\n[Read the presentation workflow guide](/api-guides/presentation-generation-flows).",
        "operationId": "create_presentation_from_json_async_v3_api_v3_presentation_from_json_async_post",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePresentationFromJsonRequestV3"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncTaskModel"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "externalDocs": {
          "description": "Read the presentation workflow guide",
          "url": "/api-guides/presentation-generation-flows"
        },
        "security": [
          {
            "BearerAuth": []
          }
        ]
      }
    },
    "/api/v3/presentation/export": {
      "post": {
        "tags": [
          "V3 Presentation"
        ],
        "summary": "Export a presentation",
        "description": "Export an existing Cloud presentation in a supported output format.\n\n[Read the presentation workflow guide](/api-guides/presentation-generation-flows).",
        "operationId": "export_presentation_as_pptx_or_pdf_v3_api_v3_presentation_export_post",
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Presentation token",
              "title": "Token"
            },
            "description": "Presentation token"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Body_export_presentation_as_pptx_or_pdf_v3_api_v3_presentation_export_post"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PresentationPathAndEditPath"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "externalDocs": {
          "description": "Read the presentation workflow guide",
          "url": "/api-guides/presentation-generation-flows"
        },
        "security": [
          {
            "BearerAuth": []
          }
        ]
      }
    },
    "/api/v3/presentation/integrate": {
      "post": {
        "tags": [
          "V3 Presentation"
        ],
        "summary": "Create a presentation integration token",
        "operationId": "create_presentation_token_api_v3_presentation_integrate_post",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePresentationTokenRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreatePresentationTokenResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "description": "Create a temporary, scoped URL for embedding an existing Cloud presentation in an iframe.\n\n[Read the iframe integration guide](/user-guide/managing-presentations/embed-presentation-preview).",
        "externalDocs": {
          "description": "Read the iframe integration guide",
          "url": "/user-guide/managing-presentations/embed-presentation-preview"
        },
        "security": [
          {
            "BearerAuth": []
          }
        ]
      }
    },
    "/api/v3/webhook/all": {
      "get": {
        "tags": [
          "V3 Webhook"
        ],
        "summary": "List webhook subscriptions",
        "description": "List webhook subscriptions owned by the authenticated Cloud account.\n\n[Read the async and webhooks guide](/user-guide/api-and-automation/async-and-webhooks).",
        "operationId": "get_all_webhook_subscriptions_v3_api_v3_webhook_all_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SubscribeToWebhookResponseV1"
                  },
                  "title": "Response Get All Webhook Subscriptions V3 Api V3 Webhook All Get"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "externalDocs": {
          "description": "Read the async and webhooks guide",
          "url": "/user-guide/api-and-automation/async-and-webhooks"
        },
        "security": [
          {
            "BearerAuth": []
          }
        ]
      }
    },
    "/api/v3/webhook/subscribe": {
      "post": {
        "tags": [
          "V3 Webhook"
        ],
        "summary": "Subscribe a webhook",
        "description": "Subscribe an HTTPS endpoint to supported Presenton events.\n\n[Read the async and webhooks guide](/user-guide/api-and-automation/async-and-webhooks).",
        "operationId": "subscribe_to_webhook_v1_api_v3_webhook_subscribe_post",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubscribeToWebhookRequestV1"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubscribeToWebhookResponseV1"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "externalDocs": {
          "description": "Read the async and webhooks guide",
          "url": "/user-guide/api-and-automation/async-and-webhooks"
        },
        "security": [
          {
            "BearerAuth": []
          }
        ]
      }
    },
    "/api/v3/webhook/unsubscribe": {
      "delete": {
        "tags": [
          "V3 Webhook"
        ],
        "summary": "Unsubscribe a webhook",
        "description": "Remove one webhook subscription.\n\n[Read the async and webhooks guide](/user-guide/api-and-automation/async-and-webhooks).",
        "operationId": "unsubscribe_to_webhook_v1_api_v3_webhook_unsubscribe_delete",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Body_unsubscribe_to_webhook_v1_api_v3_webhook_unsubscribe_delete"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "externalDocs": {
          "description": "Read the async and webhooks guide",
          "url": "/user-guide/api-and-automation/async-and-webhooks"
        },
        "security": [
          {
            "BearerAuth": []
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "AsyncTaskModel": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "user": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "User"
          },
          "type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Type"
          },
          "status": {
            "$ref": "#/components/schemas/AsyncTaskStatus",
            "default": "pending"
          },
          "message": {
            "type": "string",
            "title": "Message"
          },
          "data": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Data"
          },
          "error": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
          }
        },
        "type": "object",
        "required": [
          "message",
          "created_at",
          "updated_at"
        ],
        "title": "AsyncTaskModel"
      },
      "AsyncTaskStatus": {
        "type": "string",
        "enum": [
          "pending",
          "completed",
          "error"
        ],
        "title": "AsyncTaskStatus"
      },
      "Body_export_presentation_as_pptx_or_pdf_v3_api_v3_presentation_export_post": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "Presentation ID to export"
          },
          "export_as": {
            "type": "string",
            "enum": [
              "pptx",
              "pdf",
              "png"
            ],
            "title": "Export As",
            "description": "Format to export the presentation as"
          }
        },
        "type": "object",
        "required": [
          "id",
          "export_as"
        ],
        "title": "Body_export_presentation_as_pptx_or_pdf_v3_api_v3_presentation_export_post"
      },
      "Body_unsubscribe_to_webhook_v1_api_v3_webhook_unsubscribe_delete": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id",
            "description": "The ID of the webhook subscription to unsubscribe from"
          }
        },
        "type": "object",
        "required": [
          "id"
        ],
        "title": "Body_unsubscribe_to_webhook_v1_api_v3_webhook_unsubscribe_delete"
      },
      "Body_upload_files_v1_api_v3_files_upload_post": {
        "properties": {
          "files": {
            "anyOf": [
              {
                "items": {
                  "type": "string",
                  "contentMediaType": "application/octet-stream"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Files"
          }
        },
        "type": "object",
        "required": [
          "files"
        ],
        "title": "Body_upload_files_v1_api_v3_files_upload_post"
      },
      "Body_upload_image_v1_api_v3_images_upload_post": {
        "properties": {
          "file": {
            "type": "string",
            "contentMediaType": "application/octet-stream",
            "title": "File"
          }
        },
        "type": "object",
        "required": [
          "file"
        ],
        "title": "Body_upload_image_v1_api_v3_images_upload_post"
      },
      "ContentGenerationMode": {
        "type": "string",
        "enum": [
          "preserve",
          "enhance",
          "condense"
        ],
        "title": "ContentGenerationMode"
      },
      "CreatePresentationFromJsonRequestV3": {
        "properties": {
          "language": {
            "type": "string",
            "title": "Language",
            "description": "The language of the presentation",
            "default": "English"
          },
          "title": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Title",
            "description": "The title of the presentation"
          },
          "standard_template": {
            "type": "string",
            "title": "Standard Template",
            "description": "The template to use for the presentation. Available templates: neo-general, neo-modern, neo-standard, neo-swift, general, modern, standard, swift and your custom templates",
            "default": "general"
          },
          "slides": {
            "items": {
              "$ref": "#/components/schemas/CreateSlideFromJsonRequestV1"
            },
            "type": "array",
            "title": "Slides",
            "description": "The slides to use for the presentation",
            "default": []
          },
          "export_as": {
            "type": "string",
            "enum": [
              "pptx",
              "pdf",
              "png"
            ],
            "title": "Export As",
            "description": "The format to export the presentation as",
            "default": "pptx"
          },
          "trigger_webhook": {
            "type": "boolean",
            "title": "Trigger Webhook",
            "description": "Whether to trigger subscribed webhooks",
            "default": false
          }
        },
        "type": "object",
        "title": "CreatePresentationFromJsonRequestV3"
      },
      "CreatePresentationTokenRequest": {
        "properties": {
          "presentation": {
            "type": "string",
            "format": "uuid",
            "title": "Presentation",
            "description": "Presentation id"
          },
          "scopes": {
            "items": {
              "type": "string",
              "enum": [
                "presentation:read",
                "presentation:edit",
                "presentation:export"
              ]
            },
            "type": "array",
            "minItems": 1,
            "title": "Scopes"
          },
          "expires_at": {
            "type": "string",
            "format": "date-time",
            "title": "Expires At"
          }
        },
        "type": "object",
        "required": [
          "presentation",
          "scopes"
        ],
        "title": "CreatePresentationTokenRequest"
      },
      "CreatePresentationTokenResponse": {
        "properties": {
          "token": {
            "type": "string",
            "title": "Token"
          },
          "frontend_url": {
            "type": "string",
            "title": "Frontend Url"
          },
          "user": {
            "type": "string",
            "format": "uuid",
            "title": "User"
          },
          "presentation": {
            "type": "string",
            "format": "uuid",
            "title": "Presentation"
          },
          "scopes": {
            "items": {
              "type": "string",
              "enum": [
                "presentation:read",
                "presentation:edit",
                "presentation:export"
              ]
            },
            "type": "array",
            "title": "Scopes"
          },
          "version": {
            "type": "string",
            "enum": [
              "standard",
              "smart"
            ],
            "title": "Version"
          },
          "expires_at": {
            "type": "string",
            "format": "date-time",
            "title": "Expires At"
          }
        },
        "type": "object",
        "required": [
          "token",
          "frontend_url",
          "user",
          "presentation",
          "scopes",
          "version",
          "expires_at"
        ],
        "title": "CreatePresentationTokenResponse"
      },
      "CreateSlideFromJsonRequestV1": {
        "properties": {
          "id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Id",
            "description": "The id of the slide to use"
          },
          "layout": {
            "type": "string",
            "title": "Layout",
            "description": "The layout of the slide"
          },
          "content": {
            "additionalProperties": true,
            "type": "object",
            "title": "Content",
            "description": "The content of the slide"
          },
          "speaker_note": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Speaker Note",
            "description": "The speaker note of the slide"
          }
        },
        "type": "object",
        "required": [
          "layout",
          "content"
        ],
        "title": "CreateSlideFromJsonRequestV1"
      },
      "GenerateOutlinesRequest": {
        "properties": {
          "content": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Content",
            "description": "The content for generating the presentation"
          },
          "files": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Files",
            "description": "The files to use for the presentation"
          },
          "n_slides": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "N Slides",
            "description": "The number of slides to generate"
          },
          "design": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Design",
            "description": "Optional design ID to use for outline generation"
          },
          "language": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Language",
            "description": "The language for the presentation"
          },
          "tone": {
            "$ref": "#/components/schemas/Tone",
            "description": "The tone for the presentation",
            "default": "default"
          },
          "verbosity": {
            "$ref": "#/components/schemas/Verbosity",
            "description": "The verbosity for the presentation",
            "default": "standard"
          },
          "content_generation": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ContentGenerationMode"
              },
              {
                "type": "null"
              }
            ],
            "description": "The content generation mode for the presentation"
          },
          "include_title_slide": {
            "type": "boolean",
            "title": "Include Title Slide",
            "description": "Whether to include a title slide",
            "default": true
          },
          "allow_access_to_user_info": {
            "type": "boolean",
            "title": "Allow Access To User Info",
            "description": "Whether to allow access to user's info",
            "default": true
          },
          "instructions": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Instructions",
            "description": "The instructions for the presentation"
          }
        },
        "type": "object",
        "title": "GenerateOutlinesRequest"
      },
      "GeneratePresentationRequestV3": {
        "properties": {
          "content": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Content",
            "description": "The content for generating the presentation"
          },
          "slides": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/SlideContentLayout"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Slides",
            "description": "The content and layout for each slide"
          },
          "n_slides": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "N Slides",
            "description": "Number of slides to generate"
          },
          "instructions": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Instructions",
            "description": "The instruction for generating the presentation"
          },
          "tone": {
            "$ref": "#/components/schemas/Tone",
            "description": "The tone to use for the text",
            "default": "default"
          },
          "verbosity": {
            "$ref": "#/components/schemas/Verbosity",
            "description": "How verbose the text should be",
            "default": "standard"
          },
          "content_generation": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ContentGenerationMode"
              },
              {
                "type": "null"
              }
            ],
            "description": "How to generate the content for each slide"
          },
          "markdown_emphasis": {
            "type": "boolean",
            "title": "Markdown Emphasis",
            "description": "Whether to emphasize the markdown",
            "default": true
          },
          "web_search": {
            "type": "boolean",
            "title": "Web Search",
            "description": "Whether to enable web search",
            "default": false
          },
          "image_type": {
            "type": "string",
            "enum": [
              "stock",
              "ai-generated"
            ],
            "title": "Image Type",
            "description": "Type of image to generate",
            "default": "stock"
          },
          "language": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Language",
            "description": "Language for the presentation"
          },
          "standard_template": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Standard Template",
            "description": "Standard template to use for the presentation. Available templates: neo-general, neo-modern, neo-standard, neo-swift, general, modern, standard, swift and your custom templates"
          },
          "smart_design": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Smart Design",
            "description": "Design V2 id to use for the smart presentation"
          },
          "generation_mode": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "standard",
                  "smart"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Generation Mode",
            "description": "Standard or Smart generation"
          },
          "font_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Font Name",
            "description": "Preferred presentation font"
          },
          "include_table_of_contents": {
            "type": "boolean",
            "title": "Include Table Of Contents",
            "description": "Whether to include a table of contents",
            "default": false
          },
          "include_title_slide": {
            "type": "boolean",
            "title": "Include Title Slide",
            "description": "Whether to include a title slide",
            "default": true
          },
          "allow_access_to_user_info": {
            "type": "boolean",
            "title": "Allow Access To User Info",
            "description": "Whether to allow access to user's info",
            "default": true
          },
          "files": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Files",
            "description": "Files to use for the presentation. Use /api/v3/files/upload to upload files."
          },
          "reference_urls": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array",
                "maxItems": 5
              },
              {
                "type": "null"
              }
            ],
            "title": "Reference Urls",
            "description": "Optional structured webpage references; prompt URLs are detected automatically"
          },
          "export_as": {
            "type": "string",
            "enum": [
              "pptx",
              "pdf",
              "png"
            ],
            "title": "Export As",
            "description": "Export format",
            "default": "pptx"
          },
          "trigger_webhook": {
            "type": "boolean",
            "title": "Trigger Webhook",
            "description": "Whether to trigger subscribed webhooks",
            "default": false
          }
        },
        "type": "object",
        "title": "GeneratePresentationRequestV3"
      },
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
          }
        },
        "type": "object",
        "title": "HTTPValidationError"
      },
      "ImageAsset": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "user": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "User"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "path": {
            "type": "string",
            "title": "Path"
          },
          "is_uploaded": {
            "type": "boolean",
            "title": "Is Uploaded",
            "default": false
          },
          "extras": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Extras"
          },
          "url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Url"
          }
        },
        "type": "object",
        "required": [
          "user",
          "created_at",
          "path"
        ],
        "title": "ImageAsset"
      },
      "PaginatedResponse": {
        "properties": {
          "total_pages": {
            "type": "integer",
            "title": "Total Pages"
          },
          "page": {
            "type": "integer",
            "title": "Page"
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "results": {
            "items": {},
            "type": "array",
            "title": "Results"
          }
        },
        "type": "object",
        "required": [
          "total_pages",
          "page",
          "page_size",
          "results"
        ],
        "title": "PaginatedResponse"
      },
      "PresentationPathAndEditPath": {
        "properties": {
          "presentation_id": {
            "type": "string",
            "format": "uuid",
            "title": "Presentation Id"
          },
          "path": {
            "type": "string",
            "title": "Path"
          },
          "edit_path": {
            "type": "string",
            "title": "Edit Path"
          },
          "credits_consumed": {
            "type": "number",
            "title": "Credits Consumed"
          }
        },
        "type": "object",
        "required": [
          "presentation_id",
          "path",
          "edit_path",
          "credits_consumed"
        ],
        "title": "PresentationPathAndEditPath"
      },
      "SlideContentLayout": {
        "properties": {
          "content": {
            "type": "string",
            "title": "Content"
          },
          "layout": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Layout"
          }
        },
        "type": "object",
        "required": [
          "content"
        ],
        "title": "SlideContentLayout"
      },
      "SlideExample": {
        "properties": {
          "layout": {
            "type": "string",
            "title": "Layout"
          },
          "content": {
            "additionalProperties": true,
            "type": "object",
            "title": "Content"
          }
        },
        "type": "object",
        "required": [
          "layout",
          "content"
        ],
        "title": "SlideExample"
      },
      "SubscribeToWebhookRequestV1": {
        "properties": {
          "url": {
            "type": "string",
            "title": "Url",
            "description": "The URL to send the webhook to"
          },
          "secret": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Secret",
            "description": "The secret to use for the webhook"
          },
          "event": {
            "$ref": "#/components/schemas/WebhookEvent",
            "description": "The event to subscribe to"
          }
        },
        "type": "object",
        "required": [
          "url",
          "event"
        ],
        "title": "SubscribeToWebhookRequestV1"
      },
      "SubscribeToWebhookResponseV1": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "url": {
            "type": "string",
            "title": "Url"
          },
          "event": {
            "$ref": "#/components/schemas/WebhookEvent"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          }
        },
        "type": "object",
        "required": [
          "id",
          "url",
          "event",
          "created_at"
        ],
        "title": "SubscribeToWebhookResponseV1"
      },
      "TemplateDetailResponse": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "layout_count": {
            "type": "integer",
            "title": "Layout Count",
            "default": 0
          },
          "thumbnail": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Thumbnail"
          },
          "is_default": {
            "type": "boolean",
            "title": "Is Default",
            "default": false
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
          },
          "merged_components": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Merged Components"
          },
          "layouts": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Layouts"
          },
          "fonts": {
            "additionalProperties": {
              "type": "string"
            },
            "type": "object",
            "title": "Fonts"
          },
          "schemas": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": "array",
            "title": "Schemas"
          }
        },
        "type": "object",
        "required": [
          "id",
          "name",
          "created_at",
          "updated_at"
        ],
        "title": "TemplateDetailResponse"
      },
      "TemplateExampleV3": {
        "properties": {
          "standard_template": {
            "type": "string",
            "title": "Standard Template"
          },
          "slides": {
            "items": {
              "$ref": "#/components/schemas/SlideExample"
            },
            "type": "array",
            "title": "Slides"
          }
        },
        "type": "object",
        "required": [
          "standard_template",
          "slides"
        ],
        "title": "TemplateExampleV3"
      },
      "TemplateListItem": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "layout_count": {
            "type": "integer",
            "title": "Layout Count",
            "default": 0
          },
          "thumbnail": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Thumbnail"
          },
          "is_default": {
            "type": "boolean",
            "title": "Is Default",
            "default": false
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
          }
        },
        "type": "object",
        "required": [
          "id",
          "name",
          "created_at",
          "updated_at"
        ],
        "title": "TemplateListItem"
      },
      "TemplateListResponse": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/TemplateListItem"
            },
            "type": "array",
            "title": "Items"
          },
          "total": {
            "type": "integer",
            "title": "Total"
          },
          "page": {
            "type": "integer",
            "title": "Page"
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          }
        },
        "type": "object",
        "required": [
          "items",
          "total",
          "page",
          "page_size"
        ],
        "title": "TemplateListResponse"
      },
      "Tone": {
        "type": "string",
        "enum": [
          "default",
          "casual",
          "professional",
          "funny",
          "educational",
          "sales_pitch"
        ],
        "title": "Tone"
      },
      "ValidationError": {
        "properties": {
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "type": "array",
            "title": "Location"
          },
          "msg": {
            "type": "string",
            "title": "Message"
          },
          "type": {
            "type": "string",
            "title": "Error Type"
          },
          "input": {
            "title": "Input"
          },
          "ctx": {
            "type": "object",
            "title": "Context"
          }
        },
        "type": "object",
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "title": "ValidationError"
      },
      "Verbosity": {
        "type": "string",
        "enum": [
          "concise",
          "standard",
          "text-heavy"
        ],
        "title": "Verbosity"
      },
      "WebhookEvent": {
        "type": "string",
        "enum": [
          "presentation.generation.completed",
          "presentation.generation.failed"
        ],
        "title": "WebhookEvent"
      }
    },
    "securitySchemes": {
      "BearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "Presenton API token"
      }
    },
    "responses": {
      "Unauthorized": {
        "description": "Authentication is missing or invalid."
      },
      "ServerError": {
        "description": "Presenton or one of its configured dependencies failed."
      }
    }
  },
  "servers": [
    {
      "url": "https://api.presenton.ai",
      "description": "Presenton Cloud"
    }
  ],
  "tags": [
    {
      "name": "Presentations",
      "description": "Generate and manage presentations."
    },
    {
      "name": "Files and media",
      "description": "Upload source files and images."
    },
    {
      "name": "Templates and design",
      "description": "Select reusable presentation designs."
    },
    {
      "name": "Async and webhooks",
      "description": "Monitor background work and receive events."
    }
  ]
}
