{
  "openapi": "3.1.0",
  "info": {
    "title": "Nuclom API",
    "version": "1.0.0",
    "description": "Nuclom is a Knowledge Hub that helps teams capture, organize, and surface institutional knowledge from videos, meetings, and documents.",
    "contact": {
      "name": "Nuclom Support",
      "url": "https://nuclom.com/support"
    },
    "license": {
      "name": "Elastic License 2.0",
      "url": "https://www.elastic.co/licensing/elastic-license"
    }
  },
  "servers": [
    {
      "url": "https://nuclom.com/api",
      "description": "Production server"
    }
  ],
  "tags": [
    {
      "name": "Videos",
      "description": "Video management endpoints"
    },
    {
      "name": "Series",
      "description": "Video series/playlist management"
    },
    {
      "name": "Channels",
      "description": "Channel management"
    },
    {
      "name": "Organizations",
      "description": "Organization and team management"
    },
    {
      "name": "Comments",
      "description": "Video comments and discussions"
    },
    {
      "name": "Search",
      "description": "Search functionality"
    },
    {
      "name": "Notifications",
      "description": "User notifications"
    },
    {
      "name": "Billing",
      "description": "Subscription and billing management"
    },
    {
      "name": "AI",
      "description": "AI-powered video analysis"
    },
    {
      "name": "Integrations",
      "description": "Third-party integrations"
    },
    {
      "name": "Health",
      "description": "System health endpoints"
    },
    {
      "name": "Users",
      "description": "User management"
    },
    {
      "name": "Sharing",
      "description": "Content sharing"
    },
    {
      "name": "Clips",
      "description": "Video clips and highlights"
    }
  ],
  "paths": {
    "/activity": {
      "get": {
        "tags": [
          "Activity"
        ],
        "summary": "List activity",
        "operationId": "listActivity",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/activity/stats": {
      "get": {
        "tags": [
          "Activity"
        ],
        "summary": "List stats",
        "operationId": "listActivityStat",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/ai/budget": {
      "get": {
        "tags": [
          "AI"
        ],
        "summary": "List budget",
        "operationId": "listAiBudget",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/ai/chat": {
      "post": {
        "tags": [
          "AI"
        ],
        "summary": "Create chat",
        "operationId": "createAiChat",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/ai/gaps": {
      "get": {
        "tags": [
          "AI"
        ],
        "summary": "List gaps",
        "operationId": "listAiGap",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/ai/gaps/conflicts": {
      "get": {
        "tags": [
          "AI"
        ],
        "summary": "List conflicts",
        "operationId": "listAiGapConflict",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/ai/insights": {
      "get": {
        "tags": [
          "AI"
        ],
        "summary": "List insights",
        "operationId": "listAiInsight",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/ai/insights/recommendations": {
      "get": {
        "tags": [
          "AI"
        ],
        "summary": "List recommendations",
        "operationId": "listAiInsightRecommendation",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/ai/insights/trends": {
      "get": {
        "tags": [
          "AI"
        ],
        "summary": "List trends",
        "operationId": "listAiInsightTrend",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/ai/qa": {
      "post": {
        "tags": [
          "AI"
        ],
        "summary": "Create qa",
        "operationId": "createAiQa",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/ai/summaries/daily": {
      "get": {
        "tags": [
          "AI"
        ],
        "summary": "List daily",
        "operationId": "listAiSummaryDaily",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/ai/summaries/meeting-prep": {
      "post": {
        "tags": [
          "AI"
        ],
        "summary": "Create meeting-prep",
        "operationId": "createAiSummaryMeeting-prep",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/ai/summaries/topic/{id}": {
      "get": {
        "tags": [
          "AI"
        ],
        "summary": "Get topic",
        "operationId": "getAiSummaryTopic",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/analytics/speakers": {
      "get": {
        "tags": [
          "Analytics"
        ],
        "summary": "Get organization-wide speaker statistics",
        "operationId": "listAnalyticSpeaker",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/analytics/speakers/{speakerId}": {
      "get": {
        "tags": [
          "Analytics"
        ],
        "summary": "Get individual speaker analytics",
        "operationId": "getAnalyticSpeaker",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "speakerId",
            "in": "path",
            "description": "SpeakerId ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/beta-access": {
      "post": {
        "tags": [
          "Beta-access"
        ],
        "summary": "Create beta-access",
        "operationId": "createBeta-access",
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "400": {
            "description": "Invalid request"
          }
        }
      }
    },
    "/billing/checkout": {
      "post": {
        "tags": [
          "Billing"
        ],
        "summary": "Start platform checkout for a plan",
        "operationId": "createBillingCheckout",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/billing/invoices": {
      "get": {
        "tags": [
          "Billing"
        ],
        "summary": "The organization's Stripe invoices",
        "operationId": "listBillingInvoic",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/billing/plans": {
      "get": {
        "tags": [
          "Billing"
        ],
        "summary": "The plans an organization can buy, from the platform catalog",
        "operationId": "listBillingPlan",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/billing/portal": {
      "post": {
        "tags": [
          "Billing"
        ],
        "summary": "A Stripe customer portal session (payment methods, invoices, cancellation)",
        "operationId": "createBillingPortal",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/billing/subscription": {
      "delete": {
        "tags": [
          "Billing"
        ],
        "summary": "Cancel at the end of the period (owner only)",
        "operationId": "deleteBillingSubscription",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      },
      "get": {
        "tags": [
          "Billing"
        ],
        "summary": "The organization's subscription and seats",
        "operationId": "listBillingSubscription",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      },
      "patch": {
        "tags": [
          "Billing"
        ],
        "summary": "Move a paid subscription to another plan",
        "operationId": "patchBillingSubscription",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/chat/conversations": {
      "get": {
        "tags": [
          "Chat"
        ],
        "summary": "List conversations for a user",
        "operationId": "listChatConversation",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      },
      "post": {
        "tags": [
          "Chat"
        ],
        "summary": "Create a new conversation",
        "operationId": "createChatConversation",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/chat/conversations/{id}": {
      "delete": {
        "tags": [
          "Chat"
        ],
        "summary": "Delete a conversation",
        "operationId": "deleteChatConversation",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "get": {
        "tags": [
          "Chat"
        ],
        "summary": "Get a conversation",
        "operationId": "getChatConversation",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "patch": {
        "tags": [
          "Chat"
        ],
        "summary": "Update a conversation title",
        "operationId": "patchChatConversation",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/chat/conversations/{id}/messages": {
      "get": {
        "tags": [
          "Chat"
        ],
        "summary": "List messages in a conversation",
        "operationId": "getChatConversationMessag",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "post": {
        "tags": [
          "Chat"
        ],
        "summary": "Send a message and get AI response",
        "operationId": "createChatConversationMessag",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/clips/{id}": {
      "delete": {
        "tags": [
          "Clips"
        ],
        "summary": "Delete a clip",
        "operationId": "deleteClip",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "get": {
        "tags": [
          "Clips"
        ],
        "summary": "Get a single clip",
        "operationId": "getClip",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "patch": {
        "tags": [
          "Clips"
        ],
        "summary": "Update a clip",
        "operationId": "patchClip",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "description": "Update a clip data",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "description": {
                    "anyOf": [
                      {
                        "anyOf": [
                          {
                            "type": "string",
                            "maxLength": 1000
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "startTime": {
                    "anyOf": [
                      {
                        "anyOf": [
                          {
                            "type": "number"
                          },
                          {
                            "type": "string",
                            "enum": [
                              "Infinity",
                              "-Infinity",
                              "NaN"
                            ]
                          }
                        ]
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "endTime": {
                    "anyOf": [
                      {
                        "anyOf": [
                          {
                            "type": "number"
                          },
                          {
                            "type": "string",
                            "enum": [
                              "Infinity",
                              "-Infinity",
                              "NaN"
                            ]
                          }
                        ]
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/collections": {
      "get": {
        "tags": [
          "Collections"
        ],
        "summary": "List collections",
        "operationId": "listCollection",
        "description": "Get a paginated list of collections for an organization.\nUse `type` query param to filter by collection type (folder or playlist).",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "List of collections with pagination",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
                            "format": "uuid"
                          },
                          "name": {
                            "type": "string"
                          },
                          "description": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "thumbnailUrl": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "organizationId": {
                            "type": "string",
                            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
                            "format": "uuid"
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "folder",
                              "playlist"
                            ]
                          },
                          "isPublic": {
                            "type": "boolean"
                          },
                          "videoCount": {
                            "anyOf": [
                              {
                                "type": "number"
                              },
                              {
                                "type": "string",
                                "enum": [
                                  "Infinity",
                                  "-Infinity",
                                  "NaN"
                                ]
                              }
                            ]
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "name",
                          "description",
                          "thumbnailUrl",
                          "organizationId",
                          "type",
                          "isPublic",
                          "videoCount",
                          "createdAt",
                          "updatedAt"
                        ],
                        "additionalProperties": true
                      }
                    },
                    "pagination": {
                      "type": "object",
                      "properties": {
                        "page": {
                          "anyOf": [
                            {
                              "type": "number"
                            },
                            {
                              "type": "string",
                              "enum": [
                                "Infinity",
                                "-Infinity",
                                "NaN"
                              ]
                            }
                          ]
                        },
                        "limit": {
                          "anyOf": [
                            {
                              "type": "number"
                            },
                            {
                              "type": "string",
                              "enum": [
                                "Infinity",
                                "-Infinity",
                                "NaN"
                              ]
                            }
                          ]
                        },
                        "total": {
                          "anyOf": [
                            {
                              "type": "number"
                            },
                            {
                              "type": "string",
                              "enum": [
                                "Infinity",
                                "-Infinity",
                                "NaN"
                              ]
                            }
                          ]
                        },
                        "totalPages": {
                          "anyOf": [
                            {
                              "type": "number"
                            },
                            {
                              "type": "string",
                              "enum": [
                                "Infinity",
                                "-Infinity",
                                "NaN"
                              ]
                            }
                          ]
                        }
                      },
                      "required": [
                        "page",
                        "limit",
                        "total",
                        "totalPages"
                      ],
                      "additionalProperties": true
                    }
                  },
                  "required": [
                    "data",
                    "pagination"
                  ],
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "- Invalid request parameters"
          },
          "401": {
            "description": "- Unauthorized"
          },
          "403": {
            "description": "- Not a member of the organization"
          }
        }
      },
      "post": {
        "tags": [
          "Collections"
        ],
        "summary": "Create collection",
        "operationId": "createCollection",
        "description": "Create a new collection. Use `type: \"folder\"` for simple grouping,\n`type: \"playlist\"` for ordered videos with progress tracking.",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "description": "Create collection data",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "anyOf": [
                      {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "thumbnailUrl": {
                    "anyOf": [
                      {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "organizationId": {
                    "type": "string",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
                    "format": "uuid"
                  },
                  "type": {
                    "anyOf": [
                      {
                        "type": "string",
                        "enum": [
                          "folder",
                          "playlist"
                        ]
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "isPublic": {
                    "anyOf": [
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": [
                  "name",
                  "organizationId"
                ],
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Collection created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
                      "format": "uuid"
                    },
                    "name": {
                      "type": "string"
                    },
                    "description": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "thumbnailUrl": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "organizationId": {
                      "type": "string",
                      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
                      "format": "uuid"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "folder",
                        "playlist"
                      ]
                    },
                    "isPublic": {
                      "type": "boolean"
                    },
                    "videoCount": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "enum": [
                            "Infinity",
                            "-Infinity",
                            "NaN"
                          ]
                        }
                      ]
                    },
                    "createdAt": {
                      "type": "string"
                    },
                    "updatedAt": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "name",
                    "description",
                    "thumbnailUrl",
                    "organizationId",
                    "type",
                    "isPublic",
                    "videoCount",
                    "createdAt",
                    "updatedAt"
                  ],
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "- Invalid request body"
          },
          "401": {
            "description": "- Unauthorized"
          },
          "403": {
            "description": "- Not a member of the organization"
          }
        }
      }
    },
    "/collections/{id}": {
      "delete": {
        "tags": [
          "Collections"
        ],
        "summary": "Delete collection",
        "operationId": "deleteCollection",
        "description": "Delete a collection (videos are not deleted, only the grouping)",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "- Collection deleted successfully"
          },
          "401": {
            "description": "- Unauthorized"
          },
          "404": {
            "description": "- Collection not found"
          }
        }
      },
      "get": {
        "tags": [
          "Collections"
        ],
        "summary": "Get collection details",
        "operationId": "getCollection",
        "description": "Get a collection with all its videos",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Collection with videos",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
                      "format": "uuid"
                    },
                    "name": {
                      "type": "string"
                    },
                    "description": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "thumbnailUrl": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "organizationId": {
                      "type": "string",
                      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
                      "format": "uuid"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "folder",
                        "playlist"
                      ]
                    },
                    "isPublic": {
                      "type": "boolean"
                    },
                    "videoCount": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "enum": [
                            "Infinity",
                            "-Infinity",
                            "NaN"
                          ]
                        }
                      ]
                    },
                    "createdAt": {
                      "type": "string"
                    },
                    "updatedAt": {
                      "type": "string"
                    },
                    "videos": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
                            "format": "uuid"
                          },
                          "title": {
                            "type": "string"
                          },
                          "description": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "duration": {
                            "type": "string"
                          },
                          "thumbnailUrl": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "videoUrl": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "authorId": {
                            "type": "string",
                            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
                            "format": "uuid"
                          },
                          "organizationId": {
                            "type": "string",
                            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
                            "format": "uuid"
                          },
                          "channelId": {
                            "anyOf": [
                              {
                                "type": "string",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
                                "format": "uuid"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "collectionId": {
                            "anyOf": [
                              {
                                "type": "string",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
                                "format": "uuid"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "transcript": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "aiSummary": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "viewCount": {
                            "anyOf": [
                              {
                                "type": "number"
                              },
                              {
                                "type": "string",
                                "enum": [
                                  "Infinity",
                                  "-Infinity",
                                  "NaN"
                                ]
                              }
                            ]
                          },
                          "isPublic": {
                            "type": "boolean"
                          },
                          "isDeleted": {
                            "type": "boolean"
                          },
                          "deletedAt": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "retentionUntil": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "title",
                          "description",
                          "duration",
                          "thumbnailUrl",
                          "videoUrl",
                          "authorId",
                          "organizationId",
                          "channelId",
                          "collectionId",
                          "transcript",
                          "aiSummary",
                          "viewCount",
                          "isPublic",
                          "isDeleted",
                          "deletedAt",
                          "retentionUntil",
                          "createdAt",
                          "updatedAt"
                        ],
                        "additionalProperties": true
                      }
                    }
                  },
                  "required": [
                    "id",
                    "name",
                    "description",
                    "thumbnailUrl",
                    "organizationId",
                    "type",
                    "isPublic",
                    "videoCount",
                    "createdAt",
                    "updatedAt",
                    "videos"
                  ],
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "- Unauthorized"
          },
          "404": {
            "description": "- Collection not found"
          }
        }
      },
      "patch": {
        "tags": [
          "Collections"
        ],
        "summary": "Update collection",
        "operationId": "patchCollection",
        "description": "Update collection metadata",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "description": "Update collection data",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "description": {
                    "anyOf": [
                      {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "thumbnailUrl": {
                    "anyOf": [
                      {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "isPublic": {
                    "anyOf": [
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Updated collection",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
                      "format": "uuid"
                    },
                    "name": {
                      "type": "string"
                    },
                    "description": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "thumbnailUrl": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "organizationId": {
                      "type": "string",
                      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
                      "format": "uuid"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "folder",
                        "playlist"
                      ]
                    },
                    "isPublic": {
                      "type": "boolean"
                    },
                    "videoCount": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "enum": [
                            "Infinity",
                            "-Infinity",
                            "NaN"
                          ]
                        }
                      ]
                    },
                    "createdAt": {
                      "type": "string"
                    },
                    "updatedAt": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "name",
                    "description",
                    "thumbnailUrl",
                    "organizationId",
                    "type",
                    "isPublic",
                    "videoCount",
                    "createdAt",
                    "updatedAt"
                  ],
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "- Invalid request body"
          },
          "401": {
            "description": "- Unauthorized"
          },
          "404": {
            "description": "- Collection not found"
          }
        }
      }
    },
    "/collections/{id}/progress": {
      "get": {
        "tags": [
          "Collections"
        ],
        "summary": "Get collection progress",
        "operationId": "getCollectionProgress",
        "description": "Get the current user's progress through a playlist collection",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Progress details"
          },
          "401": {
            "description": "- Unauthorized"
          },
          "403": {
            "description": "- Not a member of the collection's organization"
          }
        }
      },
      "post": {
        "tags": [
          "Collections"
        ],
        "summary": "Update collection progress",
        "operationId": "createCollectionProgress",
        "description": "Update the current user's progress through a playlist collection.\nSet `completed: true` to mark the current video as completed.",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "description": "Update collection progress data",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "currentTime": {
                    "type": "string",
                    "minLength": 1
                  },
                  "completed": {
                    "anyOf": [
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": [
                  "currentTime"
                ],
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Updated progress"
          },
          "400": {
            "description": "- Invalid request body"
          },
          "401": {
            "description": "- Unauthorized"
          },
          "403": {
            "description": "- Not a member of the collection's organization, or no access to the video"
          }
        }
      }
    },
    "/collections/{id}/videos": {
      "get": {
        "tags": [
          "Collections"
        ],
        "summary": "Get available videos",
        "operationId": "getCollectionVideo",
        "description": "Get videos that can be added to this collection (not already in it)",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Video[] - List of available videos"
          },
          "401": {
            "description": "- Unauthorized"
          },
          "403": {
            "description": "- Not a member of the collection's organization"
          }
        }
      },
      "patch": {
        "tags": [
          "Collections"
        ],
        "summary": "Reorder videos in collection",
        "operationId": "patchCollectionVideo",
        "description": "Reorder videos in a playlist collection. Pass all video IDs in desired order.",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "- Videos reordered successfully"
          },
          "400": {
            "description": "- Invalid request body"
          },
          "401": {
            "description": "- Unauthorized"
          }
        }
      },
      "post": {
        "tags": [
          "Collections"
        ],
        "summary": "Add video to collection",
        "operationId": "createCollectionVideo",
        "description": "Add a video to this collection. For playlists, you can specify position.",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Video added to collection"
          },
          "400": {
            "description": "- Invalid request body"
          },
          "401": {
            "description": "- Unauthorized"
          }
        }
      }
    },
    "/collections/{id}/videos/{videoId}": {
      "delete": {
        "tags": [
          "Collections"
        ],
        "summary": "Remove video from collection",
        "operationId": "deleteCollectionVideo",
        "description": "Remove a video from this collection (the video itself is not deleted)",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          },
          {
            "name": "videoId",
            "in": "path",
            "description": "VideoId ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "- Video removed from collection"
          },
          "401": {
            "description": "- Unauthorized"
          },
          "404": {
            "description": "- Video not found in collection"
          }
        }
      }
    },
    "/contact": {
      "post": {
        "tags": [
          "Contact"
        ],
        "summary": "Create contact",
        "operationId": "createContact",
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "400": {
            "description": "Invalid request"
          }
        }
      }
    },
    "/content/notion/authorize": {
      "get": {
        "tags": [
          "Content"
        ],
        "summary": "List authorize",
        "operationId": "listContentNotionAuthorize",
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/content/notion/callback": {
      "get": {
        "tags": [
          "Content"
        ],
        "summary": "List callback",
        "operationId": "listContentNotionCallback",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/content/notion/webhook": {
      "post": {
        "tags": [
          "Content"
        ],
        "summary": "Create webhook",
        "operationId": "createContentNotionWebhook",
        "responses": {
          "201": {
            "description": "Created successfully"
          }
        }
      }
    },
    "/content/slack/authorize": {
      "get": {
        "tags": [
          "Content"
        ],
        "summary": "List authorize",
        "operationId": "listContentSlackAuthorize",
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/content/slack/callback": {
      "get": {
        "tags": [
          "Content"
        ],
        "summary": "List callback",
        "operationId": "listContentSlackCallback",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/content/slack/webhook": {
      "post": {
        "tags": [
          "Content"
        ],
        "summary": "Create webhook",
        "operationId": "createContentSlackWebhook",
        "responses": {
          "201": {
            "description": "Created successfully"
          }
        }
      }
    },
    "/content/sources": {
      "get": {
        "tags": [
          "Content"
        ],
        "summary": "List sources",
        "operationId": "listContentSourc",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      },
      "post": {
        "tags": [
          "Content"
        ],
        "summary": "Create sourc",
        "operationId": "createContentSourc",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/content/sources/{id}": {
      "delete": {
        "tags": [
          "Content"
        ],
        "summary": "Delete sourc",
        "operationId": "deleteContentSourc",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "get": {
        "tags": [
          "Content"
        ],
        "summary": "Get sourc",
        "operationId": "getContentSourc",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "patch": {
        "tags": [
          "Content"
        ],
        "summary": "Patch sourc",
        "operationId": "patchContentSourc",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/content/sources/{id}/github/repositories": {
      "get": {
        "tags": [
          "Content"
        ],
        "summary": "Get repository",
        "operationId": "getContentSourcGithubRepository",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "post": {
        "tags": [
          "Content"
        ],
        "summary": "Create repository",
        "operationId": "createContentSourcGithubRepository",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/content/sources/{id}/items": {
      "get": {
        "tags": [
          "Content"
        ],
        "summary": "Get item",
        "operationId": "getContentSourcItem",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/content/sources/{id}/notion/hierarchy": {
      "get": {
        "tags": [
          "Content"
        ],
        "summary": "Get hierarchy",
        "operationId": "getContentSourcNotionHierarchy",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "post": {
        "tags": [
          "Content"
        ],
        "summary": "Create hierarchy",
        "operationId": "createContentSourcNotionHierarchy",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/content/sources/{id}/sync": {
      "get": {
        "tags": [
          "Content"
        ],
        "summary": "Get sync",
        "operationId": "getContentSourcSync",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "post": {
        "tags": [
          "Content"
        ],
        "summary": "Create sync",
        "operationId": "createContentSourcSync",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/content/sources/{id}/users": {
      "get": {
        "tags": [
          "Content"
        ],
        "summary": "Get user",
        "operationId": "getContentSourcUser",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/content/sources/{id}/users/{externalId}/link": {
      "delete": {
        "tags": [
          "Content"
        ],
        "summary": "Delete link",
        "operationId": "deleteContentSourcUserLink",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          },
          {
            "name": "externalId",
            "in": "path",
            "description": "ExternalId ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "post": {
        "tags": [
          "Content"
        ],
        "summary": "Create link",
        "operationId": "createContentSourcUserLink",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          },
          {
            "name": "externalId",
            "in": "path",
            "description": "ExternalId ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/cron": {
      "get": {
        "tags": [
          "Cron"
        ],
        "summary": "List cron",
        "operationId": "listCron",
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/discovery/recommendations": {
      "get": {
        "tags": [
          "Discovery"
        ],
        "summary": "List recommendations",
        "operationId": "listDiscoveryRecommendation",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/discovery/related/{itemId}": {
      "get": {
        "tags": [
          "Discovery"
        ],
        "summary": "Get related",
        "operationId": "getDiscoveryRelated",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "itemId",
            "in": "path",
            "description": "ItemId ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/discovery/trending": {
      "get": {
        "tags": [
          "Discovery"
        ],
        "summary": "List trending",
        "operationId": "listDiscoveryTrending",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/embed/{id}": {
      "get": {
        "tags": [
          "Embed"
        ],
        "summary": "Get embed video data",
        "operationId": "getEmbed",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/embed/{id}/view": {
      "post": {
        "tags": [
          "Embed"
        ],
        "summary": "Track embed video view",
        "operationId": "createEmbedView",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/feed": {
      "get": {
        "tags": [
          "Feed"
        ],
        "summary": "List feed",
        "operationId": "listFeed",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/health": {
      "get": {
        "tags": [
          "Health"
        ],
        "summary": "List health",
        "operationId": "listHealth",
        "description": "GET /api/health - Health check endpoint\n\nReturns the health status of all services using Effect-TS pattern\nfor consistent error handling and observability.",
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/health/db": {
      "get": {
        "tags": [
          "Health"
        ],
        "summary": "List db",
        "operationId": "listHealthDb",
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/health/r2": {
      "get": {
        "tags": [
          "Health"
        ],
        "summary": "List r2",
        "operationId": "listHealthR2",
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/highlight-reels": {
      "get": {
        "tags": [
          "Clips"
        ],
        "summary": "List all highlight reels for an organization",
        "operationId": "listHighlight-reel",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      },
      "post": {
        "tags": [
          "Clips"
        ],
        "summary": "Create a new highlight reel",
        "operationId": "createHighlight-reel",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "description": "Create a new highlight reel data",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  },
                  "description": {
                    "anyOf": [
                      {
                        "anyOf": [
                          {
                            "type": "string",
                            "maxLength": 1000
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "clipIds": {
                    "anyOf": [
                      {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
                          "format": "uuid"
                        }
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": [
                  "title"
                ],
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/highlight-reels/{id}": {
      "delete": {
        "tags": [
          "Clips"
        ],
        "summary": "Delete a highlight reel",
        "operationId": "deleteHighlight-reel",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "get": {
        "tags": [
          "Clips"
        ],
        "summary": "Get a single highlight reel",
        "operationId": "getHighlight-reel",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "patch": {
        "tags": [
          "Clips"
        ],
        "summary": "Update a highlight reel",
        "operationId": "patchHighlight-reel",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "description": "Update a highlight reel data",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "description": {
                    "anyOf": [
                      {
                        "anyOf": [
                          {
                            "type": "string",
                            "maxLength": 1000
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "clipIds": {
                    "anyOf": [
                      {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
                          "format": "uuid"
                        }
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/highlight-reels/{id}/render": {
      "post": {
        "tags": [
          "Clips"
        ],
        "summary": "Start rendering a highlight reel",
        "operationId": "createHighlight-reelRender",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/insights/action-items": {
      "get": {
        "tags": [
          "Insights"
        ],
        "summary": "Get organization-wide action items",
        "operationId": "listInsightAction-item",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      },
      "post": {
        "tags": [
          "Insights"
        ],
        "summary": "Create a new action item",
        "operationId": "createInsightAction-item",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/insights/action-items/{id}": {
      "delete": {
        "tags": [
          "Insights"
        ],
        "summary": "Delete an action item",
        "operationId": "deleteInsightAction-item",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "get": {
        "tags": [
          "Insights"
        ],
        "summary": "Get a single action item",
        "operationId": "getInsightAction-item",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "patch": {
        "tags": [
          "Insights"
        ],
        "summary": "Update an action item",
        "operationId": "patchInsightAction-item",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/insights/effectiveness": {
      "get": {
        "tags": [
          "Insights"
        ],
        "summary": "Get meeting effectiveness metrics",
        "operationId": "listInsightEffectiveness",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/insights/export": {
      "get": {
        "tags": [
          "Insights"
        ],
        "summary": "List export",
        "operationId": "listInsightExport",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/insights/keywords": {
      "get": {
        "tags": [
          "Insights"
        ],
        "summary": "Get keyword frequency for word cloud",
        "operationId": "listInsightKeyword",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/insights/overview": {
      "get": {
        "tags": [
          "Insights"
        ],
        "summary": "Get organization AI insights overview",
        "operationId": "listInsightOverview",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/insights/patterns": {
      "get": {
        "tags": [
          "Insights"
        ],
        "summary": "List patterns",
        "operationId": "listInsightPattern",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/insights/summary": {
      "get": {
        "tags": [
          "Insights"
        ],
        "summary": "List summary",
        "operationId": "listInsightSummary",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/insights/topics": {
      "get": {
        "tags": [
          "Insights"
        ],
        "summary": "Get organization topic trends",
        "operationId": "listInsightTopic",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/integrations": {
      "delete": {
        "tags": [
          "Integrations"
        ],
        "summary": "Disconnect an integration",
        "operationId": "deleteIntegration",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      },
      "get": {
        "tags": [
          "Integrations"
        ],
        "summary": "List integrations for the current user",
        "operationId": "listIntegration",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/integrations/{integrationId}/settings": {
      "get": {
        "tags": [
          "Integrations"
        ],
        "summary": "Get integration settings",
        "operationId": "getIntegrationSetting",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "integrationId",
            "in": "path",
            "description": "IntegrationId ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "patch": {
        "tags": [
          "Integrations"
        ],
        "summary": "Update integration settings",
        "operationId": "patchIntegrationSetting",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "integrationId",
            "in": "path",
            "description": "IntegrationId ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/integrations/google/authorize": {
      "get": {
        "tags": [
          "Integrations"
        ],
        "summary": "List authorize",
        "operationId": "listIntegrationGoogleAuthorize",
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/integrations/google/calendar": {
      "get": {
        "tags": [
          "Integrations"
        ],
        "summary": "List Google Calendar events with Meet links",
        "operationId": "listIntegrationGoogleCalendar",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/integrations/google/drive": {
      "get": {
        "tags": [
          "Integrations"
        ],
        "summary": "List videos and folders from Google Drive",
        "operationId": "listIntegrationGoogleDrive",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      },
      "post": {
        "tags": [
          "Integrations"
        ],
        "summary": "Import videos from Google Drive",
        "operationId": "createIntegrationGoogleDrive",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/integrations/google/recordings": {
      "get": {
        "tags": [
          "Integrations"
        ],
        "summary": "List Google Meet recordings",
        "operationId": "listIntegrationGoogleRecording",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/integrations/google/webhook": {
      "post": {
        "tags": [
          "Integrations"
        ],
        "summary": "Handle Google Drive/Calendar webhooks",
        "operationId": "createIntegrationGoogleWebhook",
        "responses": {
          "201": {
            "description": "Created successfully"
          }
        }
      }
    },
    "/integrations/import": {
      "get": {
        "tags": [
          "Integrations"
        ],
        "summary": "Get import status",
        "operationId": "listIntegrationImport",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      },
      "post": {
        "tags": [
          "Integrations"
        ],
        "summary": "Import recordings from a provider",
        "operationId": "createIntegrationImport",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/integrations/slack/authorize": {
      "get": {
        "tags": [
          "Integrations"
        ],
        "summary": "List authorize",
        "operationId": "listIntegrationSlackAuthorize",
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/integrations/slack/callback": {
      "get": {
        "tags": [
          "Integrations"
        ],
        "summary": "List callback",
        "operationId": "listIntegrationSlackCallback",
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/integrations/slack/channels": {
      "get": {
        "tags": [
          "Integrations"
        ],
        "summary": "List channels",
        "operationId": "listIntegrationSlackChannel",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/integrations/slack/webhook": {
      "post": {
        "tags": [
          "Integrations"
        ],
        "summary": "Create webhook",
        "operationId": "createIntegrationSlackWebhook",
        "responses": {
          "201": {
            "description": "Created successfully"
          }
        }
      }
    },
    "/integrations/teams/authorize": {
      "get": {
        "tags": [
          "Integrations"
        ],
        "summary": "List authorize",
        "operationId": "listIntegrationTeamAuthorize",
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/integrations/teams/callback": {
      "get": {
        "tags": [
          "Integrations"
        ],
        "summary": "List callback",
        "operationId": "listIntegrationTeamCallback",
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/integrations/teams/channels": {
      "get": {
        "tags": [
          "Integrations"
        ],
        "summary": "List channels",
        "operationId": "listIntegrationTeamChannel",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/integrations/zoom/authorize": {
      "get": {
        "tags": [
          "Integrations"
        ],
        "summary": "List authorize",
        "operationId": "listIntegrationZoomAuthorize",
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/integrations/zoom/meetings": {
      "get": {
        "tags": [
          "Integrations"
        ],
        "summary": "List Zoom scheduled/past meetings",
        "operationId": "listIntegrationZoomMeeting",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/integrations/zoom/recordings": {
      "get": {
        "tags": [
          "Integrations"
        ],
        "summary": "List Zoom recordings",
        "operationId": "listIntegrationZoomRecording",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/integrations/zoom/webhook": {
      "post": {
        "tags": [
          "Integrations"
        ],
        "summary": "Handle Zoom webhooks",
        "operationId": "createIntegrationZoomWebhook",
        "responses": {
          "201": {
            "description": "Created successfully"
          }
        }
      }
    },
    "/invitations/{id}": {
      "get": {
        "tags": [
          "Invitations"
        ],
        "summary": "An invitation addressed to the signed in user",
        "operationId": "getInvitation",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/invitations/{id}/accept": {
      "post": {
        "tags": [
          "Invitations"
        ],
        "summary": "Join the organization; the platform checks the invitee",
        "operationId": "createInvitationAccept",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/invitations/{id}/reject": {
      "post": {
        "tags": [
          "Invitations"
        ],
        "summary": "Decline an invitation addressed to the signed in user",
        "operationId": "createInvitationReject",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/knowledge/context": {
      "get": {
        "tags": [
          "Knowledge"
        ],
        "summary": "Get decision context for an artifact",
        "operationId": "listKnowledgeContext",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/knowledge/decisions": {
      "get": {
        "tags": [
          "Knowledge"
        ],
        "summary": "List decisions for an organization",
        "operationId": "listKnowledgeDecision",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      },
      "post": {
        "tags": [
          "Knowledge"
        ],
        "summary": "Create a new decision",
        "operationId": "createKnowledgeDecision",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/knowledge/decisions/{id}": {
      "delete": {
        "tags": [
          "Knowledge"
        ],
        "summary": "Delete a decision",
        "operationId": "deleteKnowledgeDecision",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "get": {
        "tags": [
          "Knowledge"
        ],
        "summary": "Get a specific decision",
        "operationId": "getKnowledgeDecision",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "put": {
        "tags": [
          "Knowledge"
        ],
        "summary": "Update a decision",
        "operationId": "updateKnowledgeDecision",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/knowledge/graph": {
      "get": {
        "tags": [
          "Knowledge"
        ],
        "summary": "Get knowledge graph visualization data",
        "operationId": "listKnowledgeGraph",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/knowledge/relationships": {
      "get": {
        "tags": [
          "Knowledge"
        ],
        "summary": "List relationships",
        "operationId": "listKnowledgeRelationship",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      },
      "post": {
        "tags": [
          "Knowledge"
        ],
        "summary": "Create relationship",
        "operationId": "createKnowledgeRelationship",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/knowledge/timeline": {
      "get": {
        "tags": [
          "Knowledge"
        ],
        "summary": "Get decision timeline",
        "operationId": "listKnowledgeTimeline",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/knowledge/topics": {
      "get": {
        "tags": [
          "Knowledge"
        ],
        "summary": "List topics",
        "operationId": "listKnowledgeTopic",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      },
      "post": {
        "tags": [
          "Knowledge"
        ],
        "summary": "Create topic",
        "operationId": "createKnowledgeTopic",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/knowledge/topics/{id}": {
      "delete": {
        "tags": [
          "Knowledge"
        ],
        "summary": "Delete topic",
        "operationId": "deleteKnowledgeTopic",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "get": {
        "tags": [
          "Knowledge"
        ],
        "summary": "Get topic",
        "operationId": "getKnowledgeTopic",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "patch": {
        "tags": [
          "Knowledge"
        ],
        "summary": "Patch topic",
        "operationId": "patchKnowledgeTopic",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/knowledge/topics/{id}/experts": {
      "get": {
        "tags": [
          "Knowledge"
        ],
        "summary": "Get expert",
        "operationId": "getKnowledgeTopicExpert",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/notifications": {
      "get": {
        "tags": [
          "Notifications"
        ],
        "summary": "Get user's notifications",
        "operationId": "listNotification",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      },
      "post": {
        "tags": [
          "Notifications"
        ],
        "summary": "Mark all as read",
        "operationId": "createNotification",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/notifications/{id}": {
      "delete": {
        "tags": [
          "Notifications"
        ],
        "summary": "Delete a notification",
        "operationId": "deleteNotification",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "patch": {
        "tags": [
          "Notifications"
        ],
        "summary": "Mark notification as read",
        "operationId": "patchNotification",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/organizations": {
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "The signed in user's nuclom organizations",
        "operationId": "listOrganization",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      },
      "post": {
        "tags": [
          "Organizations"
        ],
        "summary": "Create a platform organization and nuclom's row for it",
        "operationId": "createOrganization",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "description": "Create a platform organization and nuclom's row for it data",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "slug": {
                    "anyOf": [
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 50
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "description": {
                    "anyOf": [
                      {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "logo": {
                    "anyOf": [
                      {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": [
                  "name"
                ],
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/organizations/{id}": {
      "delete": {
        "tags": [
          "Organizations"
        ],
        "summary": "Delete the organization on the platform, then nuclom's data",
        "operationId": "deleteOrganization",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/organizations/{id}/analytics": {
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "Get organization analytics",
        "operationId": "getOrganizationAnalytic",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/organizations/{id}/audit-logs": {
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "Query audit logs",
        "operationId": "getOrganizationAudit-log",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "post": {
        "tags": [
          "Organizations"
        ],
        "summary": "Request audit log export",
        "operationId": "createOrganizationAudit-log",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/organizations/{id}/audit-logs/exports/{exportId}": {
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "Get export status",
        "operationId": "getOrganizationAudit-logExport",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          },
          {
            "name": "exportId",
            "in": "path",
            "description": "ExportId ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/organizations/{id}/audit-logs/stats": {
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "Get audit log statistics",
        "operationId": "getOrganizationAudit-logStat",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/organizations/{id}/invitations": {
      "delete": {
        "tags": [
          "Organizations"
        ],
        "summary": "Cancel an invitation",
        "operationId": "deleteOrganizationInvitation",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "Pending invitations",
        "operationId": "getOrganizationInvitation",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "post": {
        "tags": [
          "Organizations"
        ],
        "summary": "Invite someone by email",
        "operationId": "createOrganizationInvitation",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/organizations/{id}/members": {
      "delete": {
        "tags": [
          "Organizations"
        ],
        "summary": "Remove a member",
        "operationId": "deleteOrganizationMember",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "Get organization members",
        "operationId": "getOrganizationMember",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "patch": {
        "tags": [
          "Organizations"
        ],
        "summary": "Change a member's role",
        "operationId": "patchOrganizationMember",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/organizations/{id}/members/{userId}/permissions": {
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "Get user permissions",
        "operationId": "getOrganizationMemberPermission",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "description": "UserId ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/organizations/{id}/settings": {
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "Get organization settings",
        "operationId": "getOrganizationSetting",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "patch": {
        "tags": [
          "Organizations"
        ],
        "summary": "Update organization settings",
        "operationId": "patchOrganizationSetting",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "description": "Update organization settings data",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "description": {
                    "anyOf": [
                      {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "logo": {
                    "anyOf": [
                      {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/organizations/{id}/vocabulary": {
      "delete": {
        "tags": [
          "Organizations"
        ],
        "summary": "Delete vocabulary",
        "operationId": "deleteOrganizationVocabulary",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "Get vocabulary",
        "operationId": "getOrganizationVocabulary",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "patch": {
        "tags": [
          "Organizations"
        ],
        "summary": "Patch vocabulary",
        "operationId": "patchOrganizationVocabulary",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "post": {
        "tags": [
          "Organizations"
        ],
        "summary": "Create vocabulary",
        "operationId": "createOrganizationVocabulary",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/organizations/slug/{slug}": {
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "Get organization by slug",
        "operationId": "getOrganizationSlug",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "description": "Slug ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/search": {
      "get": {
        "tags": [
          "Search"
        ],
        "summary": "Search videos with full-text search",
        "operationId": "listSearch",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/search/history": {
      "delete": {
        "tags": [
          "Search"
        ],
        "summary": "Clear search history",
        "operationId": "deleteSearchHistory",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      },
      "get": {
        "tags": [
          "Search"
        ],
        "summary": "Get recent search history",
        "operationId": "listSearchHistory",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/search/hybrid": {
      "get": {
        "tags": [
          "Search"
        ],
        "summary": "Hybrid search via query params",
        "operationId": "listSearchHybrid",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      },
      "post": {
        "tags": [
          "Search"
        ],
        "summary": "Hybrid search combining keyword and semantic",
        "operationId": "createSearchHybrid",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/search/quick": {
      "get": {
        "tags": [
          "Search"
        ],
        "summary": "Quick search for command bar",
        "operationId": "listSearchQuick",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/search/saved": {
      "get": {
        "tags": [
          "Search"
        ],
        "summary": "Get saved searches",
        "operationId": "listSearchSaved",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      },
      "post": {
        "tags": [
          "Search"
        ],
        "summary": "Create a saved search",
        "operationId": "createSearchSaved",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/search/saved/{id}": {
      "delete": {
        "tags": [
          "Search"
        ],
        "summary": "Delete a saved search",
        "operationId": "deleteSearchSaved",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "patch": {
        "tags": [
          "Search"
        ],
        "summary": "Update a saved search",
        "operationId": "patchSearchSaved",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/search/semantic": {
      "get": {
        "tags": [
          "Search"
        ],
        "summary": "Simple semantic search via query params",
        "operationId": "listSearchSemantic",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      },
      "post": {
        "tags": [
          "Search"
        ],
        "summary": "Semantic search using embeddings",
        "operationId": "createSearchSemantic",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/search/suggestions": {
      "get": {
        "tags": [
          "Search"
        ],
        "summary": "Get search suggestions",
        "operationId": "listSearchSuggestion",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/search/unified": {
      "get": {
        "tags": [
          "Search"
        ],
        "summary": "Unified search across videos and content items",
        "operationId": "listSearchUnified",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/share/{id}": {
      "get": {
        "tags": [
          "Sharing"
        ],
        "summary": "Get share link data for public access",
        "operationId": "getShare",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "post": {
        "tags": [
          "Sharing"
        ],
        "summary": "Track view on share link (called when accessing)",
        "operationId": "createShare",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/share/{id}/verify": {
      "post": {
        "tags": [
          "Sharing"
        ],
        "summary": "Create verify",
        "operationId": "createShareVerify",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "400": {
            "description": "Invalid request"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/status": {
      "get": {
        "tags": [
          "Status"
        ],
        "summary": "Public status page endpoint",
        "operationId": "listStatu",
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/support": {
      "post": {
        "tags": [
          "Support"
        ],
        "summary": "Create support",
        "operationId": "createSupport",
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "400": {
            "description": "Invalid request"
          }
        }
      }
    },
    "/users/me": {
      "delete": {
        "tags": [
          "Users"
        ],
        "summary": "Request account deletion (soft delete with grace period)",
        "operationId": "deleteUserMe",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      },
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Get current user data",
        "operationId": "listUserMe",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      },
      "patch": {
        "tags": [
          "Users"
        ],
        "summary": "Update user settings (marketing consent, etc.)",
        "operationId": "patchUserMe",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      },
      "post": {
        "tags": [
          "Users"
        ],
        "summary": "Cancel account deletion",
        "operationId": "createUserMe",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/users/me/export": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "List export",
        "operationId": "listUserMeExport",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      },
      "post": {
        "tags": [
          "Users"
        ],
        "summary": "Create export",
        "operationId": "createUserMeExport",
        "responses": {
          "201": {
            "description": "Created successfully"
          }
        }
      }
    },
    "/users/me/preferences": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Get user preferences",
        "operationId": "listUserMePreferenc",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      },
      "put": {
        "tags": [
          "Users"
        ],
        "summary": "Update user preferences",
        "operationId": "updateUserMePreferenc",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/version": {
      "get": {
        "tags": [
          "Version"
        ],
        "summary": "List version",
        "operationId": "listVersion",
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/videos": {
      "get": {
        "tags": [
          "Videos"
        ],
        "summary": "List videos",
        "operationId": "listVideo",
        "description": "Get a paginated list of videos for an organization",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "List of videos with pagination",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
                            "format": "uuid"
                          },
                          "title": {
                            "type": "string"
                          },
                          "description": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "duration": {
                            "type": "string"
                          },
                          "thumbnailUrl": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "videoUrl": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "authorId": {
                            "type": "string",
                            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
                            "format": "uuid"
                          },
                          "organizationId": {
                            "type": "string",
                            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
                            "format": "uuid"
                          },
                          "channelId": {
                            "anyOf": [
                              {
                                "type": "string",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
                                "format": "uuid"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "collectionId": {
                            "anyOf": [
                              {
                                "type": "string",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
                                "format": "uuid"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "transcript": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "aiSummary": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "viewCount": {
                            "anyOf": [
                              {
                                "type": "number"
                              },
                              {
                                "type": "string",
                                "enum": [
                                  "Infinity",
                                  "-Infinity",
                                  "NaN"
                                ]
                              }
                            ]
                          },
                          "isPublic": {
                            "type": "boolean"
                          },
                          "isDeleted": {
                            "type": "boolean"
                          },
                          "deletedAt": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "retentionUntil": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "title",
                          "description",
                          "duration",
                          "thumbnailUrl",
                          "videoUrl",
                          "authorId",
                          "organizationId",
                          "channelId",
                          "collectionId",
                          "transcript",
                          "aiSummary",
                          "viewCount",
                          "isPublic",
                          "isDeleted",
                          "deletedAt",
                          "retentionUntil",
                          "createdAt",
                          "updatedAt"
                        ],
                        "additionalProperties": true
                      }
                    },
                    "pagination": {
                      "type": "object",
                      "properties": {
                        "page": {
                          "anyOf": [
                            {
                              "type": "number"
                            },
                            {
                              "type": "string",
                              "enum": [
                                "Infinity",
                                "-Infinity",
                                "NaN"
                              ]
                            }
                          ]
                        },
                        "limit": {
                          "anyOf": [
                            {
                              "type": "number"
                            },
                            {
                              "type": "string",
                              "enum": [
                                "Infinity",
                                "-Infinity",
                                "NaN"
                              ]
                            }
                          ]
                        },
                        "total": {
                          "anyOf": [
                            {
                              "type": "number"
                            },
                            {
                              "type": "string",
                              "enum": [
                                "Infinity",
                                "-Infinity",
                                "NaN"
                              ]
                            }
                          ]
                        },
                        "totalPages": {
                          "anyOf": [
                            {
                              "type": "number"
                            },
                            {
                              "type": "string",
                              "enum": [
                                "Infinity",
                                "-Infinity",
                                "NaN"
                              ]
                            }
                          ]
                        }
                      },
                      "required": [
                        "page",
                        "limit",
                        "total",
                        "totalPages"
                      ],
                      "additionalProperties": true
                    }
                  },
                  "required": [
                    "data",
                    "pagination"
                  ],
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "- Invalid request parameters"
          },
          "401": {
            "description": "- Unauthorized"
          }
        }
      },
      "post": {
        "tags": [
          "Videos"
        ],
        "summary": "Create video",
        "operationId": "createVideo",
        "description": "Create a new video entry with metadata",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "description": "Create video data",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  },
                  "description": {
                    "anyOf": [
                      {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "duration": {
                    "type": "string",
                    "minLength": 1
                  },
                  "thumbnailUrl": {
                    "anyOf": [
                      {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "videoUrl": {
                    "anyOf": [
                      {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "organizationId": {
                    "type": "string",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
                    "format": "uuid"
                  },
                  "transcript": {
                    "anyOf": [
                      {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "aiSummary": {
                    "anyOf": [
                      {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": [
                  "title",
                  "duration",
                  "organizationId"
                ],
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Video created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
                      "format": "uuid"
                    },
                    "title": {
                      "type": "string"
                    },
                    "description": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "duration": {
                      "type": "string"
                    },
                    "thumbnailUrl": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "videoUrl": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "authorId": {
                      "type": "string",
                      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
                      "format": "uuid"
                    },
                    "organizationId": {
                      "type": "string",
                      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
                      "format": "uuid"
                    },
                    "channelId": {
                      "anyOf": [
                        {
                          "type": "string",
                          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
                          "format": "uuid"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "collectionId": {
                      "anyOf": [
                        {
                          "type": "string",
                          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
                          "format": "uuid"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "transcript": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "aiSummary": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "viewCount": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "enum": [
                            "Infinity",
                            "-Infinity",
                            "NaN"
                          ]
                        }
                      ]
                    },
                    "isPublic": {
                      "type": "boolean"
                    },
                    "isDeleted": {
                      "type": "boolean"
                    },
                    "deletedAt": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "retentionUntil": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "createdAt": {
                      "type": "string"
                    },
                    "updatedAt": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "title",
                    "description",
                    "duration",
                    "thumbnailUrl",
                    "videoUrl",
                    "authorId",
                    "organizationId",
                    "channelId",
                    "collectionId",
                    "transcript",
                    "aiSummary",
                    "viewCount",
                    "isPublic",
                    "isDeleted",
                    "deletedAt",
                    "retentionUntil",
                    "createdAt",
                    "updatedAt"
                  ],
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "- Invalid request body"
          },
          "401": {
            "description": "- Unauthorized"
          }
        }
      }
    },
    "/videos/{id}": {
      "delete": {
        "tags": [
          "Videos"
        ],
        "summary": "Delete video",
        "operationId": "deleteVideo",
        "description": "DELETE /api/videos/[id]\n\nBy default, performs a soft delete with a 30-day retention period.\nQuery parameters:\n- permanent=true: Permanently delete the video and clean up R2 storage\n- retentionDays=N: Override the default retention period (only for soft delete)",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "get": {
        "tags": [
          "Videos"
        ],
        "summary": "Get video details",
        "operationId": "getVideo",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "put": {
        "tags": [
          "Videos"
        ],
        "summary": "Update video",
        "operationId": "updateVideo",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/videos/{id}/analytics/talk-time": {
      "get": {
        "tags": [
          "Videos"
        ],
        "summary": "Get talk time distribution",
        "operationId": "getVideoAnalyticTalk-time",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/videos/{id}/chapters": {
      "get": {
        "tags": [
          "Videos"
        ],
        "summary": "Get video chapters",
        "operationId": "getVideoChapter",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/videos/{id}/clips": {
      "get": {
        "tags": [
          "Videos"
        ],
        "summary": "List all clips for a video",
        "operationId": "getVideoClip",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "post": {
        "tags": [
          "Videos"
        ],
        "summary": "Create a new clip from a video",
        "operationId": "createVideoClip",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "description": "Create a new clip from a video data",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  },
                  "description": {
                    "anyOf": [
                      {
                        "anyOf": [
                          {
                            "type": "string",
                            "maxLength": 1000
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "startTime": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "enum": [
                          "Infinity",
                          "-Infinity",
                          "NaN"
                        ]
                      }
                    ]
                  },
                  "endTime": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "enum": [
                          "Infinity",
                          "-Infinity",
                          "NaN"
                        ]
                      }
                    ]
                  },
                  "momentId": {
                    "anyOf": [
                      {
                        "anyOf": [
                          {
                            "type": "string",
                            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
                            "format": "uuid"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "momentType": {
                    "anyOf": [
                      {
                        "type": "string",
                        "enum": [
                          "decision",
                          "action_item",
                          "question",
                          "answer",
                          "emphasis",
                          "demonstration",
                          "conclusion",
                          "highlight"
                        ]
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "transcriptExcerpt": {
                    "anyOf": [
                      {
                        "anyOf": [
                          {
                            "type": "string",
                            "maxLength": 5000
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": [
                  "title",
                  "startTime",
                  "endTime"
                ],
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/videos/{id}/decisions": {
      "get": {
        "tags": [
          "Videos"
        ],
        "summary": "Get decisions extracted from this video",
        "operationId": "getVideoDecision",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/videos/{id}/embeddings": {
      "delete": {
        "tags": [
          "Videos"
        ],
        "summary": "Delete embeddings for a video",
        "operationId": "deleteVideoEmbedding",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "get": {
        "tags": [
          "Videos"
        ],
        "summary": "Get embedding status for a video",
        "operationId": "getVideoEmbedding",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "post": {
        "tags": [
          "Videos"
        ],
        "summary": "Generate embeddings for a video",
        "operationId": "createVideoEmbedding",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/videos/{id}/moments": {
      "get": {
        "tags": [
          "Videos"
        ],
        "summary": "Get auto-detected moments for a video",
        "operationId": "getVideoMoment",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/videos/{id}/presence": {
      "get": {
        "tags": [
          "Videos"
        ],
        "summary": "Get all users currently watching a video",
        "operationId": "getVideoPresence",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "post": {
        "tags": [
          "Videos"
        ],
        "summary": "Create presence",
        "operationId": "createVideoPresence",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/videos/{id}/process": {
      "get": {
        "tags": [
          "Videos"
        ],
        "summary": "Get processing status",
        "operationId": "getVideoProcess",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "post": {
        "tags": [
          "Videos"
        ],
        "summary": "Trigger AI processing",
        "operationId": "createVideoProcess",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/videos/{id}/progress": {
      "delete": {
        "tags": [
          "Videos"
        ],
        "summary": "Delete video progress for current user",
        "operationId": "deleteVideoProgress",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "get": {
        "tags": [
          "Videos"
        ],
        "summary": "Get video progress for current user",
        "operationId": "getVideoProgress",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "patch": {
        "tags": [
          "Videos"
        ],
        "summary": "Patch progress",
        "operationId": "patchVideoProgress",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/videos/{id}/restore": {
      "post": {
        "tags": [
          "Videos"
        ],
        "summary": "Restore a soft-deleted video",
        "operationId": "createVideoRestore",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/videos/{id}/share": {
      "get": {
        "tags": [
          "Videos"
        ],
        "summary": "List share links for video",
        "operationId": "getVideoShare",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "post": {
        "tags": [
          "Videos"
        ],
        "summary": "Create share",
        "operationId": "createVideoShare",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/videos/{id}/share/{linkId}": {
      "delete": {
        "tags": [
          "Videos"
        ],
        "summary": "Revoke share link",
        "operationId": "deleteVideoShare",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          },
          {
            "name": "linkId",
            "in": "path",
            "description": "LinkId ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/videos/{id}/shares": {
      "delete": {
        "tags": [
          "Videos"
        ],
        "summary": "Remove a share by ID (query param: shareId)",
        "operationId": "deleteVideoShar",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "get": {
        "tags": [
          "Videos"
        ],
        "summary": "List shares for a video",
        "operationId": "getVideoShar",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "post": {
        "tags": [
          "Videos"
        ],
        "summary": "Create shar",
        "operationId": "createVideoShar",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/videos/{id}/similar": {
      "get": {
        "tags": [
          "Videos"
        ],
        "summary": "Find similar videos",
        "operationId": "getVideoSimilar",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/videos/{id}/speakers": {
      "get": {
        "tags": [
          "Videos"
        ],
        "summary": "Get speakers in a video with talk time stats",
        "operationId": "getVideoSpeaker",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "patch": {
        "tags": [
          "Videos"
        ],
        "summary": "Patch speaker",
        "operationId": "patchVideoSpeaker",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/videos/{id}/speakers/{speakerId}": {
      "delete": {
        "tags": [
          "Videos"
        ],
        "summary": "Unlink speaker from user",
        "operationId": "deleteVideoSpeaker",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          },
          {
            "name": "speakerId",
            "in": "path",
            "description": "SpeakerId ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "get": {
        "tags": [
          "Videos"
        ],
        "summary": "Get speaker details and segments",
        "operationId": "getVideoSpeaker",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          },
          {
            "name": "speakerId",
            "in": "path",
            "description": "SpeakerId ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/videos/{id}/stream": {
      "get": {
        "tags": [
          "Videos"
        ],
        "summary": "Get presigned URL for video streaming",
        "operationId": "getVideoStream",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/videos/{id}/subtitles": {
      "get": {
        "tags": [
          "Videos"
        ],
        "summary": "Get Subtitle Availability",
        "operationId": "getVideoSubtitl",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/videos/{id}/subtitles/en": {
      "get": {
        "tags": [
          "Videos"
        ],
        "summary": "Get English Subtitles",
        "operationId": "getVideoSubtitlEn",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/videos/{id}/transcript": {
      "get": {
        "tags": [
          "Videos"
        ],
        "summary": "Get Transcript",
        "operationId": "getVideoTranscript",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "put": {
        "tags": [
          "Videos"
        ],
        "summary": "Update Transcript",
        "operationId": "updateVideoTranscript",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/videos/{id}/views": {
      "get": {
        "tags": [
          "Videos"
        ],
        "summary": "Get view count for a video",
        "operationId": "getVideoView",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "patch": {
        "tags": [
          "Videos"
        ],
        "summary": "Patch view",
        "operationId": "patchVideoView",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "post": {
        "tags": [
          "Videos"
        ],
        "summary": "Create view",
        "operationId": "createVideoView",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "400": {
            "description": "Invalid request"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/videos/cleanup": {
      "post": {
        "tags": [
          "Videos"
        ],
        "summary": "Create cleanup",
        "operationId": "createVideoCleanup",
        "description": "POST /api/videos/cleanup\n\nPermanently deletes all videos past their retention period.\nThis endpoint should be called by a cron job or admin user.\n\nRequires admin role or `Authorization: Bearer $CRON_SECRET`.",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/videos/deleted": {
      "get": {
        "tags": [
          "Videos"
        ],
        "summary": "Get soft-deleted videos for the organization",
        "operationId": "listVideoDeleted",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/videos/search": {
      "get": {
        "tags": [
          "Videos"
        ],
        "summary": "List search",
        "operationId": "listVideoSearch",
        "description": "GET /api/videos/search\n\nSearch videos with full-text search and filters.\n\nQuery parameters:\n- q: Search query (required)\n- authorId: Filter by author\n- dateFrom: Filter by start date (ISO 8601)\n- dateTo: Filter by end date (ISO 8601)\n- page: Page number (default: 1)\n- limit: Results per page (default: 20)",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/videos/upload": {
      "post": {
        "tags": [
          "Videos"
        ],
        "summary": "Upload a video file",
        "operationId": "createVideoUpload",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/videos/upload/confirm": {
      "post": {
        "tags": [
          "Videos"
        ],
        "summary": "Confirm upload and create video record",
        "operationId": "createVideoUploadConfirm",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/videos/upload/presigned": {
      "post": {
        "tags": [
          "Videos"
        ],
        "summary": "Generate presigned upload URL(s)",
        "operationId": "createVideoUploadPresigned",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/videos/upload/url": {
      "post": {
        "tags": [
          "Videos"
        ],
        "summary": "Import video from URL",
        "operationId": "createVideoUploadUrl",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/webhooks/zapier": {
      "get": {
        "tags": [
          "Webhooks"
        ],
        "summary": "List zapier",
        "operationId": "listWebhookZapier",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      },
      "post": {
        "tags": [
          "Webhooks"
        ],
        "summary": "Create zapier",
        "operationId": "createWebhookZapier",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/webhooks/zapier/{webhookId}": {
      "delete": {
        "tags": [
          "Webhooks"
        ],
        "summary": "Delete zapier",
        "operationId": "deleteWebhookZapier",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "webhookId",
            "in": "path",
            "description": "WebhookId ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "get": {
        "tags": [
          "Webhooks"
        ],
        "summary": "Get zapier",
        "operationId": "getWebhookZapier",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "webhookId",
            "in": "path",
            "description": "WebhookId ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "patch": {
        "tags": [
          "Webhooks"
        ],
        "summary": "Patch zapier",
        "operationId": "patchWebhookZapier",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "webhookId",
            "in": "path",
            "description": "WebhookId ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/webhooks/zapier/{webhookId}/deliveries": {
      "get": {
        "tags": [
          "Webhooks"
        ],
        "summary": "Get delivery",
        "operationId": "getWebhookZapierDelivery",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "webhookId",
            "in": "path",
            "description": "WebhookId ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "post": {
        "tags": [
          "Webhooks"
        ],
        "summary": "Create delivery",
        "operationId": "createWebhookZapierDelivery",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "webhookId",
            "in": "path",
            "description": "WebhookId ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/workflow-templates": {
      "get": {
        "tags": [
          "Workflow-templates"
        ],
        "summary": "List available templates",
        "operationId": "listWorkflow-templat",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      },
      "post": {
        "tags": [
          "Workflow-templates"
        ],
        "summary": "Create a custom template",
        "operationId": "createWorkflow-templat",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/workflow-templates/{id}": {
      "delete": {
        "tags": [
          "Workflow-templates"
        ],
        "summary": "Delete a template",
        "operationId": "deleteWorkflow-templat",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "get": {
        "tags": [
          "Workflow-templates"
        ],
        "summary": "Get a specific template",
        "operationId": "getWorkflow-templat",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "patch": {
        "tags": [
          "Workflow-templates"
        ],
        "summary": "Update a template",
        "operationId": "patchWorkflow-templat",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "post": {
        "tags": [
          "Workflow-templates"
        ],
        "summary": "Apply template (increment usage)",
        "operationId": "createWorkflow-templat",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id ID",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created successfully"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {},
    "parameters": {
      "organizationId": {
        "name": "organizationId",
        "in": "query",
        "description": "Organization ID to scope the request",
        "required": true,
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      },
      "page": {
        "name": "page",
        "in": "query",
        "description": "Page number for pagination",
        "required": false,
        "schema": {
          "type": "integer",
          "minimum": 1,
          "default": 1
        }
      },
      "limit": {
        "name": "limit",
        "in": "query",
        "description": "Number of items per page",
        "required": false,
        "schema": {
          "type": "integer",
          "minimum": 1,
          "maximum": 100,
          "default": 20
        }
      }
    },
    "responses": {
      "BadRequest": {
        "description": "Invalid request parameters",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string"
                },
                "code": {
                  "type": "string"
                },
                "details": {
                  "type": "object"
                }
              },
              "required": [
                "error",
                "code"
              ]
            }
          }
        }
      },
      "Unauthorized": {
        "description": "Missing or invalid authentication",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Unauthorized"
                },
                "code": {
                  "type": "string",
                  "example": "AUTH_REQUIRED"
                }
              },
              "required": [
                "error",
                "code"
              ]
            }
          }
        }
      },
      "NotFound": {
        "description": "Resource not found",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Not found"
                },
                "code": {
                  "type": "string",
                  "example": "NOT_FOUND"
                }
              },
              "required": [
                "error",
                "code"
              ]
            }
          }
        }
      }
    },
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "description": "Authentication token from login or API key"
      }
    }
  }
}