kaneo

GitHub

🎯 All you need. Nothing you don't. Open source project management that works for you, not against you.

Raw JSON API

Kaneo API Specification

Located in apps/docs/openapi.json on branch HEAD

3.0.3 JSON 105 Endpoints 448.7 KB

Operations & Route Endpoints (100)

GET /instance/status
Get Instance Status
GET /auth/get-session
Get Session
GET /asset/{id}
Get Asset
GET /config
Get Config
GET /auth/device
Get Device Authorization Page
GET /oauth/id-token
Get OAuth Id Token
GET /project
List Projects
POST /project
Create Project
GET /project/{id}
Get Project
PUT /project/{id}
Update Project
DELETE /project/{id}
Delete Project
PUT /project/{id}/archive
Archive Project
PUT /project/{id}/unarchive
Unarchive Project
GET /task/tasks/{projectId}
List Tasks
PATCH /task/bulk
Bulk Update Tasks
POST /task/{projectId}
Create Task
GET /task/{id}
Get Task
PUT /task/{id}
Update Task
DELETE /task/{id}
Delete Task
PUT /task/move/{id}
Move Task
GET /task/export/{projectId}
Export Tasks
POST /task/import/{projectId}
Import Tasks
PUT /task/status/{id}
Update Task Status
PUT /task/priority/{id}
Update Task Priority
PUT /task/assignee/{id}
Update Task Assignee
PUT /task/due-date/{id}
Update Task Due Date
PUT /task/title/{id}
Update Task Title
PUT /task/image-upload/{id}
Create Task Image Upload
POST /task/image-upload/{id}/finalize
Finalize Task Image Upload
PUT /task/description/{id}
Update Task Description
GET /column/{projectId}
Get Columns
POST /column/{projectId}
Create Column
PUT /column/reorder/{projectId}
Reorder Columns
PUT /column/{id}
Update Column
DELETE /column/{id}
Delete Column
GET /activity/{taskId}
Get Activities
POST /activity/create
Create Activity
POST /activity/comment
Create Comment
PUT /activity/comment
Update Comment
DELETE /activity/comment
Delete Comment
GET /comment/{taskId}
Get Task Comments
POST /comment/{taskId}
Create Task Comment
PUT /comment/{id}
Update Task Comment
DELETE /comment/{id}
Delete Task Comment
GET /time-entry/task/{taskId}
Get Task Time Entries
GET /time-entry/{id}
Get Time Entry
PUT /time-entry/{id}
Update Time Entry
POST /time-entry
Create Time Entry
GET /label/task/{taskId}
Get Task Labels
GET /label/workspace/{workspaceId}
Get Workspace Labels
POST /label
Create Label
GET /label/{id}
Get Label
PUT /label/{id}
Update Label
DELETE /label/{id}
Delete Label
PUT /label/{id}/task
Attach Label To Task
DELETE /label/{id}/task
Detach Label From Task
GET /notification
List Notifications
POST /notification
Create Notification
PATCH /notification/{id}/read
Mark Notification As Read
PATCH /notification/read-all
Mark All Notifications As Read
DELETE /notification/clear-all
Clear All Notifications
GET /notification-preferences
Get Notification Preferences
PUT /notification-preferences
Update Notification Preferences
PUT /notification-preferences/workspaces/{workspaceId}
Upsert Notification Preference Workspace Rule
DELETE /notification-preferences/workspaces/{workspaceId}
Delete Notification Preference Workspace Rule
GET /search
Global Search
GET /github-integration/app-info
Get Git Hub App Info
GET /github-integration/repositories
List Git Hub Repositories
POST /github-integration/verify
Verify Git Hub Installation
GET /github-integration/project/{projectId}
Get Git Hub Integration
POST /github-integration/project/{projectId}
Create Git Hub Integration
PATCH /github-integration/project/{projectId}
Update Git Hub Integration
DELETE /github-integration/project/{projectId}
Delete Git Hub Integration
POST /github-integration/import-issues
Import Git Hub Issues
POST /gitea-integration/repositories
List Gitea Repositories
POST /gitea-integration/verify
Verify Gitea Access
GET /gitea-integration/project/{projectId}
Get Gitea Integration
POST /gitea-integration/project/{projectId}
Create Gitea Integration
PATCH /gitea-integration/project/{projectId}
Update Gitea Integration
DELETE /gitea-integration/project/{projectId}
Delete Gitea Integration
POST /gitea-integration/import-issues
Import Gitea Issues
GET /generic-webhook-integration/project/{projectId}
Get Generic Webhook Integration
POST /generic-webhook-integration/project/{projectId}
Create Generic Webhook Integration
PATCH /generic-webhook-integration/project/{projectId}
Update Generic Webhook Integration
DELETE /generic-webhook-integration/project/{projectId}
Delete Generic Webhook Integration
GET /discord-integration/project/{projectId}
Get Discord Integration
POST /discord-integration/project/{projectId}
Create Discord Integration
PATCH /discord-integration/project/{projectId}
Update Discord Integration
DELETE /discord-integration/project/{projectId}
Delete Discord Integration
GET /slack-integration/project/{projectId}
Get Slack Integration
POST /slack-integration/project/{projectId}
Create Slack Integration
PATCH /slack-integration/project/{projectId}
Update Slack Integration
DELETE /slack-integration/project/{projectId}
Delete Slack Integration
GET /telegram-integration/project/{projectId}
Get Telegram Integration
POST /telegram-integration/project/{projectId}
Create Telegram Integration
PATCH /telegram-integration/project/{projectId}
Update Telegram Integration
DELETE /telegram-integration/project/{projectId}
Delete Telegram Integration
GET /task-relation/{taskId}
Get Task Relations
POST /task-relation
Create Task Relation
DELETE /task-relation/{id}
Delete Task Relation
Raw JSON Specification
{
  "openapi": "3.0.3",
  "info": {
    "title": "Kaneo API",
    "description": "Kaneo Project Management API - Manage projects, tasks, labels, and more",
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "https://cloud.kaneo.app/api",
      "description": "Kaneo API Server"
    }
  ],
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "description": "Bearer token authentication"
      },
      "apiKeyCookie": {
        "type": "apiKey",
        "in": "cookie",
        "name": "apiKeyCookie",
        "description": "API Key authentication via cookie"
      }
    },
    "schemas": {
      "Organization": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "logo": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "metadata": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "name",
          "slug",
          "createdAt"
        ]
      },
      "Team": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "organizationId": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "required": [
          "name",
          "organizationId",
          "createdAt"
        ]
      }
    }
  },
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "paths": {
    "/instance/status": {
      "get": {
        "operationId": "getInstanceStatus",
        "tags": [
          "Instance"
        ],
        "description": "Public instance setup status. When hasUsers is false the next signup becomes the instance admin.",
        "security": [],
        "responses": {
          "200": {
            "description": "Instance status",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "hasUsers": {
                      "type": "boolean"
                    },
                    "hasAdmin": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "hasUsers",
                    "hasAdmin"
                  ]
                }
              }
            }
          }
        },
        "summary": "Get Instance Status"
      }
    },
    "/auth/get-session": {
      "get": {
        "operationId": "getSession",
        "tags": [
          "Authentication"
        ],
        "description": "Get the current authenticated session",
        "security": [],
        "responses": {
          "200": {
            "description": "Current session details or null when unauthenticated",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "summary": "Get Session"
      }
    },
    "/asset/{id}": {
      "get": {
        "operationId": "getAsset",
        "tags": [
          "Assets"
        ],
        "description": "Download an uploaded asset by ID",
        "security": [],
        "responses": {
          "200": {
            "description": "The requested asset binary stream",
            "content": {
              "*/*": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "summary": "Get Asset"
      }
    },
    "/config": {
      "get": {
        "operationId": "getConfig",
        "tags": [
          "Config"
        ],
        "description": "Get application settings and configuration",
        "responses": {
          "200": {
            "description": "Application settings",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "disableRegistration": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "disablePasswordRegistration": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "disableEmailOtpSignIn": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "isDemoMode": {
                      "type": "boolean"
                    },
                    "hasSmtp": {
                      "type": "boolean"
                    },
                    "hasGithubSignIn": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "hasGoogleSignIn": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "hasDiscordSignIn": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "hasCustomOAuth": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "hasGuestAccess": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "disableLoginForm": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "customOAuthAutoLogin": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "customOAuthLogoutUrl": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "disableRegistration",
                    "disablePasswordRegistration",
                    "disableEmailOtpSignIn",
                    "isDemoMode",
                    "hasSmtp",
                    "hasGithubSignIn",
                    "hasGoogleSignIn",
                    "hasDiscordSignIn",
                    "hasCustomOAuth",
                    "hasGuestAccess",
                    "disableLoginForm",
                    "customOAuthAutoLogin",
                    "customOAuthLogoutUrl"
                  ]
                }
              }
            }
          }
        },
        "summary": "Get Config"
      }
    },
    "/auth/device": {
      "get": {
        "operationId": "getDeviceAuthorizationPage",
        "tags": [
          "Authentication"
        ],
        "description": "Redirect browser-based device authorization requests to the web UI",
        "security": [],
        "parameters": [
          {
            "in": "query",
            "name": "user_code",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "ui",
            "schema": {
              "enum": [
                "1"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Device authorization payload from Better Auth",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "302": {
            "description": "Redirects the browser to the web app device screen"
          }
        },
        "summary": "Get Device Authorization Page"
      }
    },
    "/oauth/id-token": {
      "get": {
        "operationId": "getOAuthIdToken",
        "tags": [
          "Authentication"
        ],
        "description": "Get the id_token for the current user's custom OAuth account",
        "responses": {
          "200": {
            "description": "The id_token if available",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "idToken": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "idToken"
                  ]
                }
              }
            }
          }
        },
        "summary": "Get OAuth Id Token"
      }
    },
    "/project": {
      "get": {
        "operationId": "listProjects",
        "tags": [
          "Projects"
        ],
        "description": "Get all projects in a workspace",
        "responses": {
          "200": {
            "description": "List of projects with statistics",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "workspaceId": {
                        "type": "string"
                      },
                      "slug": {
                        "type": "string"
                      },
                      "icon": {
                        "type": "string",
                        "nullable": true
                      },
                      "name": {
                        "type": "string"
                      },
                      "description": {
                        "type": "string",
                        "nullable": true
                      },
                      "createdAt": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "isPublic": {
                        "type": "boolean",
                        "nullable": true
                      },
                      "archivedAt": {
                        "nullable": true
                      }
                    },
                    "required": [
                      "id",
                      "workspaceId",
                      "slug",
                      "icon",
                      "name",
                      "description",
                      "createdAt",
                      "isPublic",
                      "archivedAt"
                    ]
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "query",
            "name": "workspaceId",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "in": "query",
            "name": "includeArchived",
            "schema": {
              "type": "string"
            }
          }
        ],
        "summary": "List Projects"
      },
      "post": {
        "operationId": "createProject",
        "tags": [
          "Projects"
        ],
        "description": "Create a new project in a workspace",
        "responses": {
          "200": {
            "description": "Project created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "workspaceId": {
                      "type": "string"
                    },
                    "slug": {
                      "type": "string"
                    },
                    "icon": {
                      "type": "string",
                      "nullable": true
                    },
                    "name": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string",
                      "nullable": true
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "isPublic": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "archivedAt": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "id",
                    "workspaceId",
                    "slug",
                    "icon",
                    "name",
                    "description",
                    "createdAt",
                    "isPublic",
                    "archivedAt"
                  ]
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "workspaceId": {
                    "type": "string"
                  },
                  "icon": {
                    "type": "string"
                  },
                  "slug": {
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "workspaceId",
                  "icon",
                  "slug"
                ]
              }
            }
          }
        },
        "summary": "Create Project"
      }
    },
    "/project/{id}": {
      "get": {
        "operationId": "getProject",
        "tags": [
          "Projects"
        ],
        "description": "Get a specific project by ID",
        "responses": {
          "200": {
            "description": "Project details",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "workspaceId": {
                      "type": "string"
                    },
                    "slug": {
                      "type": "string"
                    },
                    "icon": {
                      "type": "string",
                      "nullable": true
                    },
                    "name": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string",
                      "nullable": true
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "isPublic": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "archivedAt": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "id",
                    "workspaceId",
                    "slug",
                    "icon",
                    "name",
                    "description",
                    "createdAt",
                    "isPublic",
                    "archivedAt"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "summary": "Get Project"
      },
      "put": {
        "operationId": "updateProject",
        "tags": [
          "Projects"
        ],
        "description": "Update an existing project",
        "responses": {
          "200": {
            "description": "Project updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "workspaceId": {
                      "type": "string"
                    },
                    "slug": {
                      "type": "string"
                    },
                    "icon": {
                      "type": "string",
                      "nullable": true
                    },
                    "name": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string",
                      "nullable": true
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "isPublic": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "archivedAt": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "id",
                    "workspaceId",
                    "slug",
                    "icon",
                    "name",
                    "description",
                    "createdAt",
                    "isPublic",
                    "archivedAt"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "icon": {
                    "type": "string"
                  },
                  "slug": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "isPublic": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "name",
                  "icon",
                  "slug",
                  "description",
                  "isPublic"
                ]
              }
            }
          }
        },
        "summary": "Update Project"
      },
      "delete": {
        "operationId": "deleteProject",
        "tags": [
          "Projects"
        ],
        "description": "Delete a project by ID",
        "responses": {
          "200": {
            "description": "Project deleted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "workspaceId": {
                      "type": "string"
                    },
                    "slug": {
                      "type": "string"
                    },
                    "icon": {
                      "type": "string",
                      "nullable": true
                    },
                    "name": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string",
                      "nullable": true
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "isPublic": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "archivedAt": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "id",
                    "workspaceId",
                    "slug",
                    "icon",
                    "name",
                    "description",
                    "createdAt",
                    "isPublic",
                    "archivedAt"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "summary": "Delete Project"
      }
    },
    "/project/{id}/archive": {
      "put": {
        "operationId": "archiveProject",
        "tags": [
          "Projects"
        ],
        "description": "Archive a project by ID",
        "responses": {
          "200": {
            "description": "Project archived successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "workspaceId": {
                      "type": "string"
                    },
                    "slug": {
                      "type": "string"
                    },
                    "icon": {
                      "type": "string",
                      "nullable": true
                    },
                    "name": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string",
                      "nullable": true
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "isPublic": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "archivedAt": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "id",
                    "workspaceId",
                    "slug",
                    "icon",
                    "name",
                    "description",
                    "createdAt",
                    "isPublic",
                    "archivedAt"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "summary": "Archive Project"
      }
    },
    "/project/{id}/unarchive": {
      "put": {
        "operationId": "unarchiveProject",
        "tags": [
          "Projects"
        ],
        "description": "Unarchive a project by ID",
        "responses": {
          "200": {
            "description": "Project unarchived successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "workspaceId": {
                      "type": "string"
                    },
                    "slug": {
                      "type": "string"
                    },
                    "icon": {
                      "type": "string",
                      "nullable": true
                    },
                    "name": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string",
                      "nullable": true
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "isPublic": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "archivedAt": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "id",
                    "workspaceId",
                    "slug",
                    "icon",
                    "name",
                    "description",
                    "createdAt",
                    "isPublic",
                    "archivedAt"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "summary": "Unarchive Project"
      }
    },
    "/task/tasks/{projectId}": {
      "get": {
        "operationId": "listTasks",
        "tags": [
          "Tasks"
        ],
        "description": "Get all tasks for a specific project",
        "responses": {
          "200": {
            "description": "Project with tasks organized by columns",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "projectId",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "in": "query",
            "name": "status",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "priority",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "assigneeId",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "sortBy",
            "schema": {
              "enum": [
                "createdAt",
                "priority",
                "dueDate",
                "position",
                "title",
                "number"
              ],
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "sortOrder",
            "schema": {
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "dueBefore",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "dueAfter",
            "schema": {
              "type": "string"
            }
          }
        ],
        "summary": "List Tasks"
      }
    },
    "/task/bulk": {
      "patch": {
        "operationId": "bulkUpdateTasks",
        "tags": [
          "Tasks"
        ],
        "description": "Perform bulk operations on multiple tasks",
        "responses": {
          "200": {
            "description": "Bulk operation completed successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "updatedCount": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "success",
                    "updatedCount"
                  ]
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "taskIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "minItems": 1
                  },
                  "operation": {
                    "enum": [
                      "updateStatus",
                      "updatePriority",
                      "updateAssignee",
                      "delete",
                      "addLabel",
                      "removeLabel",
                      "updateDueDate"
                    ],
                    "type": "string"
                  },
                  "value": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "required": [
                  "taskIds",
                  "operation"
                ]
              }
            }
          }
        },
        "summary": "Bulk Update Tasks"
      }
    },
    "/task/{projectId}": {
      "post": {
        "operationId": "createTask",
        "tags": [
          "Tasks"
        ],
        "description": "Create a new task in a project",
        "responses": {
          "200": {
            "description": "Task created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "projectId": {
                      "type": "string"
                    },
                    "position": {
                      "type": "number",
                      "nullable": true
                    },
                    "number": {
                      "type": "number",
                      "nullable": true
                    },
                    "userId": {
                      "type": "string",
                      "nullable": true
                    },
                    "title": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string",
                      "nullable": true
                    },
                    "status": {
                      "type": "string"
                    },
                    "priority": {
                      "enum": [
                        "no-priority",
                        "low",
                        "medium",
                        "high",
                        "urgent"
                      ],
                      "type": "string"
                    },
                    "startDate": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "dueDate": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "projectId",
                    "position",
                    "number",
                    "userId",
                    "title",
                    "description",
                    "status",
                    "priority",
                    "createdAt"
                  ]
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "startDate": {
                    "type": "string"
                  },
                  "dueDate": {
                    "type": "string"
                  },
                  "priority": {
                    "enum": [
                      "no-priority",
                      "low",
                      "medium",
                      "high",
                      "urgent"
                    ],
                    "type": "string"
                  },
                  "status": {
                    "type": "string"
                  },
                  "userId": {
                    "type": "string"
                  }
                },
                "required": [
                  "title",
                  "description",
                  "priority",
                  "status"
                ]
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "projectId",
            "required": true
          }
        ],
        "summary": "Create Task"
      }
    },
    "/task/{id}": {
      "get": {
        "operationId": "getTask",
        "tags": [
          "Tasks"
        ],
        "description": "Get a specific task by ID",
        "responses": {
          "200": {
            "description": "Task details",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "projectId": {
                      "type": "string"
                    },
                    "position": {
                      "type": "number",
                      "nullable": true
                    },
                    "number": {
                      "type": "number",
                      "nullable": true
                    },
                    "userId": {
                      "type": "string",
                      "nullable": true
                    },
                    "title": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string",
                      "nullable": true
                    },
                    "status": {
                      "type": "string"
                    },
                    "priority": {
                      "enum": [
                        "no-priority",
                        "low",
                        "medium",
                        "high",
                        "urgent"
                      ],
                      "type": "string"
                    },
                    "startDate": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "dueDate": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "projectId",
                    "position",
                    "number",
                    "userId",
                    "title",
                    "description",
                    "status",
                    "priority",
                    "createdAt"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "summary": "Get Task"
      },
      "put": {
        "operationId": "updateTask",
        "tags": [
          "Tasks"
        ],
        "description": "Update all fields of a task",
        "responses": {
          "200": {
            "description": "Task updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "projectId": {
                      "type": "string"
                    },
                    "position": {
                      "type": "number",
                      "nullable": true
                    },
                    "number": {
                      "type": "number",
                      "nullable": true
                    },
                    "userId": {
                      "type": "string",
                      "nullable": true
                    },
                    "title": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string",
                      "nullable": true
                    },
                    "status": {
                      "type": "string"
                    },
                    "priority": {
                      "enum": [
                        "no-priority",
                        "low",
                        "medium",
                        "high",
                        "urgent"
                      ],
                      "type": "string"
                    },
                    "startDate": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "dueDate": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "projectId",
                    "position",
                    "number",
                    "userId",
                    "title",
                    "description",
                    "status",
                    "priority",
                    "createdAt"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "startDate": {
                    "type": "string"
                  },
                  "dueDate": {
                    "type": "string"
                  },
                  "priority": {
                    "enum": [
                      "no-priority",
                      "low",
                      "medium",
                      "high",
                      "urgent"
                    ],
                    "type": "string"
                  },
                  "status": {
                    "type": "string"
                  },
                  "projectId": {
                    "type": "string"
                  },
                  "position": {
                    "type": "number"
                  },
                  "userId": {
                    "type": "string"
                  }
                },
                "required": [
                  "title",
                  "description",
                  "priority",
                  "status",
                  "projectId",
                  "position"
                ]
              }
            }
          }
        },
        "summary": "Update Task"
      },
      "delete": {
        "operationId": "deleteTask",
        "tags": [
          "Tasks"
        ],
        "description": "Delete a task by ID",
        "responses": {
          "200": {
            "description": "Task deleted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "projectId": {
                      "type": "string"
                    },
                    "position": {
                      "type": "number",
                      "nullable": true
                    },
                    "number": {
                      "type": "number",
                      "nullable": true
                    },
                    "userId": {
                      "type": "string",
                      "nullable": true
                    },
                    "title": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string",
                      "nullable": true
                    },
                    "status": {
                      "type": "string"
                    },
                    "priority": {
                      "enum": [
                        "no-priority",
                        "low",
                        "medium",
                        "high",
                        "urgent"
                      ],
                      "type": "string"
                    },
                    "startDate": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "dueDate": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "projectId",
                    "position",
                    "number",
                    "userId",
                    "title",
                    "description",
                    "status",
                    "priority",
                    "createdAt"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "summary": "Delete Task"
      }
    },
    "/task/move/{id}": {
      "put": {
        "operationId": "moveTask",
        "tags": [
          "Tasks"
        ],
        "description": "Move a task to another project",
        "responses": {
          "200": {
            "description": "Task moved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "task": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "projectId": {
                          "type": "string"
                        },
                        "position": {
                          "type": "number",
                          "nullable": true
                        },
                        "number": {
                          "type": "number",
                          "nullable": true
                        },
                        "userId": {
                          "type": "string",
                          "nullable": true
                        },
                        "title": {
                          "type": "string"
                        },
                        "description": {
                          "type": "string",
                          "nullable": true
                        },
                        "status": {
                          "type": "string"
                        },
                        "priority": {
                          "enum": [
                            "no-priority",
                            "low",
                            "medium",
                            "high",
                            "urgent"
                          ],
                          "type": "string"
                        },
                        "startDate": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "dueDate": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "createdAt": {
                          "type": "string",
                          "format": "date-time"
                        }
                      },
                      "required": [
                        "id",
                        "projectId",
                        "position",
                        "number",
                        "userId",
                        "title",
                        "description",
                        "status",
                        "priority",
                        "createdAt"
                      ]
                    },
                    "sourceProjectId": {
                      "type": "string"
                    },
                    "destinationProjectId": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "task",
                    "sourceProjectId",
                    "destinationProjectId"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "destinationProjectId": {
                    "type": "string"
                  },
                  "destinationStatus": {
                    "type": "string"
                  }
                },
                "required": [
                  "destinationProjectId"
                ]
              }
            }
          }
        },
        "summary": "Move Task"
      }
    },
    "/task/export/{projectId}": {
      "get": {
        "operationId": "exportTasks",
        "tags": [
          "Tasks"
        ],
        "description": "Export all tasks from a project",
        "responses": {
          "200": {
            "description": "Exported tasks data",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "projectId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "summary": "Export Tasks"
      }
    },
    "/task/import/{projectId}": {
      "post": {
        "operationId": "importTasks",
        "tags": [
          "Tasks"
        ],
        "description": "Import multiple tasks into a project",
        "responses": {
          "200": {
            "description": "Tasks imported successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "projectId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "tasks": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "title": {
                          "type": "string"
                        },
                        "description": {
                          "type": "string"
                        },
                        "status": {
                          "type": "string"
                        },
                        "priority": {
                          "type": "string"
                        },
                        "startDate": {
                          "type": "string",
                          "nullable": true
                        },
                        "dueDate": {
                          "type": "string",
                          "nullable": true
                        },
                        "userId": {
                          "type": "string",
                          "nullable": true
                        }
                      },
                      "required": [
                        "title",
                        "status"
                      ]
                    }
                  }
                },
                "required": [
                  "tasks"
                ]
              }
            }
          }
        },
        "summary": "Import Tasks"
      }
    },
    "/task/status/{id}": {
      "put": {
        "operationId": "updateTaskStatus",
        "tags": [
          "Tasks"
        ],
        "description": "Update only the status of a task",
        "responses": {
          "200": {
            "description": "Task status updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "projectId": {
                      "type": "string"
                    },
                    "position": {
                      "type": "number",
                      "nullable": true
                    },
                    "number": {
                      "type": "number",
                      "nullable": true
                    },
                    "userId": {
                      "type": "string",
                      "nullable": true
                    },
                    "title": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string",
                      "nullable": true
                    },
                    "status": {
                      "type": "string"
                    },
                    "priority": {
                      "enum": [
                        "no-priority",
                        "low",
                        "medium",
                        "high",
                        "urgent"
                      ],
                      "type": "string"
                    },
                    "startDate": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "dueDate": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "projectId",
                    "position",
                    "number",
                    "userId",
                    "title",
                    "description",
                    "status",
                    "priority",
                    "createdAt"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "status": {
                    "type": "string"
                  }
                },
                "required": [
                  "status"
                ]
              }
            }
          }
        },
        "summary": "Update Task Status"
      }
    },
    "/task/priority/{id}": {
      "put": {
        "operationId": "updateTaskPriority",
        "tags": [
          "Tasks"
        ],
        "description": "Update only the priority of a task",
        "responses": {
          "200": {
            "description": "Task priority updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "projectId": {
                      "type": "string"
                    },
                    "position": {
                      "type": "number",
                      "nullable": true
                    },
                    "number": {
                      "type": "number",
                      "nullable": true
                    },
                    "userId": {
                      "type": "string",
                      "nullable": true
                    },
                    "title": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string",
                      "nullable": true
                    },
                    "status": {
                      "type": "string"
                    },
                    "priority": {
                      "enum": [
                        "no-priority",
                        "low",
                        "medium",
                        "high",
                        "urgent"
                      ],
                      "type": "string"
                    },
                    "startDate": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "dueDate": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "projectId",
                    "position",
                    "number",
                    "userId",
                    "title",
                    "description",
                    "status",
                    "priority",
                    "createdAt"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "priority": {
                    "enum": [
                      "no-priority",
                      "low",
                      "medium",
                      "high",
                      "urgent"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "priority"
                ]
              }
            }
          }
        },
        "summary": "Update Task Priority"
      }
    },
    "/task/assignee/{id}": {
      "put": {
        "operationId": "updateTaskAssignee",
        "tags": [
          "Tasks"
        ],
        "description": "Assign or unassign a task to a user",
        "responses": {
          "200": {
            "description": "Task assignee updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "projectId": {
                      "type": "string"
                    },
                    "position": {
                      "type": "number",
                      "nullable": true
                    },
                    "number": {
                      "type": "number",
                      "nullable": true
                    },
                    "userId": {
                      "type": "string",
                      "nullable": true
                    },
                    "title": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string",
                      "nullable": true
                    },
                    "status": {
                      "type": "string"
                    },
                    "priority": {
                      "enum": [
                        "no-priority",
                        "low",
                        "medium",
                        "high",
                        "urgent"
                      ],
                      "type": "string"
                    },
                    "startDate": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "dueDate": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "projectId",
                    "position",
                    "number",
                    "userId",
                    "title",
                    "description",
                    "status",
                    "priority",
                    "createdAt"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "userId": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "required": [
                  "userId"
                ]
              }
            }
          }
        },
        "summary": "Update Task Assignee"
      }
    },
    "/task/due-date/{id}": {
      "put": {
        "operationId": "updateTaskDueDate",
        "tags": [
          "Tasks"
        ],
        "description": "Update only the due date of a task",
        "responses": {
          "200": {
            "description": "Task due date updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "projectId": {
                      "type": "string"
                    },
                    "position": {
                      "type": "number",
                      "nullable": true
                    },
                    "number": {
                      "type": "number",
                      "nullable": true
                    },
                    "userId": {
                      "type": "string",
                      "nullable": true
                    },
                    "title": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string",
                      "nullable": true
                    },
                    "status": {
                      "type": "string"
                    },
                    "priority": {
                      "enum": [
                        "no-priority",
                        "low",
                        "medium",
                        "high",
                        "urgent"
                      ],
                      "type": "string"
                    },
                    "startDate": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "dueDate": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "projectId",
                    "position",
                    "number",
                    "userId",
                    "title",
                    "description",
                    "status",
                    "priority",
                    "createdAt"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "dueDate": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "summary": "Update Task Due Date"
      }
    },
    "/task/title/{id}": {
      "put": {
        "operationId": "updateTaskTitle",
        "tags": [
          "Tasks"
        ],
        "description": "Update only the title of a task",
        "responses": {
          "200": {
            "description": "Task title updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "projectId": {
                      "type": "string"
                    },
                    "position": {
                      "type": "number",
                      "nullable": true
                    },
                    "number": {
                      "type": "number",
                      "nullable": true
                    },
                    "userId": {
                      "type": "string",
                      "nullable": true
                    },
                    "title": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string",
                      "nullable": true
                    },
                    "status": {
                      "type": "string"
                    },
                    "priority": {
                      "enum": [
                        "no-priority",
                        "low",
                        "medium",
                        "high",
                        "urgent"
                      ],
                      "type": "string"
                    },
                    "startDate": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "dueDate": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "projectId",
                    "position",
                    "number",
                    "userId",
                    "title",
                    "description",
                    "status",
                    "priority",
                    "createdAt"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  }
                },
                "required": [
                  "title"
                ]
              }
            }
          }
        },
        "summary": "Update Task Title"
      }
    },
    "/task/image-upload/{id}": {
      "put": {
        "operationId": "createTaskImageUpload",
        "tags": [
          "Tasks"
        ],
        "description": "Create a presigned image upload URL for a task description or comment",
        "responses": {
          "200": {
            "description": "Image upload URL created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "filename": {
                    "type": "string"
                  },
                  "contentType": {
                    "type": "string"
                  },
                  "size": {
                    "type": "number"
                  },
                  "surface": {
                    "enum": [
                      "description",
                      "comment"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "filename",
                  "contentType",
                  "size",
                  "surface"
                ]
              }
            }
          }
        },
        "summary": "Create Task Image Upload"
      }
    },
    "/task/image-upload/{id}/finalize": {
      "post": {
        "operationId": "finalizeTaskImageUpload",
        "tags": [
          "Tasks"
        ],
        "description": "Finalize an uploaded task image and create a private asset record",
        "responses": {
          "200": {
            "description": "Image upload finalized successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "key": {
                    "type": "string"
                  },
                  "filename": {
                    "type": "string"
                  },
                  "contentType": {
                    "type": "string"
                  },
                  "size": {
                    "type": "number"
                  },
                  "surface": {
                    "enum": [
                      "description",
                      "comment"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "key",
                  "filename",
                  "contentType",
                  "size",
                  "surface"
                ]
              }
            }
          }
        },
        "summary": "Finalize Task Image Upload"
      }
    },
    "/task/description/{id}": {
      "put": {
        "operationId": "updateTaskDescription",
        "tags": [
          "Tasks"
        ],
        "description": "Update only the description of a task",
        "responses": {
          "200": {
            "description": "Task description updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "projectId": {
                      "type": "string"
                    },
                    "position": {
                      "type": "number",
                      "nullable": true
                    },
                    "number": {
                      "type": "number",
                      "nullable": true
                    },
                    "userId": {
                      "type": "string",
                      "nullable": true
                    },
                    "title": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string",
                      "nullable": true
                    },
                    "status": {
                      "type": "string"
                    },
                    "priority": {
                      "enum": [
                        "no-priority",
                        "low",
                        "medium",
                        "high",
                        "urgent"
                      ],
                      "type": "string"
                    },
                    "startDate": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "dueDate": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "projectId",
                    "position",
                    "number",
                    "userId",
                    "title",
                    "description",
                    "status",
                    "priority",
                    "createdAt"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "description": {
                    "type": "string"
                  }
                },
                "required": [
                  "description"
                ]
              }
            }
          }
        },
        "summary": "Update Task Description"
      }
    },
    "/column/{projectId}": {
      "get": {
        "operationId": "getColumns",
        "tags": [
          "Columns"
        ],
        "description": "Get all columns for a project",
        "responses": {
          "200": {
            "description": "List of columns ordered by position",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "projectId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "summary": "Get Columns"
      },
      "post": {
        "operationId": "createColumn",
        "tags": [
          "Columns"
        ],
        "description": "Create a new column in a project",
        "responses": {
          "200": {
            "description": "Column created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "projectId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "icon": {
                    "type": "string"
                  },
                  "color": {
                    "type": "string"
                  },
                  "isFinal": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "name"
                ]
              }
            }
          }
        },
        "summary": "Create Column"
      }
    },
    "/column/reorder/{projectId}": {
      "put": {
        "operationId": "reorderColumns",
        "tags": [
          "Columns"
        ],
        "description": "Reorder columns in a project",
        "responses": {
          "200": {
            "description": "Columns reordered successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "projectId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "columns": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "position": {
                          "type": "number"
                        }
                      },
                      "required": [
                        "id",
                        "position"
                      ]
                    }
                  }
                },
                "required": [
                  "columns"
                ]
              }
            }
          }
        },
        "summary": "Reorder Columns"
      }
    },
    "/column/{id}": {
      "put": {
        "operationId": "updateColumn",
        "tags": [
          "Columns"
        ],
        "description": "Update a column",
        "responses": {
          "200": {
            "description": "Column updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "icon": {
                    "type": "string",
                    "nullable": true
                  },
                  "color": {
                    "type": "string",
                    "nullable": true
                  },
                  "isFinal": {
                    "type": "boolean"
                  }
                }
              }
            }
          }
        },
        "summary": "Update Column"
      },
      "delete": {
        "operationId": "deleteColumn",
        "tags": [
          "Columns"
        ],
        "description": "Delete a column",
        "responses": {
          "200": {
            "description": "Column deleted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "summary": "Delete Column"
      }
    },
    "/activity/{taskId}": {
      "get": {
        "operationId": "getActivities",
        "tags": [
          "Activity"
        ],
        "description": "Get all activities for a specific task",
        "responses": {
          "200": {
            "description": "List of activities for the task",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "taskId": {
                        "type": "string"
                      },
                      "type": {
                        "enum": [
                          "comment",
                          "task",
                          "status_changed",
                          "priority_changed",
                          "unassigned",
                          "assignee_changed",
                          "due_date_changed",
                          "title_changed",
                          "description_changed",
                          "create"
                        ],
                        "type": "string"
                      },
                      "createdAt": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "userId": {
                        "type": "string",
                        "nullable": true
                      },
                      "content": {
                        "type": "string",
                        "nullable": true
                      },
                      "eventData": {
                        "type": "object",
                        "additionalProperties": true,
                        "nullable": true
                      },
                      "externalUserName": {
                        "type": "string",
                        "nullable": true
                      },
                      "externalUserAvatar": {
                        "type": "string",
                        "nullable": true
                      },
                      "externalSource": {
                        "type": "string",
                        "nullable": true
                      },
                      "externalUrl": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "id",
                      "taskId",
                      "type",
                      "createdAt",
                      "userId",
                      "content",
                      "eventData",
                      "externalUserName",
                      "externalUserAvatar",
                      "externalSource",
                      "externalUrl"
                    ]
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "taskId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "summary": "Get Activities"
      }
    },
    "/activity/create": {
      "post": {
        "operationId": "createActivity",
        "tags": [
          "Activity"
        ],
        "description": "Create a new activity (system-generated event)",
        "responses": {
          "200": {
            "description": "Activity created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "taskId": {
                      "type": "string"
                    },
                    "type": {
                      "enum": [
                        "comment",
                        "task",
                        "status_changed",
                        "priority_changed",
                        "unassigned",
                        "assignee_changed",
                        "due_date_changed",
                        "title_changed",
                        "description_changed",
                        "create"
                      ],
                      "type": "string"
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "userId": {
                      "type": "string",
                      "nullable": true
                    },
                    "content": {
                      "type": "string",
                      "nullable": true
                    },
                    "eventData": {
                      "type": "object",
                      "additionalProperties": true,
                      "nullable": true
                    },
                    "externalUserName": {
                      "type": "string",
                      "nullable": true
                    },
                    "externalUserAvatar": {
                      "type": "string",
                      "nullable": true
                    },
                    "externalSource": {
                      "type": "string",
                      "nullable": true
                    },
                    "externalUrl": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "id",
                    "taskId",
                    "type",
                    "createdAt",
                    "userId",
                    "content",
                    "eventData",
                    "externalUserName",
                    "externalUserAvatar",
                    "externalSource",
                    "externalUrl"
                  ]
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "taskId": {
                    "type": "string"
                  },
                  "userId": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string",
                    "nullable": true
                  },
                  "type": {
                    "type": "string"
                  },
                  "eventData": {
                    "type": "object",
                    "additionalProperties": true,
                    "nullable": true
                  }
                },
                "required": [
                  "taskId",
                  "userId",
                  "message",
                  "type"
                ]
              }
            }
          }
        },
        "summary": "Create Activity"
      }
    },
    "/activity/comment": {
      "post": {
        "operationId": "createComment",
        "tags": [
          "Activity"
        ],
        "description": "Create a new comment on a task",
        "responses": {
          "200": {
            "description": "Comment created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "taskId": {
                      "type": "string"
                    },
                    "type": {
                      "enum": [
                        "comment",
                        "task",
                        "status_changed",
                        "priority_changed",
                        "unassigned",
                        "assignee_changed",
                        "due_date_changed",
                        "title_changed",
                        "description_changed",
                        "create"
                      ],
                      "type": "string"
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "userId": {
                      "type": "string",
                      "nullable": true
                    },
                    "content": {
                      "type": "string",
                      "nullable": true
                    },
                    "eventData": {
                      "type": "object",
                      "additionalProperties": true,
                      "nullable": true
                    },
                    "externalUserName": {
                      "type": "string",
                      "nullable": true
                    },
                    "externalUserAvatar": {
                      "type": "string",
                      "nullable": true
                    },
                    "externalSource": {
                      "type": "string",
                      "nullable": true
                    },
                    "externalUrl": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "id",
                    "taskId",
                    "type",
                    "createdAt",
                    "userId",
                    "content",
                    "eventData",
                    "externalUserName",
                    "externalUserAvatar",
                    "externalSource",
                    "externalUrl"
                  ]
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "taskId": {
                    "type": "string"
                  },
                  "comment": {
                    "type": "string"
                  }
                },
                "required": [
                  "taskId",
                  "comment"
                ]
              }
            }
          }
        },
        "summary": "Create Comment"
      },
      "put": {
        "operationId": "updateComment",
        "tags": [
          "Activity"
        ],
        "description": "Update an existing comment",
        "responses": {
          "200": {
            "description": "Comment updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "taskId": {
                      "type": "string"
                    },
                    "type": {
                      "enum": [
                        "comment",
                        "task",
                        "status_changed",
                        "priority_changed",
                        "unassigned",
                        "assignee_changed",
                        "due_date_changed",
                        "title_changed",
                        "description_changed",
                        "create"
                      ],
                      "type": "string"
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "userId": {
                      "type": "string",
                      "nullable": true
                    },
                    "content": {
                      "type": "string",
                      "nullable": true
                    },
                    "eventData": {
                      "type": "object",
                      "additionalProperties": true,
                      "nullable": true
                    },
                    "externalUserName": {
                      "type": "string",
                      "nullable": true
                    },
                    "externalUserAvatar": {
                      "type": "string",
                      "nullable": true
                    },
                    "externalSource": {
                      "type": "string",
                      "nullable": true
                    },
                    "externalUrl": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "id",
                    "taskId",
                    "type",
                    "createdAt",
                    "userId",
                    "content",
                    "eventData",
                    "externalUserName",
                    "externalUserAvatar",
                    "externalSource",
                    "externalUrl"
                  ]
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "activityId": {
                    "type": "string"
                  },
                  "comment": {
                    "type": "string"
                  }
                },
                "required": [
                  "activityId",
                  "comment"
                ]
              }
            }
          }
        },
        "summary": "Update Comment"
      },
      "delete": {
        "operationId": "deleteComment",
        "tags": [
          "Activity"
        ],
        "description": "Delete a comment",
        "responses": {
          "200": {
            "description": "Comment deleted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "taskId": {
                      "type": "string"
                    },
                    "type": {
                      "enum": [
                        "comment",
                        "task",
                        "status_changed",
                        "priority_changed",
                        "unassigned",
                        "assignee_changed",
                        "due_date_changed",
                        "title_changed",
                        "description_changed",
                        "create"
                      ],
                      "type": "string"
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "userId": {
                      "type": "string",
                      "nullable": true
                    },
                    "content": {
                      "type": "string",
                      "nullable": true
                    },
                    "eventData": {
                      "type": "object",
                      "additionalProperties": true,
                      "nullable": true
                    },
                    "externalUserName": {
                      "type": "string",
                      "nullable": true
                    },
                    "externalUserAvatar": {
                      "type": "string",
                      "nullable": true
                    },
                    "externalSource": {
                      "type": "string",
                      "nullable": true
                    },
                    "externalUrl": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "id",
                    "taskId",
                    "type",
                    "createdAt",
                    "userId",
                    "content",
                    "eventData",
                    "externalUserName",
                    "externalUserAvatar",
                    "externalSource",
                    "externalUrl"
                  ]
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "activityId": {
                    "type": "string"
                  }
                },
                "required": [
                  "activityId"
                ]
              }
            }
          }
        },
        "summary": "Delete Comment"
      }
    },
    "/comment/{taskId}": {
      "get": {
        "operationId": "getTaskComments",
        "tags": [
          "Comments"
        ],
        "description": "Get all comments for a specific task",
        "responses": {
          "200": {
            "description": "List of comments for the task",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "taskId": {
                        "type": "string"
                      },
                      "userId": {
                        "type": "string"
                      },
                      "content": {
                        "type": "string"
                      },
                      "createdAt": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "updatedAt": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "user": {
                        "type": "object",
                        "properties": {
                          "name": {
                            "type": "string"
                          },
                          "image": {
                            "type": "string",
                            "nullable": true
                          }
                        },
                        "required": [
                          "name",
                          "image"
                        ]
                      }
                    },
                    "required": [
                      "id",
                      "taskId",
                      "userId",
                      "content",
                      "createdAt",
                      "updatedAt"
                    ]
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "taskId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "summary": "Get Task Comments"
      },
      "post": {
        "operationId": "createTaskComment",
        "tags": [
          "Comments"
        ],
        "description": "Create a new comment on a task",
        "responses": {
          "200": {
            "description": "Comment created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "taskId": {
                      "type": "string"
                    },
                    "userId": {
                      "type": "string"
                    },
                    "content": {
                      "type": "string"
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "user": {
                      "type": "object",
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "image": {
                          "type": "string",
                          "nullable": true
                        }
                      },
                      "required": [
                        "name",
                        "image"
                      ]
                    }
                  },
                  "required": [
                    "id",
                    "taskId",
                    "userId",
                    "content",
                    "createdAt",
                    "updatedAt"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "taskId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "content": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "required": [
                  "content"
                ]
              }
            }
          }
        },
        "summary": "Create Task Comment"
      }
    },
    "/comment/{id}": {
      "put": {
        "operationId": "updateTaskComment",
        "tags": [
          "Comments"
        ],
        "description": "Update an existing comment (author only)",
        "responses": {
          "200": {
            "description": "Comment updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "taskId": {
                      "type": "string"
                    },
                    "userId": {
                      "type": "string"
                    },
                    "content": {
                      "type": "string"
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "user": {
                      "type": "object",
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "image": {
                          "type": "string",
                          "nullable": true
                        }
                      },
                      "required": [
                        "name",
                        "image"
                      ]
                    }
                  },
                  "required": [
                    "id",
                    "taskId",
                    "userId",
                    "content",
                    "createdAt",
                    "updatedAt"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "content": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "required": [
                  "content"
                ]
              }
            }
          }
        },
        "summary": "Update Task Comment"
      },
      "delete": {
        "operationId": "deleteTaskComment",
        "tags": [
          "Comments"
        ],
        "description": "Delete a comment (author only)",
        "responses": {
          "200": {
            "description": "Comment deleted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "taskId": {
                      "type": "string"
                    },
                    "userId": {
                      "type": "string"
                    },
                    "content": {
                      "type": "string"
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "user": {
                      "type": "object",
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "image": {
                          "type": "string",
                          "nullable": true
                        }
                      },
                      "required": [
                        "name",
                        "image"
                      ]
                    }
                  },
                  "required": [
                    "id",
                    "taskId",
                    "userId",
                    "content",
                    "createdAt",
                    "updatedAt"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "summary": "Delete Task Comment"
      }
    },
    "/time-entry/task/{taskId}": {
      "get": {
        "operationId": "getTaskTimeEntries",
        "tags": [
          "Time Entries"
        ],
        "description": "Get all time entries for a specific task",
        "responses": {
          "200": {
            "description": "List of time entries for the task",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "taskId": {
                        "type": "string"
                      },
                      "userId": {
                        "type": "string",
                        "nullable": true
                      },
                      "description": {
                        "type": "string",
                        "nullable": true
                      },
                      "startTime": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "endTime": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "duration": {
                        "type": "number",
                        "nullable": true
                      },
                      "createdAt": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "updatedAt": {
                        "type": "string",
                        "format": "date-time"
                      }
                    },
                    "required": [
                      "id",
                      "taskId",
                      "userId",
                      "description",
                      "startTime",
                      "duration",
                      "createdAt",
                      "updatedAt"
                    ]
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "taskId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "summary": "Get Task Time Entries"
      }
    },
    "/time-entry/{id}": {
      "get": {
        "operationId": "getTimeEntry",
        "tags": [
          "Time Entries"
        ],
        "description": "Get a specific time entry by ID",
        "responses": {
          "200": {
            "description": "Time entry details",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "taskId": {
                      "type": "string"
                    },
                    "userId": {
                      "type": "string",
                      "nullable": true
                    },
                    "description": {
                      "type": "string",
                      "nullable": true
                    },
                    "startTime": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "endTime": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "duration": {
                      "type": "number",
                      "nullable": true
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "taskId",
                    "userId",
                    "description",
                    "startTime",
                    "duration",
                    "createdAt",
                    "updatedAt"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "summary": "Get Time Entry"
      },
      "put": {
        "operationId": "updateTimeEntry",
        "tags": [
          "Time Entries"
        ],
        "description": "Update an existing time entry",
        "responses": {
          "200": {
            "description": "Time entry updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "taskId": {
                      "type": "string"
                    },
                    "userId": {
                      "type": "string",
                      "nullable": true
                    },
                    "description": {
                      "type": "string",
                      "nullable": true
                    },
                    "startTime": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "endTime": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "duration": {
                      "type": "number",
                      "nullable": true
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "taskId",
                    "userId",
                    "description",
                    "startTime",
                    "duration",
                    "createdAt",
                    "updatedAt"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "startTime": {
                    "type": "string"
                  },
                  "endTime": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  }
                },
                "required": [
                  "startTime"
                ]
              }
            }
          }
        },
        "summary": "Update Time Entry"
      }
    },
    "/time-entry": {
      "post": {
        "operationId": "createTimeEntry",
        "tags": [
          "Time Entries"
        ],
        "description": "Create a new time entry for a task",
        "responses": {
          "200": {
            "description": "Time entry created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "taskId": {
                      "type": "string"
                    },
                    "userId": {
                      "type": "string",
                      "nullable": true
                    },
                    "description": {
                      "type": "string",
                      "nullable": true
                    },
                    "startTime": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "endTime": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "duration": {
                      "type": "number",
                      "nullable": true
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "taskId",
                    "userId",
                    "description",
                    "startTime",
                    "duration",
                    "createdAt",
                    "updatedAt"
                  ]
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "taskId": {
                    "type": "string"
                  },
                  "startTime": {
                    "type": "string"
                  },
                  "endTime": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  }
                },
                "required": [
                  "taskId",
                  "startTime"
                ]
              }
            }
          }
        },
        "summary": "Create Time Entry"
      }
    },
    "/label/task/{taskId}": {
      "get": {
        "operationId": "getTaskLabels",
        "tags": [
          "Labels"
        ],
        "description": "Get all labels assigned to a specific task",
        "responses": {
          "200": {
            "description": "List of labels for the task",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "color": {
                        "type": "string"
                      },
                      "createdAt": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "taskId": {
                        "type": "string",
                        "nullable": true
                      },
                      "workspaceId": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "id",
                      "name",
                      "color",
                      "createdAt",
                      "taskId",
                      "workspaceId"
                    ]
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "taskId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "summary": "Get Task Labels"
      }
    },
    "/label/workspace/{workspaceId}": {
      "get": {
        "operationId": "getWorkspaceLabels",
        "tags": [
          "Labels"
        ],
        "description": "Get all labels for a specific workspace",
        "responses": {
          "200": {
            "description": "List of labels in the workspace",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "color": {
                        "type": "string"
                      },
                      "createdAt": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "taskId": {
                        "type": "string",
                        "nullable": true
                      },
                      "workspaceId": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "id",
                      "name",
                      "color",
                      "createdAt",
                      "taskId",
                      "workspaceId"
                    ]
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "workspaceId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "summary": "Get Workspace Labels"
      }
    },
    "/label": {
      "post": {
        "operationId": "createLabel",
        "tags": [
          "Labels"
        ],
        "description": "Create a new label in a workspace",
        "responses": {
          "200": {
            "description": "Label created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "color": {
                      "type": "string"
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "taskId": {
                      "type": "string",
                      "nullable": true
                    },
                    "workspaceId": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "id",
                    "name",
                    "color",
                    "createdAt",
                    "taskId",
                    "workspaceId"
                  ]
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "color": {
                    "type": "string"
                  },
                  "workspaceId": {
                    "type": "string"
                  },
                  "taskId": {
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "color",
                  "workspaceId"
                ]
              }
            }
          }
        },
        "summary": "Create Label"
      }
    },
    "/label/{id}": {
      "get": {
        "operationId": "getLabel",
        "tags": [
          "Labels"
        ],
        "description": "Get a specific label by ID",
        "responses": {
          "200": {
            "description": "Label details",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "color": {
                      "type": "string"
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "taskId": {
                      "type": "string",
                      "nullable": true
                    },
                    "workspaceId": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "id",
                    "name",
                    "color",
                    "createdAt",
                    "taskId",
                    "workspaceId"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "summary": "Get Label"
      },
      "put": {
        "operationId": "updateLabel",
        "tags": [
          "Labels"
        ],
        "description": "Update an existing label",
        "responses": {
          "200": {
            "description": "Label updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "color": {
                      "type": "string"
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "taskId": {
                      "type": "string",
                      "nullable": true
                    },
                    "workspaceId": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "id",
                    "name",
                    "color",
                    "createdAt",
                    "taskId",
                    "workspaceId"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "color": {
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "color"
                ]
              }
            }
          }
        },
        "summary": "Update Label"
      },
      "delete": {
        "operationId": "deleteLabel",
        "tags": [
          "Labels"
        ],
        "description": "Delete a label by ID",
        "responses": {
          "200": {
            "description": "Label deleted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "color": {
                      "type": "string"
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "taskId": {
                      "type": "string",
                      "nullable": true
                    },
                    "workspaceId": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "id",
                    "name",
                    "color",
                    "createdAt",
                    "taskId",
                    "workspaceId"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "summary": "Delete Label"
      }
    },
    "/label/{id}/task": {
      "put": {
        "operationId": "attachLabelToTask",
        "tags": [
          "Labels"
        ],
        "description": "Attach an existing label to a task",
        "responses": {
          "200": {
            "description": "Label attached to task successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "color": {
                      "type": "string"
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "taskId": {
                      "type": "string",
                      "nullable": true
                    },
                    "workspaceId": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "id",
                    "name",
                    "color",
                    "createdAt",
                    "taskId",
                    "workspaceId"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "taskId": {
                    "type": "string"
                  }
                },
                "required": [
                  "taskId"
                ]
              }
            }
          }
        },
        "summary": "Attach Label To Task"
      },
      "delete": {
        "operationId": "detachLabelFromTask",
        "tags": [
          "Labels"
        ],
        "description": "Detach a label from its current task",
        "responses": {
          "200": {
            "description": "Label detached from task successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "color": {
                      "type": "string"
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "taskId": {
                      "type": "string",
                      "nullable": true
                    },
                    "workspaceId": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "id",
                    "name",
                    "color",
                    "createdAt",
                    "taskId",
                    "workspaceId"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "summary": "Detach Label From Task"
      }
    },
    "/notification": {
      "get": {
        "operationId": "listNotifications",
        "tags": [
          "Notifications"
        ],
        "description": "Get all notifications for the current user",
        "responses": {
          "200": {
            "description": "List of notifications",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "userId": {
                        "type": "string"
                      },
                      "title": {
                        "type": "string",
                        "nullable": true
                      },
                      "content": {
                        "type": "string",
                        "nullable": true
                      },
                      "type": {
                        "enum": [
                          "info",
                          "task_created",
                          "workspace_created",
                          "task_status_changed",
                          "task_assignee_changed",
                          "time_entry_created",
                          "due_date_reminder",
                          "task_overdue",
                          "task_mention"
                        ],
                        "type": "string"
                      },
                      "eventData": {
                        "type": "object",
                        "additionalProperties": true,
                        "nullable": true
                      },
                      "isRead": {
                        "type": "boolean"
                      },
                      "resourceId": {
                        "type": "string"
                      },
                      "resourceType": {
                        "enum": [
                          "task",
                          "workspace"
                        ],
                        "type": "string"
                      },
                      "createdAt": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "updatedAt": {
                        "type": "string",
                        "format": "date-time"
                      }
                    },
                    "required": [
                      "id",
                      "userId",
                      "title",
                      "content",
                      "type",
                      "eventData",
                      "createdAt",
                      "updatedAt"
                    ]
                  }
                }
              }
            }
          }
        },
        "summary": "List Notifications"
      },
      "post": {
        "operationId": "createNotification",
        "tags": [
          "Notifications"
        ],
        "description": "Create a new notification for a user",
        "responses": {
          "200": {
            "description": "Notification created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "userId": {
                      "type": "string"
                    },
                    "title": {
                      "type": "string",
                      "nullable": true
                    },
                    "content": {
                      "type": "string",
                      "nullable": true
                    },
                    "type": {
                      "enum": [
                        "info",
                        "task_created",
                        "workspace_created",
                        "task_status_changed",
                        "task_assignee_changed",
                        "time_entry_created",
                        "due_date_reminder",
                        "task_overdue",
                        "task_mention"
                      ],
                      "type": "string"
                    },
                    "eventData": {
                      "type": "object",
                      "additionalProperties": true,
                      "nullable": true
                    },
                    "isRead": {
                      "type": "boolean"
                    },
                    "resourceId": {
                      "type": "string"
                    },
                    "resourceType": {
                      "enum": [
                        "task",
                        "workspace"
                      ],
                      "type": "string"
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "userId",
                    "title",
                    "content",
                    "type",
                    "eventData",
                    "createdAt",
                    "updatedAt"
                  ]
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string",
                    "nullable": true
                  },
                  "message": {
                    "type": "string",
                    "nullable": true
                  },
                  "type": {
                    "type": "string"
                  },
                  "eventData": {
                    "type": "object",
                    "additionalProperties": true,
                    "nullable": true
                  },
                  "relatedEntityId": {
                    "type": "string"
                  },
                  "relatedEntityType": {
                    "type": "string"
                  }
                },
                "required": [
                  "type"
                ]
              }
            }
          }
        },
        "summary": "Create Notification"
      }
    },
    "/notification/{id}/read": {
      "patch": {
        "operationId": "markNotificationAsRead",
        "tags": [
          "Notifications"
        ],
        "description": "Mark a specific notification as read",
        "responses": {
          "200": {
            "description": "Notification marked as read",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "userId": {
                      "type": "string"
                    },
                    "title": {
                      "type": "string",
                      "nullable": true
                    },
                    "content": {
                      "type": "string",
                      "nullable": true
                    },
                    "type": {
                      "enum": [
                        "info",
                        "task_created",
                        "workspace_created",
                        "task_status_changed",
                        "task_assignee_changed",
                        "time_entry_created",
                        "due_date_reminder",
                        "task_overdue",
                        "task_mention"
                      ],
                      "type": "string"
                    },
                    "eventData": {
                      "type": "object",
                      "additionalProperties": true,
                      "nullable": true
                    },
                    "isRead": {
                      "type": "boolean"
                    },
                    "resourceId": {
                      "type": "string"
                    },
                    "resourceType": {
                      "enum": [
                        "task",
                        "workspace"
                      ],
                      "type": "string"
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "userId",
                    "title",
                    "content",
                    "type",
                    "eventData",
                    "createdAt",
                    "updatedAt"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "summary": "Mark Notification As Read"
      }
    },
    "/notification/read-all": {
      "patch": {
        "operationId": "markAllNotificationsAsRead",
        "tags": [
          "Notifications"
        ],
        "description": "Mark all notifications as read for the current user",
        "responses": {
          "200": {
            "description": "All notifications marked as read",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "count": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "success"
                  ]
                }
              }
            }
          }
        },
        "summary": "Mark All Notifications As Read"
      }
    },
    "/notification/clear-all": {
      "delete": {
        "operationId": "clearAllNotifications",
        "tags": [
          "Notifications"
        ],
        "description": "Clear all notifications for the current user",
        "responses": {
          "200": {
            "description": "All notifications cleared",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "count": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "success"
                  ]
                }
              }
            }
          }
        },
        "summary": "Clear All Notifications"
      }
    },
    "/notification-preferences": {
      "get": {
        "operationId": "getNotificationPreferences",
        "tags": [
          "Notification Preferences"
        ],
        "description": "Get notification delivery preferences for the current user",
        "responses": {
          "200": {
            "description": "Notification preferences",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "emailAddress": {
                      "type": "string",
                      "nullable": true
                    },
                    "emailEnabled": {
                      "type": "boolean"
                    },
                    "ntfyEnabled": {
                      "type": "boolean"
                    },
                    "ntfyConfigured": {
                      "type": "boolean"
                    },
                    "ntfyServerUrl": {
                      "type": "string",
                      "nullable": true
                    },
                    "ntfyTopic": {
                      "type": "string",
                      "nullable": true
                    },
                    "ntfyTokenConfigured": {
                      "type": "boolean"
                    },
                    "maskedNtfyToken": {
                      "type": "string",
                      "nullable": true
                    },
                    "gotifyEnabled": {
                      "type": "boolean"
                    },
                    "gotifyConfigured": {
                      "type": "boolean"
                    },
                    "gotifyServerUrl": {
                      "type": "string",
                      "nullable": true
                    },
                    "gotifyTokenConfigured": {
                      "type": "boolean"
                    },
                    "maskedGotifyToken": {
                      "type": "string",
                      "nullable": true
                    },
                    "webhookEnabled": {
                      "type": "boolean"
                    },
                    "webhookConfigured": {
                      "type": "boolean"
                    },
                    "webhookUrl": {
                      "type": "string",
                      "nullable": true
                    },
                    "webhookSecretConfigured": {
                      "type": "boolean"
                    },
                    "maskedWebhookSecret": {
                      "type": "string",
                      "nullable": true
                    },
                    "workspaces": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "workspaceId": {
                            "type": "string"
                          },
                          "workspaceName": {
                            "type": "string"
                          },
                          "isActive": {
                            "type": "boolean"
                          },
                          "emailEnabled": {
                            "type": "boolean"
                          },
                          "ntfyEnabled": {
                            "type": "boolean"
                          },
                          "gotifyEnabled": {
                            "type": "boolean"
                          },
                          "webhookEnabled": {
                            "type": "boolean"
                          },
                          "projectMode": {
                            "enum": [
                              "all",
                              "selected"
                            ],
                            "type": "string"
                          },
                          "selectedProjectIds": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "createdAt": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "updatedAt": {
                            "type": "string",
                            "format": "date-time"
                          }
                        },
                        "required": [
                          "id",
                          "workspaceId",
                          "workspaceName",
                          "isActive",
                          "emailEnabled",
                          "ntfyEnabled",
                          "gotifyEnabled",
                          "webhookEnabled",
                          "projectMode",
                          "selectedProjectIds",
                          "createdAt",
                          "updatedAt"
                        ]
                      }
                    },
                    "createdAt": {
                      "nullable": true
                    },
                    "updatedAt": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "emailAddress",
                    "emailEnabled",
                    "ntfyEnabled",
                    "ntfyConfigured",
                    "ntfyServerUrl",
                    "ntfyTopic",
                    "ntfyTokenConfigured",
                    "maskedNtfyToken",
                    "gotifyEnabled",
                    "gotifyConfigured",
                    "gotifyServerUrl",
                    "gotifyTokenConfigured",
                    "maskedGotifyToken",
                    "webhookEnabled",
                    "webhookConfigured",
                    "webhookUrl",
                    "webhookSecretConfigured",
                    "maskedWebhookSecret",
                    "workspaces",
                    "createdAt",
                    "updatedAt"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            }
          }
        },
        "summary": "Get Notification Preferences"
      },
      "put": {
        "operationId": "updateNotificationPreferences",
        "tags": [
          "Notification Preferences"
        ],
        "description": "Update global notification delivery preferences",
        "responses": {
          "200": {
            "description": "Updated notification preferences",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "emailAddress": {
                      "type": "string",
                      "nullable": true
                    },
                    "emailEnabled": {
                      "type": "boolean"
                    },
                    "ntfyEnabled": {
                      "type": "boolean"
                    },
                    "ntfyConfigured": {
                      "type": "boolean"
                    },
                    "ntfyServerUrl": {
                      "type": "string",
                      "nullable": true
                    },
                    "ntfyTopic": {
                      "type": "string",
                      "nullable": true
                    },
                    "ntfyTokenConfigured": {
                      "type": "boolean"
                    },
                    "maskedNtfyToken": {
                      "type": "string",
                      "nullable": true
                    },
                    "gotifyEnabled": {
                      "type": "boolean"
                    },
                    "gotifyConfigured": {
                      "type": "boolean"
                    },
                    "gotifyServerUrl": {
                      "type": "string",
                      "nullable": true
                    },
                    "gotifyTokenConfigured": {
                      "type": "boolean"
                    },
                    "maskedGotifyToken": {
                      "type": "string",
                      "nullable": true
                    },
                    "webhookEnabled": {
                      "type": "boolean"
                    },
                    "webhookConfigured": {
                      "type": "boolean"
                    },
                    "webhookUrl": {
                      "type": "string",
                      "nullable": true
                    },
                    "webhookSecretConfigured": {
                      "type": "boolean"
                    },
                    "maskedWebhookSecret": {
                      "type": "string",
                      "nullable": true
                    },
                    "workspaces": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "workspaceId": {
                            "type": "string"
                          },
                          "workspaceName": {
                            "type": "string"
                          },
                          "isActive": {
                            "type": "boolean"
                          },
                          "emailEnabled": {
                            "type": "boolean"
                          },
                          "ntfyEnabled": {
                            "type": "boolean"
                          },
                          "gotifyEnabled": {
                            "type": "boolean"
                          },
                          "webhookEnabled": {
                            "type": "boolean"
                          },
                          "projectMode": {
                            "enum": [
                              "all",
                              "selected"
                            ],
                            "type": "string"
                          },
                          "selectedProjectIds": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "createdAt": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "updatedAt": {
                            "type": "string",
                            "format": "date-time"
                          }
                        },
                        "required": [
                          "id",
                          "workspaceId",
                          "workspaceName",
                          "isActive",
                          "emailEnabled",
                          "ntfyEnabled",
                          "gotifyEnabled",
                          "webhookEnabled",
                          "projectMode",
                          "selectedProjectIds",
                          "createdAt",
                          "updatedAt"
                        ]
                      }
                    },
                    "createdAt": {
                      "nullable": true
                    },
                    "updatedAt": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "emailAddress",
                    "emailEnabled",
                    "ntfyEnabled",
                    "ntfyConfigured",
                    "ntfyServerUrl",
                    "ntfyTopic",
                    "ntfyTokenConfigured",
                    "maskedNtfyToken",
                    "gotifyEnabled",
                    "gotifyConfigured",
                    "gotifyServerUrl",
                    "gotifyTokenConfigured",
                    "maskedGotifyToken",
                    "webhookEnabled",
                    "webhookConfigured",
                    "webhookUrl",
                    "webhookSecretConfigured",
                    "maskedWebhookSecret",
                    "workspaces",
                    "createdAt",
                    "updatedAt"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "emailEnabled": {
                    "type": "boolean"
                  },
                  "ntfyEnabled": {
                    "type": "boolean"
                  },
                  "ntfyServerUrl": {
                    "type": "string",
                    "nullable": true
                  },
                  "ntfyTopic": {
                    "type": "string",
                    "nullable": true
                  },
                  "ntfyToken": {
                    "type": "string",
                    "nullable": true
                  },
                  "gotifyEnabled": {
                    "type": "boolean"
                  },
                  "gotifyServerUrl": {
                    "type": "string",
                    "nullable": true
                  },
                  "gotifyToken": {
                    "type": "string",
                    "nullable": true
                  },
                  "webhookEnabled": {
                    "type": "boolean"
                  },
                  "webhookUrl": {
                    "type": "string",
                    "nullable": true
                  },
                  "webhookSecret": {
                    "type": "string",
                    "nullable": true
                  }
                }
              }
            }
          }
        },
        "summary": "Update Notification Preferences"
      }
    },
    "/notification-preferences/workspaces/{workspaceId}": {
      "put": {
        "operationId": "upsertNotificationPreferenceWorkspaceRule",
        "tags": [
          "Notification Preferences"
        ],
        "description": "Create or update a workspace notification rule",
        "responses": {
          "200": {
            "description": "Updated notification preferences",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "emailAddress": {
                      "type": "string",
                      "nullable": true
                    },
                    "emailEnabled": {
                      "type": "boolean"
                    },
                    "ntfyEnabled": {
                      "type": "boolean"
                    },
                    "ntfyConfigured": {
                      "type": "boolean"
                    },
                    "ntfyServerUrl": {
                      "type": "string",
                      "nullable": true
                    },
                    "ntfyTopic": {
                      "type": "string",
                      "nullable": true
                    },
                    "ntfyTokenConfigured": {
                      "type": "boolean"
                    },
                    "maskedNtfyToken": {
                      "type": "string",
                      "nullable": true
                    },
                    "gotifyEnabled": {
                      "type": "boolean"
                    },
                    "gotifyConfigured": {
                      "type": "boolean"
                    },
                    "gotifyServerUrl": {
                      "type": "string",
                      "nullable": true
                    },
                    "gotifyTokenConfigured": {
                      "type": "boolean"
                    },
                    "maskedGotifyToken": {
                      "type": "string",
                      "nullable": true
                    },
                    "webhookEnabled": {
                      "type": "boolean"
                    },
                    "webhookConfigured": {
                      "type": "boolean"
                    },
                    "webhookUrl": {
                      "type": "string",
                      "nullable": true
                    },
                    "webhookSecretConfigured": {
                      "type": "boolean"
                    },
                    "maskedWebhookSecret": {
                      "type": "string",
                      "nullable": true
                    },
                    "workspaces": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "workspaceId": {
                            "type": "string"
                          },
                          "workspaceName": {
                            "type": "string"
                          },
                          "isActive": {
                            "type": "boolean"
                          },
                          "emailEnabled": {
                            "type": "boolean"
                          },
                          "ntfyEnabled": {
                            "type": "boolean"
                          },
                          "gotifyEnabled": {
                            "type": "boolean"
                          },
                          "webhookEnabled": {
                            "type": "boolean"
                          },
                          "projectMode": {
                            "enum": [
                              "all",
                              "selected"
                            ],
                            "type": "string"
                          },
                          "selectedProjectIds": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "createdAt": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "updatedAt": {
                            "type": "string",
                            "format": "date-time"
                          }
                        },
                        "required": [
                          "id",
                          "workspaceId",
                          "workspaceName",
                          "isActive",
                          "emailEnabled",
                          "ntfyEnabled",
                          "gotifyEnabled",
                          "webhookEnabled",
                          "projectMode",
                          "selectedProjectIds",
                          "createdAt",
                          "updatedAt"
                        ]
                      }
                    },
                    "createdAt": {
                      "nullable": true
                    },
                    "updatedAt": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "emailAddress",
                    "emailEnabled",
                    "ntfyEnabled",
                    "ntfyConfigured",
                    "ntfyServerUrl",
                    "ntfyTopic",
                    "ntfyTokenConfigured",
                    "maskedNtfyToken",
                    "gotifyEnabled",
                    "gotifyConfigured",
                    "gotifyServerUrl",
                    "gotifyTokenConfigured",
                    "maskedGotifyToken",
                    "webhookEnabled",
                    "webhookConfigured",
                    "webhookUrl",
                    "webhookSecretConfigured",
                    "maskedWebhookSecret",
                    "workspaces",
                    "createdAt",
                    "updatedAt"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "workspaceId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "isActive": {
                    "type": "boolean"
                  },
                  "emailEnabled": {
                    "type": "boolean"
                  },
                  "ntfyEnabled": {
                    "type": "boolean"
                  },
                  "gotifyEnabled": {
                    "type": "boolean"
                  },
                  "webhookEnabled": {
                    "type": "boolean"
                  },
                  "projectMode": {
                    "enum": [
                      "all",
                      "selected"
                    ],
                    "type": "string"
                  },
                  "selectedProjectIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "isActive",
                  "emailEnabled",
                  "ntfyEnabled",
                  "gotifyEnabled",
                  "webhookEnabled",
                  "projectMode"
                ]
              }
            }
          }
        },
        "summary": "Upsert Notification Preference Workspace Rule"
      },
      "delete": {
        "operationId": "deleteNotificationPreferenceWorkspaceRule",
        "tags": [
          "Notification Preferences"
        ],
        "description": "Delete a workspace notification rule",
        "responses": {
          "200": {
            "description": "Updated notification preferences",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "emailAddress": {
                      "type": "string",
                      "nullable": true
                    },
                    "emailEnabled": {
                      "type": "boolean"
                    },
                    "ntfyEnabled": {
                      "type": "boolean"
                    },
                    "ntfyConfigured": {
                      "type": "boolean"
                    },
                    "ntfyServerUrl": {
                      "type": "string",
                      "nullable": true
                    },
                    "ntfyTopic": {
                      "type": "string",
                      "nullable": true
                    },
                    "ntfyTokenConfigured": {
                      "type": "boolean"
                    },
                    "maskedNtfyToken": {
                      "type": "string",
                      "nullable": true
                    },
                    "gotifyEnabled": {
                      "type": "boolean"
                    },
                    "gotifyConfigured": {
                      "type": "boolean"
                    },
                    "gotifyServerUrl": {
                      "type": "string",
                      "nullable": true
                    },
                    "gotifyTokenConfigured": {
                      "type": "boolean"
                    },
                    "maskedGotifyToken": {
                      "type": "string",
                      "nullable": true
                    },
                    "webhookEnabled": {
                      "type": "boolean"
                    },
                    "webhookConfigured": {
                      "type": "boolean"
                    },
                    "webhookUrl": {
                      "type": "string",
                      "nullable": true
                    },
                    "webhookSecretConfigured": {
                      "type": "boolean"
                    },
                    "maskedWebhookSecret": {
                      "type": "string",
                      "nullable": true
                    },
                    "workspaces": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "workspaceId": {
                            "type": "string"
                          },
                          "workspaceName": {
                            "type": "string"
                          },
                          "isActive": {
                            "type": "boolean"
                          },
                          "emailEnabled": {
                            "type": "boolean"
                          },
                          "ntfyEnabled": {
                            "type": "boolean"
                          },
                          "gotifyEnabled": {
                            "type": "boolean"
                          },
                          "webhookEnabled": {
                            "type": "boolean"
                          },
                          "projectMode": {
                            "enum": [
                              "all",
                              "selected"
                            ],
                            "type": "string"
                          },
                          "selectedProjectIds": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "createdAt": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "updatedAt": {
                            "type": "string",
                            "format": "date-time"
                          }
                        },
                        "required": [
                          "id",
                          "workspaceId",
                          "workspaceName",
                          "isActive",
                          "emailEnabled",
                          "ntfyEnabled",
                          "gotifyEnabled",
                          "webhookEnabled",
                          "projectMode",
                          "selectedProjectIds",
                          "createdAt",
                          "updatedAt"
                        ]
                      }
                    },
                    "createdAt": {
                      "nullable": true
                    },
                    "updatedAt": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "emailAddress",
                    "emailEnabled",
                    "ntfyEnabled",
                    "ntfyConfigured",
                    "ntfyServerUrl",
                    "ntfyTopic",
                    "ntfyTokenConfigured",
                    "maskedNtfyToken",
                    "gotifyEnabled",
                    "gotifyConfigured",
                    "gotifyServerUrl",
                    "gotifyTokenConfigured",
                    "maskedGotifyToken",
                    "webhookEnabled",
                    "webhookConfigured",
                    "webhookUrl",
                    "webhookSecretConfigured",
                    "maskedWebhookSecret",
                    "workspaces",
                    "createdAt",
                    "updatedAt"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Workspace rule not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "workspaceId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "summary": "Delete Notification Preference Workspace Rule"
      }
    },
    "/search": {
      "get": {
        "operationId": "globalSearch",
        "tags": [
          "Search"
        ],
        "description": "Search across tasks, projects, workspaces, comments, and activities",
        "responses": {
          "200": {
            "description": "Search results",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "tasks": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "projectId": {
                            "type": "string"
                          },
                          "position": {
                            "type": "number",
                            "nullable": true
                          },
                          "number": {
                            "type": "number",
                            "nullable": true
                          },
                          "userId": {
                            "type": "string",
                            "nullable": true
                          },
                          "title": {
                            "type": "string"
                          },
                          "description": {
                            "type": "string",
                            "nullable": true
                          },
                          "status": {
                            "type": "string"
                          },
                          "priority": {
                            "enum": [
                              "no-priority",
                              "low",
                              "medium",
                              "high",
                              "urgent"
                            ],
                            "type": "string"
                          },
                          "startDate": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "dueDate": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "createdAt": {
                            "type": "string",
                            "format": "date-time"
                          }
                        },
                        "required": [
                          "id",
                          "projectId",
                          "position",
                          "number",
                          "userId",
                          "title",
                          "description",
                          "status",
                          "priority",
                          "createdAt"
                        ]
                      }
                    },
                    "projects": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "workspaceId": {
                            "type": "string"
                          },
                          "slug": {
                            "type": "string"
                          },
                          "icon": {
                            "type": "string",
                            "nullable": true
                          },
                          "name": {
                            "type": "string"
                          },
                          "description": {
                            "type": "string",
                            "nullable": true
                          },
                          "createdAt": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "isPublic": {
                            "type": "boolean",
                            "nullable": true
                          },
                          "archivedAt": {
                            "nullable": true
                          }
                        },
                        "required": [
                          "id",
                          "workspaceId",
                          "slug",
                          "icon",
                          "name",
                          "description",
                          "createdAt",
                          "isPublic",
                          "archivedAt"
                        ]
                      }
                    },
                    "workspaces": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "slug": {
                            "type": "string"
                          },
                          "logo": {
                            "type": "string",
                            "nullable": true
                          },
                          "metadata": {
                            "type": "string",
                            "nullable": true
                          },
                          "description": {
                            "type": "string",
                            "nullable": true
                          },
                          "createdAt": {
                            "type": "string",
                            "format": "date-time"
                          }
                        },
                        "required": [
                          "id",
                          "name",
                          "slug",
                          "logo",
                          "metadata",
                          "description",
                          "createdAt"
                        ]
                      }
                    },
                    "comments": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "taskId": {
                            "type": "string"
                          },
                          "type": {
                            "enum": [
                              "comment",
                              "task",
                              "status_changed",
                              "priority_changed",
                              "unassigned",
                              "assignee_changed",
                              "due_date_changed",
                              "title_changed",
                              "description_changed",
                              "create"
                            ],
                            "type": "string"
                          },
                          "createdAt": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "userId": {
                            "type": "string",
                            "nullable": true
                          },
                          "content": {
                            "type": "string",
                            "nullable": true
                          },
                          "eventData": {
                            "type": "object",
                            "additionalProperties": true,
                            "nullable": true
                          },
                          "externalUserName": {
                            "type": "string",
                            "nullable": true
                          },
                          "externalUserAvatar": {
                            "type": "string",
                            "nullable": true
                          },
                          "externalSource": {
                            "type": "string",
                            "nullable": true
                          },
                          "externalUrl": {
                            "type": "string",
                            "nullable": true
                          }
                        },
                        "required": [
                          "id",
                          "taskId",
                          "type",
                          "createdAt",
                          "userId",
                          "content",
                          "eventData",
                          "externalUserName",
                          "externalUserAvatar",
                          "externalSource",
                          "externalUrl"
                        ]
                      }
                    },
                    "activities": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "taskId": {
                            "type": "string"
                          },
                          "type": {
                            "enum": [
                              "comment",
                              "task",
                              "status_changed",
                              "priority_changed",
                              "unassigned",
                              "assignee_changed",
                              "due_date_changed",
                              "title_changed",
                              "description_changed",
                              "create"
                            ],
                            "type": "string"
                          },
                          "createdAt": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "userId": {
                            "type": "string",
                            "nullable": true
                          },
                          "content": {
                            "type": "string",
                            "nullable": true
                          },
                          "eventData": {
                            "type": "object",
                            "additionalProperties": true,
                            "nullable": true
                          },
                          "externalUserName": {
                            "type": "string",
                            "nullable": true
                          },
                          "externalUserAvatar": {
                            "type": "string",
                            "nullable": true
                          },
                          "externalSource": {
                            "type": "string",
                            "nullable": true
                          },
                          "externalUrl": {
                            "type": "string",
                            "nullable": true
                          }
                        },
                        "required": [
                          "id",
                          "taskId",
                          "type",
                          "createdAt",
                          "userId",
                          "content",
                          "eventData",
                          "externalUserName",
                          "externalUserAvatar",
                          "externalSource",
                          "externalUrl"
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "query",
            "name": "q",
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true
          },
          {
            "in": "query",
            "name": "type",
            "schema": {
              "enum": [
                "all",
                "tasks",
                "projects",
                "workspaces",
                "comments",
                "activities"
              ],
              "default": "all",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "workspaceId",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "projectId",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50,
              "default": 20
            }
          },
          {
            "in": "query",
            "name": "userEmail",
            "schema": {
              "type": "string",
              "format": "email"
            }
          }
        ],
        "summary": "Global Search"
      }
    },
    "/github-integration/app-info": {
      "get": {
        "operationId": "getGitHubAppInfo",
        "tags": [
          "GitHub"
        ],
        "description": "Get GitHub app configuration information",
        "responses": {
          "200": {
            "description": "GitHub app information",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "appName": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "appName"
                  ]
                }
              }
            }
          }
        },
        "summary": "Get Git Hub App Info"
      }
    },
    "/github-integration/repositories": {
      "get": {
        "operationId": "listGitHubRepositories",
        "tags": [
          "GitHub"
        ],
        "description": "List all accessible GitHub repositories",
        "responses": {
          "200": {
            "description": "List of repositories",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "number"
                      },
                      "name": {
                        "type": "string"
                      },
                      "full_name": {
                        "type": "string"
                      },
                      "owner": {
                        "type": "object",
                        "properties": {
                          "login": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "login"
                        ]
                      },
                      "private": {
                        "type": "boolean"
                      },
                      "html_url": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "id",
                      "name",
                      "full_name",
                      "owner",
                      "private",
                      "html_url"
                    ]
                  }
                }
              }
            }
          }
        },
        "summary": "List Git Hub Repositories"
      }
    },
    "/github-integration/verify": {
      "post": {
        "operationId": "verifyGitHubInstallation",
        "tags": [
          "GitHub"
        ],
        "description": "Verify GitHub app installation for a repository",
        "responses": {
          "200": {
            "description": "Verification result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "installed": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "installed"
                  ]
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "repositoryOwner": {
                    "type": "string",
                    "minLength": 1
                  },
                  "repositoryName": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "required": [
                  "repositoryOwner",
                  "repositoryName"
                ]
              }
            }
          }
        },
        "summary": "Verify Git Hub Installation"
      }
    },
    "/github-integration/project/{projectId}": {
      "get": {
        "operationId": "getGitHubIntegration",
        "tags": [
          "GitHub"
        ],
        "description": "Get GitHub integration for a project",
        "responses": {
          "200": {
            "description": "GitHub integration details",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "projectId": {
                      "type": "string"
                    },
                    "repositoryOwner": {
                      "type": "string"
                    },
                    "repositoryName": {
                      "type": "string"
                    },
                    "installationId": {
                      "type": "number",
                      "nullable": true
                    },
                    "branchPattern": {
                      "type": "string"
                    },
                    "commentTaskLinkOnGitHubIssue": {
                      "type": "boolean"
                    },
                    "isActive": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "projectId",
                    "repositoryOwner",
                    "repositoryName",
                    "installationId",
                    "isActive",
                    "createdAt",
                    "updatedAt"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "projectId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "summary": "Get Git Hub Integration"
      },
      "post": {
        "operationId": "createGitHubIntegration",
        "tags": [
          "GitHub"
        ],
        "description": "Create a new GitHub integration for a project",
        "responses": {
          "200": {
            "description": "Integration created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "projectId": {
                      "type": "string"
                    },
                    "repositoryOwner": {
                      "type": "string"
                    },
                    "repositoryName": {
                      "type": "string"
                    },
                    "installationId": {
                      "type": "number",
                      "nullable": true
                    },
                    "branchPattern": {
                      "type": "string"
                    },
                    "commentTaskLinkOnGitHubIssue": {
                      "type": "boolean"
                    },
                    "isActive": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "projectId",
                    "repositoryOwner",
                    "repositoryName",
                    "installationId",
                    "isActive",
                    "createdAt",
                    "updatedAt"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "projectId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "repositoryOwner": {
                    "type": "string",
                    "minLength": 1
                  },
                  "repositoryName": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "required": [
                  "repositoryOwner",
                  "repositoryName"
                ]
              }
            }
          }
        },
        "summary": "Create Git Hub Integration"
      },
      "patch": {
        "operationId": "updateGitHubIntegration",
        "tags": [
          "GitHub"
        ],
        "description": "Update GitHub integration settings",
        "responses": {
          "200": {
            "description": "Integration updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "projectId": {
                      "type": "string"
                    },
                    "repositoryOwner": {
                      "type": "string"
                    },
                    "repositoryName": {
                      "type": "string"
                    },
                    "installationId": {
                      "type": "number",
                      "nullable": true
                    },
                    "branchPattern": {
                      "type": "string"
                    },
                    "commentTaskLinkOnGitHubIssue": {
                      "type": "boolean"
                    },
                    "isActive": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "projectId",
                    "repositoryOwner",
                    "repositoryName",
                    "installationId",
                    "isActive",
                    "createdAt",
                    "updatedAt"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Integration not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "projectId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "isActive": {
                    "type": "boolean"
                  },
                  "commentTaskLinkOnGitHubIssue": {
                    "type": "boolean"
                  }
                }
              }
            }
          }
        },
        "summary": "Update Git Hub Integration"
      },
      "delete": {
        "operationId": "deleteGitHubIntegration",
        "tags": [
          "GitHub"
        ],
        "description": "Delete GitHub integration for a project",
        "responses": {
          "200": {
            "description": "Integration deleted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "projectId": {
                      "type": "string"
                    },
                    "repositoryOwner": {
                      "type": "string"
                    },
                    "repositoryName": {
                      "type": "string"
                    },
                    "installationId": {
                      "type": "number",
                      "nullable": true
                    },
                    "branchPattern": {
                      "type": "string"
                    },
                    "commentTaskLinkOnGitHubIssue": {
                      "type": "boolean"
                    },
                    "isActive": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "projectId",
                    "repositoryOwner",
                    "repositoryName",
                    "installationId",
                    "isActive",
                    "createdAt",
                    "updatedAt"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "projectId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "summary": "Delete Git Hub Integration"
      }
    },
    "/github-integration/import-issues": {
      "post": {
        "operationId": "importGitHubIssues",
        "tags": [
          "GitHub"
        ],
        "description": "Import GitHub issues as tasks",
        "responses": {
          "200": {
            "description": "Issues imported successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "imported": {
                      "type": "number"
                    },
                    "skipped": {
                      "type": "number"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  },
                  "required": [
                    "imported",
                    "skipped"
                  ]
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "projectId": {
                    "type": "string"
                  }
                },
                "required": [
                  "projectId"
                ]
              }
            }
          }
        },
        "summary": "Import Git Hub Issues"
      }
    },
    "/gitea-integration/repositories": {
      "post": {
        "operationId": "listGiteaRepositories",
        "tags": [
          "Gitea"
        ],
        "description": "List repositories accessible with a Gitea token",
        "responses": {
          "200": {
            "description": "Repositories",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "repositories": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "number"
                          },
                          "name": {
                            "type": "string"
                          },
                          "full_name": {
                            "type": "string"
                          },
                          "owner": {
                            "type": "object",
                            "properties": {
                              "login": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "login"
                            ]
                          },
                          "private": {
                            "type": "boolean"
                          },
                          "html_url": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "name",
                          "full_name",
                          "owner",
                          "private",
                          "html_url"
                        ]
                      }
                    }
                  },
                  "required": [
                    "repositories"
                  ]
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "baseUrl": {
                    "type": "string",
                    "minLength": 1
                  },
                  "accessToken": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "required": [
                  "baseUrl",
                  "accessToken"
                ]
              }
            }
          }
        },
        "summary": "List Gitea Repositories"
      }
    },
    "/gitea-integration/verify": {
      "post": {
        "operationId": "verifyGiteaAccess",
        "tags": [
          "Gitea"
        ],
        "description": "Verify Gitea token and repository access",
        "responses": {
          "200": {
            "description": "Verification result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "isInstalled": {
                      "type": "boolean"
                    },
                    "hasRequiredPermissions": {
                      "type": "boolean"
                    },
                    "repositoryExists": {
                      "type": "boolean"
                    },
                    "repositoryPrivate": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "missingPermissions": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "isInstalled",
                    "hasRequiredPermissions",
                    "repositoryExists",
                    "repositoryPrivate",
                    "missingPermissions",
                    "message"
                  ]
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "baseUrl": {
                    "type": "string",
                    "minLength": 1
                  },
                  "accessToken": {
                    "type": "string",
                    "minLength": 1
                  },
                  "repositoryOwner": {
                    "type": "string",
                    "minLength": 1
                  },
                  "repositoryName": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "required": [
                  "baseUrl",
                  "accessToken",
                  "repositoryOwner",
                  "repositoryName"
                ]
              }
            }
          }
        },
        "summary": "Verify Gitea Access"
      }
    },
    "/gitea-integration/project/{projectId}": {
      "get": {
        "operationId": "getGiteaIntegration",
        "tags": [
          "Gitea"
        ],
        "description": "Get Gitea integration for a project",
        "responses": {
          "200": {
            "description": "Gitea integration details",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "projectId": {
                      "type": "string"
                    },
                    "baseUrl": {
                      "type": "string"
                    },
                    "repositoryOwner": {
                      "type": "string"
                    },
                    "repositoryName": {
                      "type": "string"
                    },
                    "maskedAccessToken": {
                      "type": "string"
                    },
                    "webhookUrl": {
                      "type": "string"
                    },
                    "webhookSecret": {
                      "type": "string"
                    },
                    "branchPattern": {
                      "type": "string"
                    },
                    "commentTaskLinkOnGiteaIssue": {
                      "type": "boolean"
                    },
                    "isActive": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "projectId",
                    "baseUrl",
                    "repositoryOwner",
                    "repositoryName",
                    "maskedAccessToken",
                    "isActive",
                    "createdAt",
                    "updatedAt"
                  ],
                  "nullable": true
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "projectId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "summary": "Get Gitea Integration"
      },
      "post": {
        "operationId": "createGiteaIntegration",
        "tags": [
          "Gitea"
        ],
        "description": "Create or update Gitea integration for a project",
        "responses": {
          "200": {
            "description": "Integration saved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "projectId": {
                      "type": "string"
                    },
                    "baseUrl": {
                      "type": "string"
                    },
                    "repositoryOwner": {
                      "type": "string"
                    },
                    "repositoryName": {
                      "type": "string"
                    },
                    "maskedAccessToken": {
                      "type": "string"
                    },
                    "webhookUrl": {
                      "type": "string"
                    },
                    "webhookSecret": {
                      "type": "string"
                    },
                    "branchPattern": {
                      "type": "string"
                    },
                    "commentTaskLinkOnGiteaIssue": {
                      "type": "boolean"
                    },
                    "isActive": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "projectId",
                    "baseUrl",
                    "repositoryOwner",
                    "repositoryName",
                    "maskedAccessToken",
                    "isActive",
                    "createdAt",
                    "updatedAt"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "projectId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "baseUrl": {
                    "type": "string",
                    "minLength": 1
                  },
                  "accessToken": {
                    "type": "string"
                  },
                  "repositoryOwner": {
                    "type": "string",
                    "minLength": 1
                  },
                  "repositoryName": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "required": [
                  "baseUrl",
                  "repositoryOwner",
                  "repositoryName"
                ]
              }
            }
          }
        },
        "summary": "Create Gitea Integration"
      },
      "patch": {
        "operationId": "updateGiteaIntegration",
        "tags": [
          "Gitea"
        ],
        "description": "Update Gitea integration settings",
        "responses": {
          "200": {
            "description": "Updated",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "projectId": {
                      "type": "string"
                    },
                    "baseUrl": {
                      "type": "string"
                    },
                    "repositoryOwner": {
                      "type": "string"
                    },
                    "repositoryName": {
                      "type": "string"
                    },
                    "maskedAccessToken": {
                      "type": "string"
                    },
                    "webhookUrl": {
                      "type": "string"
                    },
                    "webhookSecret": {
                      "type": "string"
                    },
                    "branchPattern": {
                      "type": "string"
                    },
                    "commentTaskLinkOnGiteaIssue": {
                      "type": "boolean"
                    },
                    "isActive": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "projectId",
                    "baseUrl",
                    "repositoryOwner",
                    "repositoryName",
                    "maskedAccessToken",
                    "isActive",
                    "createdAt",
                    "updatedAt"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "projectId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "isActive": {
                    "type": "boolean"
                  },
                  "commentTaskLinkOnGiteaIssue": {
                    "type": "boolean"
                  }
                }
              }
            }
          }
        },
        "summary": "Update Gitea Integration"
      },
      "delete": {
        "operationId": "deleteGiteaIntegration",
        "tags": [
          "Gitea"
        ],
        "description": "Delete Gitea integration for a project",
        "responses": {
          "200": {
            "description": "Deleted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "success",
                    "message"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "projectId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "summary": "Delete Gitea Integration"
      }
    },
    "/gitea-integration/import-issues": {
      "post": {
        "operationId": "importGiteaIssues",
        "tags": [
          "Gitea"
        ],
        "description": "Import Gitea issues as tasks",
        "responses": {
          "200": {
            "description": "Import result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "imported": {
                      "type": "number"
                    },
                    "updated": {
                      "type": "number"
                    },
                    "skipped": {
                      "type": "number"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  },
                  "required": [
                    "imported",
                    "updated",
                    "skipped"
                  ]
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "projectId": {
                    "type": "string"
                  }
                },
                "required": [
                  "projectId"
                ]
              }
            }
          }
        },
        "summary": "Import Gitea Issues"
      }
    },
    "/generic-webhook-integration/project/{projectId}": {
      "get": {
        "operationId": "getGenericWebhookIntegration",
        "tags": [
          "Generic Webhook"
        ],
        "description": "Get generic outgoing webhook integration for a project",
        "responses": {
          "200": {
            "description": "Generic webhook integration details",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "projectId": {
                      "type": "string"
                    },
                    "webhookConfigured": {
                      "type": "boolean"
                    },
                    "maskedWebhookUrl": {
                      "type": "string",
                      "nullable": true
                    },
                    "secretConfigured": {
                      "type": "boolean"
                    },
                    "maskedSecret": {
                      "type": "string",
                      "nullable": true
                    },
                    "events": {
                      "type": "object",
                      "properties": {
                        "taskCreated": {
                          "type": "boolean"
                        },
                        "taskStatusChanged": {
                          "type": "boolean"
                        },
                        "taskPriorityChanged": {
                          "type": "boolean"
                        },
                        "taskTitleChanged": {
                          "type": "boolean"
                        },
                        "taskDescriptionChanged": {
                          "type": "boolean"
                        },
                        "taskCommentCreated": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "taskCreated",
                        "taskStatusChanged",
                        "taskPriorityChanged",
                        "taskTitleChanged",
                        "taskDescriptionChanged",
                        "taskCommentCreated"
                      ]
                    },
                    "isActive": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "projectId",
                    "webhookConfigured",
                    "maskedWebhookUrl",
                    "secretConfigured",
                    "maskedSecret",
                    "events",
                    "isActive",
                    "createdAt",
                    "updatedAt"
                  ],
                  "nullable": true
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "projectId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "summary": "Get Generic Webhook Integration"
      },
      "post": {
        "operationId": "createGenericWebhookIntegration",
        "tags": [
          "Generic Webhook"
        ],
        "description": "Create or replace a generic outgoing webhook integration",
        "responses": {
          "200": {
            "description": "Generic webhook integration created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "projectId": {
                      "type": "string"
                    },
                    "webhookConfigured": {
                      "type": "boolean"
                    },
                    "maskedWebhookUrl": {
                      "type": "string",
                      "nullable": true
                    },
                    "secretConfigured": {
                      "type": "boolean"
                    },
                    "maskedSecret": {
                      "type": "string",
                      "nullable": true
                    },
                    "events": {
                      "type": "object",
                      "properties": {
                        "taskCreated": {
                          "type": "boolean"
                        },
                        "taskStatusChanged": {
                          "type": "boolean"
                        },
                        "taskPriorityChanged": {
                          "type": "boolean"
                        },
                        "taskTitleChanged": {
                          "type": "boolean"
                        },
                        "taskDescriptionChanged": {
                          "type": "boolean"
                        },
                        "taskCommentCreated": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "taskCreated",
                        "taskStatusChanged",
                        "taskPriorityChanged",
                        "taskTitleChanged",
                        "taskDescriptionChanged",
                        "taskCommentCreated"
                      ]
                    },
                    "isActive": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "projectId",
                    "webhookConfigured",
                    "maskedWebhookUrl",
                    "secretConfigured",
                    "maskedSecret",
                    "events",
                    "isActive",
                    "createdAt",
                    "updatedAt"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "projectId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "webhookUrl": {
                    "type": "string",
                    "minLength": 1
                  },
                  "secret": {
                    "type": "string"
                  },
                  "events": {
                    "type": "object",
                    "properties": {
                      "taskCreated": {
                        "type": "boolean"
                      },
                      "taskStatusChanged": {
                        "type": "boolean"
                      },
                      "taskPriorityChanged": {
                        "type": "boolean"
                      },
                      "taskTitleChanged": {
                        "type": "boolean"
                      },
                      "taskDescriptionChanged": {
                        "type": "boolean"
                      },
                      "taskCommentCreated": {
                        "type": "boolean"
                      }
                    }
                  }
                },
                "required": [
                  "webhookUrl"
                ]
              }
            }
          }
        },
        "summary": "Create Generic Webhook Integration"
      },
      "patch": {
        "operationId": "updateGenericWebhookIntegration",
        "tags": [
          "Generic Webhook"
        ],
        "description": "Update generic outgoing webhook settings",
        "responses": {
          "200": {
            "description": "Generic webhook integration updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "projectId": {
                      "type": "string"
                    },
                    "webhookConfigured": {
                      "type": "boolean"
                    },
                    "maskedWebhookUrl": {
                      "type": "string",
                      "nullable": true
                    },
                    "secretConfigured": {
                      "type": "boolean"
                    },
                    "maskedSecret": {
                      "type": "string",
                      "nullable": true
                    },
                    "events": {
                      "type": "object",
                      "properties": {
                        "taskCreated": {
                          "type": "boolean"
                        },
                        "taskStatusChanged": {
                          "type": "boolean"
                        },
                        "taskPriorityChanged": {
                          "type": "boolean"
                        },
                        "taskTitleChanged": {
                          "type": "boolean"
                        },
                        "taskDescriptionChanged": {
                          "type": "boolean"
                        },
                        "taskCommentCreated": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "taskCreated",
                        "taskStatusChanged",
                        "taskPriorityChanged",
                        "taskTitleChanged",
                        "taskDescriptionChanged",
                        "taskCommentCreated"
                      ]
                    },
                    "isActive": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "projectId",
                    "webhookConfigured",
                    "maskedWebhookUrl",
                    "secretConfigured",
                    "maskedSecret",
                    "events",
                    "isActive",
                    "createdAt",
                    "updatedAt"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "projectId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "webhookUrl": {
                    "type": "string"
                  },
                  "secret": {
                    "type": "string",
                    "nullable": true
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "events": {
                    "type": "object",
                    "properties": {
                      "taskCreated": {
                        "type": "boolean"
                      },
                      "taskStatusChanged": {
                        "type": "boolean"
                      },
                      "taskPriorityChanged": {
                        "type": "boolean"
                      },
                      "taskTitleChanged": {
                        "type": "boolean"
                      },
                      "taskDescriptionChanged": {
                        "type": "boolean"
                      },
                      "taskCommentCreated": {
                        "type": "boolean"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "summary": "Update Generic Webhook Integration"
      },
      "delete": {
        "operationId": "deleteGenericWebhookIntegration",
        "tags": [
          "Generic Webhook"
        ],
        "description": "Delete generic outgoing webhook integration for a project",
        "responses": {
          "200": {
            "description": "Generic webhook integration deleted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "success"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "projectId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "summary": "Delete Generic Webhook Integration"
      }
    },
    "/discord-integration/project/{projectId}": {
      "get": {
        "operationId": "getDiscordIntegration",
        "tags": [
          "Discord"
        ],
        "description": "Get Discord integration for a project",
        "responses": {
          "200": {
            "description": "Discord integration details",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "projectId": {
                      "type": "string"
                    },
                    "channelName": {
                      "type": "string",
                      "nullable": true
                    },
                    "webhookConfigured": {
                      "type": "boolean"
                    },
                    "maskedWebhookUrl": {
                      "type": "string"
                    },
                    "events": {
                      "type": "object",
                      "properties": {
                        "taskCreated": {
                          "type": "boolean"
                        },
                        "taskStatusChanged": {
                          "type": "boolean"
                        },
                        "taskPriorityChanged": {
                          "type": "boolean"
                        },
                        "taskTitleChanged": {
                          "type": "boolean"
                        },
                        "taskDescriptionChanged": {
                          "type": "boolean"
                        },
                        "taskCommentCreated": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "taskCreated",
                        "taskStatusChanged",
                        "taskPriorityChanged",
                        "taskTitleChanged",
                        "taskDescriptionChanged",
                        "taskCommentCreated"
                      ]
                    },
                    "isActive": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "projectId",
                    "channelName",
                    "webhookConfigured",
                    "maskedWebhookUrl",
                    "events",
                    "isActive",
                    "createdAt",
                    "updatedAt"
                  ],
                  "nullable": true
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "projectId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "summary": "Get Discord Integration"
      },
      "post": {
        "operationId": "createDiscordIntegration",
        "tags": [
          "Discord"
        ],
        "description": "Create or replace a Discord integration for a project",
        "responses": {
          "200": {
            "description": "Discord integration created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "projectId": {
                      "type": "string"
                    },
                    "channelName": {
                      "type": "string",
                      "nullable": true
                    },
                    "webhookConfigured": {
                      "type": "boolean"
                    },
                    "maskedWebhookUrl": {
                      "type": "string"
                    },
                    "events": {
                      "type": "object",
                      "properties": {
                        "taskCreated": {
                          "type": "boolean"
                        },
                        "taskStatusChanged": {
                          "type": "boolean"
                        },
                        "taskPriorityChanged": {
                          "type": "boolean"
                        },
                        "taskTitleChanged": {
                          "type": "boolean"
                        },
                        "taskDescriptionChanged": {
                          "type": "boolean"
                        },
                        "taskCommentCreated": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "taskCreated",
                        "taskStatusChanged",
                        "taskPriorityChanged",
                        "taskTitleChanged",
                        "taskDescriptionChanged",
                        "taskCommentCreated"
                      ]
                    },
                    "isActive": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "projectId",
                    "channelName",
                    "webhookConfigured",
                    "maskedWebhookUrl",
                    "events",
                    "isActive",
                    "createdAt",
                    "updatedAt"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "projectId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "webhookUrl": {
                    "type": "string",
                    "minLength": 1
                  },
                  "channelName": {
                    "type": "string"
                  },
                  "events": {
                    "type": "object",
                    "properties": {
                      "taskCreated": {
                        "type": "boolean"
                      },
                      "taskStatusChanged": {
                        "type": "boolean"
                      },
                      "taskPriorityChanged": {
                        "type": "boolean"
                      },
                      "taskTitleChanged": {
                        "type": "boolean"
                      },
                      "taskDescriptionChanged": {
                        "type": "boolean"
                      },
                      "taskCommentCreated": {
                        "type": "boolean"
                      }
                    }
                  }
                },
                "required": [
                  "webhookUrl"
                ]
              }
            }
          }
        },
        "summary": "Create Discord Integration"
      },
      "patch": {
        "operationId": "updateDiscordIntegration",
        "tags": [
          "Discord"
        ],
        "description": "Update Discord integration settings",
        "responses": {
          "200": {
            "description": "Discord integration updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "projectId": {
                      "type": "string"
                    },
                    "channelName": {
                      "type": "string",
                      "nullable": true
                    },
                    "webhookConfigured": {
                      "type": "boolean"
                    },
                    "maskedWebhookUrl": {
                      "type": "string"
                    },
                    "events": {
                      "type": "object",
                      "properties": {
                        "taskCreated": {
                          "type": "boolean"
                        },
                        "taskStatusChanged": {
                          "type": "boolean"
                        },
                        "taskPriorityChanged": {
                          "type": "boolean"
                        },
                        "taskTitleChanged": {
                          "type": "boolean"
                        },
                        "taskDescriptionChanged": {
                          "type": "boolean"
                        },
                        "taskCommentCreated": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "taskCreated",
                        "taskStatusChanged",
                        "taskPriorityChanged",
                        "taskTitleChanged",
                        "taskDescriptionChanged",
                        "taskCommentCreated"
                      ]
                    },
                    "isActive": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "projectId",
                    "channelName",
                    "webhookConfigured",
                    "maskedWebhookUrl",
                    "events",
                    "isActive",
                    "createdAt",
                    "updatedAt"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "projectId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "webhookUrl": {
                    "type": "string"
                  },
                  "channelName": {
                    "type": "string",
                    "nullable": true
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "events": {
                    "type": "object",
                    "properties": {
                      "taskCreated": {
                        "type": "boolean"
                      },
                      "taskStatusChanged": {
                        "type": "boolean"
                      },
                      "taskPriorityChanged": {
                        "type": "boolean"
                      },
                      "taskTitleChanged": {
                        "type": "boolean"
                      },
                      "taskDescriptionChanged": {
                        "type": "boolean"
                      },
                      "taskCommentCreated": {
                        "type": "boolean"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "summary": "Update Discord Integration"
      },
      "delete": {
        "operationId": "deleteDiscordIntegration",
        "tags": [
          "Discord"
        ],
        "description": "Delete Discord integration for a project",
        "responses": {
          "200": {
            "description": "Discord integration deleted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "success"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "projectId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "summary": "Delete Discord Integration"
      }
    },
    "/slack-integration/project/{projectId}": {
      "get": {
        "operationId": "getSlackIntegration",
        "tags": [
          "Slack"
        ],
        "description": "Get Slack integration for a project",
        "responses": {
          "200": {
            "description": "Slack integration details",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "projectId": {
                      "type": "string"
                    },
                    "channelName": {
                      "type": "string",
                      "nullable": true
                    },
                    "webhookConfigured": {
                      "type": "boolean"
                    },
                    "maskedWebhookUrl": {
                      "type": "string"
                    },
                    "events": {
                      "type": "object",
                      "properties": {
                        "taskCreated": {
                          "type": "boolean"
                        },
                        "taskStatusChanged": {
                          "type": "boolean"
                        },
                        "taskPriorityChanged": {
                          "type": "boolean"
                        },
                        "taskTitleChanged": {
                          "type": "boolean"
                        },
                        "taskDescriptionChanged": {
                          "type": "boolean"
                        },
                        "taskCommentCreated": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "taskCreated",
                        "taskStatusChanged",
                        "taskPriorityChanged",
                        "taskTitleChanged",
                        "taskDescriptionChanged",
                        "taskCommentCreated"
                      ]
                    },
                    "isActive": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "projectId",
                    "channelName",
                    "webhookConfigured",
                    "maskedWebhookUrl",
                    "events",
                    "isActive",
                    "createdAt",
                    "updatedAt"
                  ],
                  "nullable": true
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "projectId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "summary": "Get Slack Integration"
      },
      "post": {
        "operationId": "createSlackIntegration",
        "tags": [
          "Slack"
        ],
        "description": "Create or replace a Slack integration for a project",
        "responses": {
          "200": {
            "description": "Slack integration created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "projectId": {
                      "type": "string"
                    },
                    "channelName": {
                      "type": "string",
                      "nullable": true
                    },
                    "webhookConfigured": {
                      "type": "boolean"
                    },
                    "maskedWebhookUrl": {
                      "type": "string"
                    },
                    "events": {
                      "type": "object",
                      "properties": {
                        "taskCreated": {
                          "type": "boolean"
                        },
                        "taskStatusChanged": {
                          "type": "boolean"
                        },
                        "taskPriorityChanged": {
                          "type": "boolean"
                        },
                        "taskTitleChanged": {
                          "type": "boolean"
                        },
                        "taskDescriptionChanged": {
                          "type": "boolean"
                        },
                        "taskCommentCreated": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "taskCreated",
                        "taskStatusChanged",
                        "taskPriorityChanged",
                        "taskTitleChanged",
                        "taskDescriptionChanged",
                        "taskCommentCreated"
                      ]
                    },
                    "isActive": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "projectId",
                    "channelName",
                    "webhookConfigured",
                    "maskedWebhookUrl",
                    "events",
                    "isActive",
                    "createdAt",
                    "updatedAt"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "projectId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "webhookUrl": {
                    "type": "string",
                    "minLength": 1
                  },
                  "channelName": {
                    "type": "string"
                  },
                  "events": {
                    "type": "object",
                    "properties": {
                      "taskCreated": {
                        "type": "boolean"
                      },
                      "taskStatusChanged": {
                        "type": "boolean"
                      },
                      "taskPriorityChanged": {
                        "type": "boolean"
                      },
                      "taskTitleChanged": {
                        "type": "boolean"
                      },
                      "taskDescriptionChanged": {
                        "type": "boolean"
                      },
                      "taskCommentCreated": {
                        "type": "boolean"
                      }
                    }
                  }
                },
                "required": [
                  "webhookUrl"
                ]
              }
            }
          }
        },
        "summary": "Create Slack Integration"
      },
      "patch": {
        "operationId": "updateSlackIntegration",
        "tags": [
          "Slack"
        ],
        "description": "Update Slack integration settings",
        "responses": {
          "200": {
            "description": "Slack integration updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "projectId": {
                      "type": "string"
                    },
                    "channelName": {
                      "type": "string",
                      "nullable": true
                    },
                    "webhookConfigured": {
                      "type": "boolean"
                    },
                    "maskedWebhookUrl": {
                      "type": "string"
                    },
                    "events": {
                      "type": "object",
                      "properties": {
                        "taskCreated": {
                          "type": "boolean"
                        },
                        "taskStatusChanged": {
                          "type": "boolean"
                        },
                        "taskPriorityChanged": {
                          "type": "boolean"
                        },
                        "taskTitleChanged": {
                          "type": "boolean"
                        },
                        "taskDescriptionChanged": {
                          "type": "boolean"
                        },
                        "taskCommentCreated": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "taskCreated",
                        "taskStatusChanged",
                        "taskPriorityChanged",
                        "taskTitleChanged",
                        "taskDescriptionChanged",
                        "taskCommentCreated"
                      ]
                    },
                    "isActive": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "projectId",
                    "channelName",
                    "webhookConfigured",
                    "maskedWebhookUrl",
                    "events",
                    "isActive",
                    "createdAt",
                    "updatedAt"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "projectId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "webhookUrl": {
                    "type": "string"
                  },
                  "channelName": {
                    "type": "string",
                    "nullable": true
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "events": {
                    "type": "object",
                    "properties": {
                      "taskCreated": {
                        "type": "boolean"
                      },
                      "taskStatusChanged": {
                        "type": "boolean"
                      },
                      "taskPriorityChanged": {
                        "type": "boolean"
                      },
                      "taskTitleChanged": {
                        "type": "boolean"
                      },
                      "taskDescriptionChanged": {
                        "type": "boolean"
                      },
                      "taskCommentCreated": {
                        "type": "boolean"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "summary": "Update Slack Integration"
      },
      "delete": {
        "operationId": "deleteSlackIntegration",
        "tags": [
          "Slack"
        ],
        "description": "Delete Slack integration for a project",
        "responses": {
          "200": {
            "description": "Slack integration deleted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "success"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "projectId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "summary": "Delete Slack Integration"
      }
    },
    "/telegram-integration/project/{projectId}": {
      "get": {
        "operationId": "getTelegramIntegration",
        "tags": [
          "Telegram"
        ],
        "description": "Get Telegram integration for a project",
        "responses": {
          "200": {
            "description": "Telegram integration details",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "projectId": {
                      "type": "string"
                    },
                    "chatId": {
                      "type": "string"
                    },
                    "threadId": {
                      "type": "number",
                      "nullable": true
                    },
                    "chatLabel": {
                      "type": "string",
                      "nullable": true
                    },
                    "botTokenConfigured": {
                      "type": "boolean"
                    },
                    "maskedBotToken": {
                      "type": "string"
                    },
                    "events": {
                      "type": "object",
                      "properties": {
                        "taskCreated": {
                          "type": "boolean"
                        },
                        "taskStatusChanged": {
                          "type": "boolean"
                        },
                        "taskPriorityChanged": {
                          "type": "boolean"
                        },
                        "taskTitleChanged": {
                          "type": "boolean"
                        },
                        "taskDescriptionChanged": {
                          "type": "boolean"
                        },
                        "taskCommentCreated": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "taskCreated",
                        "taskStatusChanged",
                        "taskPriorityChanged",
                        "taskTitleChanged",
                        "taskDescriptionChanged",
                        "taskCommentCreated"
                      ]
                    },
                    "isActive": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "projectId",
                    "chatId",
                    "threadId",
                    "chatLabel",
                    "botTokenConfigured",
                    "maskedBotToken",
                    "events",
                    "isActive",
                    "createdAt",
                    "updatedAt"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Telegram integration not found"
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "projectId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "summary": "Get Telegram Integration"
      },
      "post": {
        "operationId": "createTelegramIntegration",
        "tags": [
          "Telegram"
        ],
        "description": "Create or replace a Telegram integration for a project",
        "responses": {
          "200": {
            "description": "Telegram integration created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "projectId": {
                      "type": "string"
                    },
                    "chatId": {
                      "type": "string"
                    },
                    "threadId": {
                      "type": "number",
                      "nullable": true
                    },
                    "chatLabel": {
                      "type": "string",
                      "nullable": true
                    },
                    "botTokenConfigured": {
                      "type": "boolean"
                    },
                    "maskedBotToken": {
                      "type": "string"
                    },
                    "events": {
                      "type": "object",
                      "properties": {
                        "taskCreated": {
                          "type": "boolean"
                        },
                        "taskStatusChanged": {
                          "type": "boolean"
                        },
                        "taskPriorityChanged": {
                          "type": "boolean"
                        },
                        "taskTitleChanged": {
                          "type": "boolean"
                        },
                        "taskDescriptionChanged": {
                          "type": "boolean"
                        },
                        "taskCommentCreated": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "taskCreated",
                        "taskStatusChanged",
                        "taskPriorityChanged",
                        "taskTitleChanged",
                        "taskDescriptionChanged",
                        "taskCommentCreated"
                      ]
                    },
                    "isActive": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "projectId",
                    "chatId",
                    "threadId",
                    "chatLabel",
                    "botTokenConfigured",
                    "maskedBotToken",
                    "events",
                    "isActive",
                    "createdAt",
                    "updatedAt"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "projectId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "botToken": {
                    "type": "string",
                    "minLength": 1
                  },
                  "chatId": {
                    "type": "string",
                    "minLength": 1
                  },
                  "threadId": {
                    "type": "number"
                  },
                  "chatLabel": {
                    "type": "string"
                  },
                  "events": {
                    "type": "object",
                    "properties": {
                      "taskCreated": {
                        "type": "boolean"
                      },
                      "taskStatusChanged": {
                        "type": "boolean"
                      },
                      "taskPriorityChanged": {
                        "type": "boolean"
                      },
                      "taskTitleChanged": {
                        "type": "boolean"
                      },
                      "taskDescriptionChanged": {
                        "type": "boolean"
                      },
                      "taskCommentCreated": {
                        "type": "boolean"
                      }
                    }
                  }
                },
                "required": [
                  "botToken",
                  "chatId"
                ]
              }
            }
          }
        },
        "summary": "Create Telegram Integration"
      },
      "patch": {
        "operationId": "updateTelegramIntegration",
        "tags": [
          "Telegram"
        ],
        "description": "Update Telegram integration settings",
        "responses": {
          "200": {
            "description": "Telegram integration updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "projectId": {
                      "type": "string"
                    },
                    "chatId": {
                      "type": "string"
                    },
                    "threadId": {
                      "type": "number",
                      "nullable": true
                    },
                    "chatLabel": {
                      "type": "string",
                      "nullable": true
                    },
                    "botTokenConfigured": {
                      "type": "boolean"
                    },
                    "maskedBotToken": {
                      "type": "string"
                    },
                    "events": {
                      "type": "object",
                      "properties": {
                        "taskCreated": {
                          "type": "boolean"
                        },
                        "taskStatusChanged": {
                          "type": "boolean"
                        },
                        "taskPriorityChanged": {
                          "type": "boolean"
                        },
                        "taskTitleChanged": {
                          "type": "boolean"
                        },
                        "taskDescriptionChanged": {
                          "type": "boolean"
                        },
                        "taskCommentCreated": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "taskCreated",
                        "taskStatusChanged",
                        "taskPriorityChanged",
                        "taskTitleChanged",
                        "taskDescriptionChanged",
                        "taskCommentCreated"
                      ]
                    },
                    "isActive": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "projectId",
                    "chatId",
                    "threadId",
                    "chatLabel",
                    "botTokenConfigured",
                    "maskedBotToken",
                    "events",
                    "isActive",
                    "createdAt",
                    "updatedAt"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "projectId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "botToken": {
                    "type": "string"
                  },
                  "chatId": {
                    "type": "string"
                  },
                  "threadId": {
                    "type": "number",
                    "nullable": true
                  },
                  "chatLabel": {
                    "type": "string",
                    "nullable": true
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "events": {
                    "type": "object",
                    "properties": {
                      "taskCreated": {
                        "type": "boolean"
                      },
                      "taskStatusChanged": {
                        "type": "boolean"
                      },
                      "taskPriorityChanged": {
                        "type": "boolean"
                      },
                      "taskTitleChanged": {
                        "type": "boolean"
                      },
                      "taskDescriptionChanged": {
                        "type": "boolean"
                      },
                      "taskCommentCreated": {
                        "type": "boolean"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "summary": "Update Telegram Integration"
      },
      "delete": {
        "operationId": "deleteTelegramIntegration",
        "tags": [
          "Telegram"
        ],
        "description": "Delete Telegram integration for a project",
        "responses": {
          "200": {
            "description": "Telegram integration deleted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "success"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "projectId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "summary": "Delete Telegram Integration"
      }
    },
    "/task-relation/{taskId}": {
      "get": {
        "operationId": "getTaskRelations",
        "tags": [
          "Task Relations"
        ],
        "description": "Get all relations for a task",
        "responses": {
          "200": {
            "description": "Task relations with associated task data",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "taskId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "summary": "Get Task Relations"
      }
    },
    "/task-relation": {
      "post": {
        "operationId": "createTaskRelation",
        "tags": [
          "Task Relations"
        ],
        "description": "Create a relation between two tasks",
        "responses": {
          "200": {
            "description": "Task relation created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "sourceTaskId": {
                      "type": "string"
                    },
                    "targetTaskId": {
                      "type": "string"
                    },
                    "relationType": {
                      "type": "string"
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "sourceTaskId",
                    "targetTaskId",
                    "relationType",
                    "createdAt"
                  ]
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "sourceTaskId": {
                    "type": "string"
                  },
                  "targetTaskId": {
                    "type": "string"
                  },
                  "relationType": {
                    "enum": [
                      "subtask",
                      "blocks",
                      "related"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "sourceTaskId",
                  "targetTaskId",
                  "relationType"
                ]
              }
            }
          }
        },
        "summary": "Create Task Relation"
      }
    },
    "/task-relation/{id}": {
      "delete": {
        "operationId": "deleteTaskRelation",
        "tags": [
          "Task Relations"
        ],
        "description": "Delete a task relation",
        "responses": {
          "200": {
            "description": "Task relation deleted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "sourceTaskId": {
                      "type": "string"
                    },
                    "targetTaskId": {
                      "type": "string"
                    },
                    "relationType": {
                      "type": "string"
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "sourceTaskId",
                    "targetTaskId",
                    "relationType",
                    "createdAt"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "summary": "Delete Task Relation"
      }
    },
    "/external-link/task/{taskId}": {
      "get": {
        "operationId": "getExternalLinksByTask",
        "tags": [
          "External Links"
        ],
        "description": "Get all external links for a task",
        "responses": {
          "200": {
            "description": "External links for the task",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "taskId": {
                        "type": "string"
                      },
                      "integrationId": {
                        "type": "string"
                      },
                      "resourceType": {
                        "type": "string"
                      },
                      "externalId": {
                        "type": "string"
                      },
                      "url": {
                        "type": "string"
                      },
                      "title": {
                        "type": "string",
                        "nullable": true
                      },
                      "metadata": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "createdAt": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "updatedAt": {
                        "type": "string",
                        "format": "date-time"
                      }
                    },
                    "required": [
                      "id",
                      "taskId",
                      "integrationId",
                      "resourceType",
                      "externalId",
                      "url",
                      "title",
                      "metadata",
                      "createdAt",
                      "updatedAt"
                    ]
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "taskId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "summary": "Get External Links By Task"
      }
    },
    "/workflow-rule/{projectId}": {
      "get": {
        "operationId": "getWorkflowRules",
        "tags": [
          "Workflow Rules"
        ],
        "description": "Get all workflow rules for a project",
        "responses": {
          "200": {
            "description": "List of workflow rules",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "projectId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "summary": "Get Workflow Rules"
      },
      "put": {
        "operationId": "upsertWorkflowRule",
        "tags": [
          "Workflow Rules"
        ],
        "description": "Create or update a workflow rule",
        "responses": {
          "200": {
            "description": "Workflow rule upserted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "projectId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "integrationType": {
                    "type": "string"
                  },
                  "eventType": {
                    "type": "string"
                  },
                  "columnId": {
                    "type": "string"
                  }
                },
                "required": [
                  "integrationType",
                  "eventType",
                  "columnId"
                ]
              }
            }
          }
        },
        "summary": "Upsert Workflow Rule"
      }
    },
    "/workflow-rule/{id}": {
      "delete": {
        "operationId": "deleteWorkflowRule",
        "tags": [
          "Workflow Rules"
        ],
        "description": "Delete a workflow rule",
        "responses": {
          "200": {
            "description": "Workflow rule deleted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "summary": "Delete Workflow Rule"
      }
    },
    "/invitation/pending": {
      "get": {
        "operationId": "getUserPendingInvitations",
        "tags": [
          "Invitations"
        ],
        "description": "Get all pending invitations for the current user",
        "responses": {
          "200": {
            "description": "List of pending invitations",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "email": {
                        "type": "string"
                      },
                      "workspaceId": {
                        "type": "string"
                      },
                      "workspaceName": {
                        "type": "string"
                      },
                      "inviterName": {
                        "type": "string"
                      },
                      "expiresAt": {
                        "type": "string"
                      },
                      "createdAt": {
                        "type": "string"
                      },
                      "status": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "id",
                      "email",
                      "workspaceId",
                      "workspaceName",
                      "inviterName",
                      "expiresAt",
                      "createdAt",
                      "status"
                    ]
                  }
                }
              }
            }
          }
        },
        "summary": "Get User Pending Invitations"
      }
    },
    "/invitation/{id}": {
      "get": {
        "operationId": "getInvitationDetails",
        "tags": [
          "Invitations"
        ],
        "description": "Get details of a specific invitation by ID",
        "responses": {
          "200": {
            "description": "Invitation details",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "valid": {
                      "type": "boolean"
                    },
                    "invitation": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "email": {
                          "type": "string"
                        },
                        "workspaceName": {
                          "type": "string"
                        },
                        "inviterName": {
                          "type": "string"
                        },
                        "expiresAt": {
                          "type": "string"
                        },
                        "status": {
                          "type": "string"
                        },
                        "expired": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "id",
                        "email",
                        "workspaceName",
                        "inviterName",
                        "expiresAt",
                        "status",
                        "expired"
                      ]
                    },
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "valid"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "summary": "Get Invitation Details"
      }
    },
    "/workspace/{workspaceId}/members": {
      "get": {
        "operationId": "getWorkspaceMembers",
        "tags": [
          "Workspaces"
        ],
        "description": "Get all members of a workspace",
        "responses": {
          "200": {
            "description": "List of workspace members",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "email": {
                        "type": "string"
                      },
                      "image": {
                        "type": "string",
                        "nullable": true
                      },
                      "role": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "id",
                      "name",
                      "email",
                      "image",
                      "role"
                    ]
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "workspaceId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "summary": "Get Workspace Members"
      }
    },
    "/auth/organization/create": {
      "post": {
        "tags": [
          "Organization Management"
        ],
        "description": "Create an organization",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "The name of the organization"
                  },
                  "slug": {
                    "type": "string",
                    "description": "The slug of the organization"
                  },
                  "userId": {
                    "type": "string",
                    "description": "The user id of the organization creator. If not provided, the current user will be used. Should only be used by admins or when called by the server. server-only. Eg: \"user-id\"",
                    "nullable": true
                  },
                  "logo": {
                    "type": "string",
                    "description": "The logo of the organization",
                    "nullable": true
                  },
                  "metadata": {
                    "type": "string",
                    "description": "The metadata of the organization",
                    "nullable": true
                  },
                  "keepCurrentActiveOrganization": {
                    "type": "boolean",
                    "description": "Whether to keep the current active organization active after creating a new one. Eg: true",
                    "nullable": true
                  },
                  "description": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "required": [
                  "name",
                  "slug"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Organization"
                    }
                  ],
                  "type": "object",
                  "description": "The organization that was created"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Unauthorized. Due to missing or invalid authentication."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Forbidden. You do not have permission to access this resource or to perform this action."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Not Found. The requested resource was not found."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Internal Server Error. This is a problem with the server that you cannot fix."
          }
        },
        "operationId": "createOrganization",
        "summary": "Create Organization"
      }
    },
    "/auth/organization/update": {
      "post": {
        "tags": [
          "Organization Management"
        ],
        "description": "Update an organization",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "description": {
                        "type": "string",
                        "nullable": true
                      },
                      "name": {
                        "type": "string",
                        "description": "The name of the organization",
                        "nullable": true
                      },
                      "slug": {
                        "type": "string",
                        "description": "The slug of the organization",
                        "nullable": true
                      },
                      "logo": {
                        "type": "string",
                        "description": "The logo of the organization",
                        "nullable": true
                      },
                      "metadata": {
                        "type": "string",
                        "description": "The metadata of the organization",
                        "nullable": true
                      }
                    }
                  },
                  "organizationId": {
                    "type": "string",
                    "description": "The organization ID. Eg: \"org-id\"",
                    "nullable": true
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Organization"
                    }
                  ],
                  "type": "object",
                  "description": "The updated organization"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Unauthorized. Due to missing or invalid authentication."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Forbidden. You do not have permission to access this resource or to perform this action."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Not Found. The requested resource was not found."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Internal Server Error. This is a problem with the server that you cannot fix."
          }
        },
        "operationId": "updateOrganization",
        "summary": "Update Organization"
      }
    },
    "/auth/organization/delete": {
      "post": {
        "tags": [
          "Organization Management"
        ],
        "description": "Delete an organization",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "organizationId": {
                    "type": "string",
                    "description": "The organization id to delete"
                  }
                },
                "required": [
                  "organizationId"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "description": "The organization id that was deleted"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Unauthorized. Due to missing or invalid authentication."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Forbidden. You do not have permission to access this resource or to perform this action."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Not Found. The requested resource was not found."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Internal Server Error. This is a problem with the server that you cannot fix."
          }
        },
        "operationId": "deleteOrganization",
        "summary": "Delete Organization"
      }
    },
    "/auth/organization/set-active": {
      "post": {
        "tags": [
          "Organization Management"
        ],
        "description": "Set the active organization",
        "operationId": "setOrganizationActive",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "organizationId": {
                    "type": "string",
                    "nullable": true
                  },
                  "organizationSlug": {
                    "type": "string",
                    "description": "The organization slug to set as active. It can be null to unset the active organization if organizationId is not provided. Eg: \"org-slug\"",
                    "nullable": true
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Organization"
                    }
                  ],
                  "type": "object",
                  "description": "The organization"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Unauthorized. Due to missing or invalid authentication."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Forbidden. You do not have permission to access this resource or to perform this action."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Not Found. The requested resource was not found."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Internal Server Error. This is a problem with the server that you cannot fix."
          }
        },
        "summary": "Set Organization Active"
      }
    },
    "/auth/organization/get-full-organization": {
      "get": {
        "tags": [
          "Organization Management"
        ],
        "description": "Get the full organization",
        "operationId": "getOrganizationFullOrganization",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Organization"
                    }
                  ],
                  "type": "object",
                  "description": "The organization"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Unauthorized. Due to missing or invalid authentication."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Forbidden. You do not have permission to access this resource or to perform this action."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Not Found. The requested resource was not found."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Internal Server Error. This is a problem with the server that you cannot fix."
          }
        },
        "summary": "Get Organization Full Organization"
      }
    },
    "/auth/organization/list": {
      "get": {
        "tags": [
          "Organization Management"
        ],
        "description": "List all organizations",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Organization"
                  }
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Unauthorized. Due to missing or invalid authentication."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Forbidden. You do not have permission to access this resource or to perform this action."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Not Found. The requested resource was not found."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Internal Server Error. This is a problem with the server that you cannot fix."
          }
        },
        "operationId": "listOrganization",
        "summary": "List Organization"
      }
    },
    "/auth/organization/invite-member": {
      "post": {
        "tags": [
          "Organization Management"
        ],
        "description": "Create an invitation to an organization",
        "operationId": "inviteOrganizationMember",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "email": {
                    "type": "string",
                    "description": "The email address of the user to invite"
                  },
                  "role": {
                    "type": "string",
                    "description": "The role(s) to assign to the user. It can be `admin`, `member`, owner. Eg: \"member\""
                  },
                  "organizationId": {
                    "type": "string",
                    "description": "The organization ID to invite the user to",
                    "nullable": true
                  },
                  "resend": {
                    "type": "boolean",
                    "description": "Resend the invitation email, if the user is already invited. Eg: true",
                    "nullable": true
                  },
                  "teamId": {
                    "type": "string"
                  }
                },
                "required": [
                  "email",
                  "role",
                  "teamId"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "email": {
                      "type": "string"
                    },
                    "role": {
                      "type": "string"
                    },
                    "organizationId": {
                      "type": "string"
                    },
                    "inviterId": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string"
                    },
                    "expiresAt": {
                      "type": "string"
                    },
                    "createdAt": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "email",
                    "role",
                    "organizationId",
                    "inviterId",
                    "status",
                    "expiresAt",
                    "createdAt"
                  ]
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Unauthorized. Due to missing or invalid authentication."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Forbidden. You do not have permission to access this resource or to perform this action."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Not Found. The requested resource was not found."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Internal Server Error. This is a problem with the server that you cannot fix."
          }
        },
        "summary": "Invite Organization Member"
      }
    },
    "/auth/organization/cancel-invitation": {
      "post": {
        "tags": [
          "Organization Management"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "invitationId": {
                    "type": "string",
                    "description": "The ID of the invitation to cancel"
                  }
                },
                "required": [
                  "invitationId"
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Unauthorized. Due to missing or invalid authentication."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Forbidden. You do not have permission to access this resource or to perform this action."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Not Found. The requested resource was not found."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Internal Server Error. This is a problem with the server that you cannot fix."
          }
        },
        "operationId": "cancelOrganizationInvitation",
        "summary": "Cancel Organization Invitation"
      }
    },
    "/auth/organization/accept-invitation": {
      "post": {
        "tags": [
          "Organization Management"
        ],
        "description": "Accept an invitation to an organization",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "invitationId": {
                    "type": "string",
                    "description": "The ID of the invitation to accept"
                  }
                },
                "required": [
                  "invitationId"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "invitation": {
                      "type": "object"
                    },
                    "member": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Unauthorized. Due to missing or invalid authentication."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Forbidden. You do not have permission to access this resource or to perform this action."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Not Found. The requested resource was not found."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Internal Server Error. This is a problem with the server that you cannot fix."
          }
        },
        "operationId": "acceptOrganizationInvitation",
        "summary": "Accept Organization Invitation"
      }
    },
    "/auth/organization/get-invitation": {
      "get": {
        "tags": [
          "Organization Management"
        ],
        "description": "Get an invitation by ID",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string",
              "description": "The ID of the invitation to get"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "email": {
                      "type": "string"
                    },
                    "role": {
                      "type": "string"
                    },
                    "organizationId": {
                      "type": "string"
                    },
                    "inviterId": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string"
                    },
                    "expiresAt": {
                      "type": "string"
                    },
                    "organizationName": {
                      "type": "string"
                    },
                    "organizationSlug": {
                      "type": "string"
                    },
                    "inviterEmail": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "email",
                    "role",
                    "organizationId",
                    "inviterId",
                    "status",
                    "expiresAt",
                    "organizationName",
                    "organizationSlug",
                    "inviterEmail"
                  ]
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Unauthorized. Due to missing or invalid authentication."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Forbidden. You do not have permission to access this resource or to perform this action."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Not Found. The requested resource was not found."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Internal Server Error. This is a problem with the server that you cannot fix."
          }
        },
        "operationId": "getOrganizationInvitation",
        "summary": "Get Organization Invitation"
      }
    },
    "/auth/organization/reject-invitation": {
      "post": {
        "tags": [
          "Organization Management"
        ],
        "description": "Reject an invitation to an organization",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "invitationId": {
                    "type": "string",
                    "description": "The ID of the invitation to reject"
                  }
                },
                "required": [
                  "invitationId"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "invitation": {
                      "type": "object"
                    },
                    "member": {
                      "type": "object",
                      "nullable": true
                    }
                  }
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Unauthorized. Due to missing or invalid authentication."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Forbidden. You do not have permission to access this resource or to perform this action."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Not Found. The requested resource was not found."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Internal Server Error. This is a problem with the server that you cannot fix."
          }
        },
        "operationId": "rejectOrganizationInvitation",
        "summary": "Reject Organization Invitation"
      }
    },
    "/auth/organization/list-invitations": {
      "get": {
        "tags": [
          "Organization Management"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Unauthorized. Due to missing or invalid authentication."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Forbidden. You do not have permission to access this resource or to perform this action."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Not Found. The requested resource was not found."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Internal Server Error. This is a problem with the server that you cannot fix."
          }
        },
        "operationId": "listOrganizationInvitations",
        "summary": "List Organization Invitations"
      }
    },
    "/auth/organization/get-active-member": {
      "get": {
        "tags": [
          "Organization Management"
        ],
        "description": "Get the member details of the active organization",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "userId": {
                      "type": "string"
                    },
                    "organizationId": {
                      "type": "string"
                    },
                    "role": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "userId",
                    "organizationId",
                    "role"
                  ]
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Unauthorized. Due to missing or invalid authentication."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Forbidden. You do not have permission to access this resource or to perform this action."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Not Found. The requested resource was not found."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Internal Server Error. This is a problem with the server that you cannot fix."
          }
        },
        "operationId": "getOrganizationActiveMember",
        "summary": "Get Organization Active Member"
      }
    },
    "/auth/organization/check-slug": {
      "post": {
        "tags": [
          "Organization Management"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "slug": {
                    "type": "string",
                    "description": "The organization slug to check. Eg: \"my-org\""
                  }
                },
                "required": [
                  "slug"
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Unauthorized. Due to missing or invalid authentication."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Forbidden. You do not have permission to access this resource or to perform this action."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Not Found. The requested resource was not found."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Internal Server Error. This is a problem with the server that you cannot fix."
          }
        },
        "operationId": "checkOrganizationSlug",
        "summary": "Check Organization Slug"
      }
    },
    "/auth/organization/remove-member": {
      "post": {
        "tags": [
          "Organization Management"
        ],
        "description": "Remove a member from an organization",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "memberIdOrEmail": {
                    "type": "string",
                    "description": "The ID or email of the member to remove"
                  },
                  "organizationId": {
                    "type": "string",
                    "description": "The ID of the organization to remove the member from. If not provided, the active organization will be used. Eg: \"org-id\"",
                    "nullable": true
                  }
                },
                "required": [
                  "memberIdOrEmail"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "member": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "userId": {
                          "type": "string"
                        },
                        "organizationId": {
                          "type": "string"
                        },
                        "role": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "userId",
                        "organizationId",
                        "role"
                      ]
                    }
                  },
                  "required": [
                    "member"
                  ]
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Unauthorized. Due to missing or invalid authentication."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Forbidden. You do not have permission to access this resource or to perform this action."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Not Found. The requested resource was not found."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Internal Server Error. This is a problem with the server that you cannot fix."
          }
        },
        "operationId": "removeOrganizationMember",
        "summary": "Remove Organization Member"
      }
    },
    "/auth/organization/update-member-role": {
      "post": {
        "tags": [
          "Organization Management"
        ],
        "description": "Update the role of a member in an organization",
        "operationId": "updateOrganizationMemberRole",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "role": {
                    "type": "string",
                    "description": "The new role to be applied. This can be a string or array of strings representing the roles. Eg: [\"admin\", \"sale\"]"
                  },
                  "memberId": {
                    "type": "string",
                    "description": "The member id to apply the role update to. Eg: \"member-id\""
                  },
                  "organizationId": {
                    "type": "string",
                    "description": "An optional organization ID which the member is a part of to apply the role update. If not provided, you must provide session headers to get the active organization. Eg: \"organization-id\"",
                    "nullable": true
                  }
                },
                "required": [
                  "role",
                  "memberId"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "member": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "userId": {
                          "type": "string"
                        },
                        "organizationId": {
                          "type": "string"
                        },
                        "role": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "userId",
                        "organizationId",
                        "role"
                      ]
                    }
                  },
                  "required": [
                    "member"
                  ]
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Unauthorized. Due to missing or invalid authentication."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Forbidden. You do not have permission to access this resource or to perform this action."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Not Found. The requested resource was not found."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Internal Server Error. This is a problem with the server that you cannot fix."
          }
        },
        "summary": "Update Organization Member Role"
      }
    },
    "/auth/organization/leave": {
      "post": {
        "tags": [
          "Organization Management"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "organizationId": {
                    "type": "string",
                    "description": "The organization Id for the member to leave. Eg: \"organization-id\""
                  }
                },
                "required": [
                  "organizationId"
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Unauthorized. Due to missing or invalid authentication."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Forbidden. You do not have permission to access this resource or to perform this action."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Not Found. The requested resource was not found."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Internal Server Error. This is a problem with the server that you cannot fix."
          }
        },
        "operationId": "leaveOrganization",
        "summary": "Leave Organization"
      }
    },
    "/auth/organization/list-user-invitations": {
      "get": {
        "tags": [
          "Organization Management"
        ],
        "description": "List all invitations a user has received",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "email": {
                        "type": "string"
                      },
                      "role": {
                        "type": "string"
                      },
                      "organizationId": {
                        "type": "string"
                      },
                      "organizationName": {
                        "type": "string"
                      },
                      "inviterId": {
                        "type": "string",
                        "description": "The ID of the user who created the invitation"
                      },
                      "teamId": {
                        "type": "string",
                        "description": "The ID of the team associated with the invitation",
                        "nullable": true
                      },
                      "status": {
                        "type": "string"
                      },
                      "expiresAt": {
                        "type": "string"
                      },
                      "createdAt": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "id",
                      "email",
                      "role",
                      "organizationId",
                      "organizationName",
                      "inviterId",
                      "status",
                      "expiresAt",
                      "createdAt"
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Unauthorized. Due to missing or invalid authentication."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Forbidden. You do not have permission to access this resource or to perform this action."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Not Found. The requested resource was not found."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Internal Server Error. This is a problem with the server that you cannot fix."
          }
        },
        "operationId": "listOrganizationUserInvitations",
        "summary": "List Organization User Invitations"
      }
    },
    "/auth/organization/list-members": {
      "get": {
        "tags": [
          "Organization Management"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Unauthorized. Due to missing or invalid authentication."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Forbidden. You do not have permission to access this resource or to perform this action."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Not Found. The requested resource was not found."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Internal Server Error. This is a problem with the server that you cannot fix."
          }
        },
        "operationId": "listOrganizationMembers",
        "summary": "List Organization Members"
      }
    },
    "/auth/organization/get-active-member-role": {
      "get": {
        "tags": [
          "Organization Management"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Unauthorized. Due to missing or invalid authentication."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Forbidden. You do not have permission to access this resource or to perform this action."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Not Found. The requested resource was not found."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Internal Server Error. This is a problem with the server that you cannot fix."
          }
        },
        "operationId": "getOrganizationActiveMemberRole",
        "summary": "Get Organization Active Member Role"
      }
    },
    "/auth/organization/create-team": {
      "post": {
        "tags": [
          "Organization Management"
        ],
        "description": "Create a new team within an organization",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "The name of the team. Eg: \"my-team\""
                  },
                  "organizationId": {
                    "type": "string",
                    "description": "The organization ID which the team will be created in. Defaults to the active organization. Eg: \"organization-id\"",
                    "nullable": true
                  }
                },
                "required": [
                  "name"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Team created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "Unique identifier of the created team"
                    },
                    "name": {
                      "type": "string",
                      "description": "Name of the team"
                    },
                    "organizationId": {
                      "type": "string",
                      "description": "ID of the organization the team belongs to"
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time",
                      "description": "Timestamp when the team was created"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time",
                      "description": "Timestamp when the team was last updated"
                    }
                  },
                  "required": [
                    "id",
                    "name",
                    "organizationId",
                    "createdAt",
                    "updatedAt"
                  ]
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Unauthorized. Due to missing or invalid authentication."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Forbidden. You do not have permission to access this resource or to perform this action."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Not Found. The requested resource was not found."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Internal Server Error. This is a problem with the server that you cannot fix."
          }
        },
        "operationId": "createOrganizationTeam",
        "summary": "Create Organization Team"
      }
    },
    "/auth/organization/list-teams": {
      "get": {
        "tags": [
          "Organization Management"
        ],
        "description": "List all teams in an organization",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Teams retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "Unique identifier of the team"
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the team"
                      },
                      "organizationId": {
                        "type": "string",
                        "description": "ID of the organization the team belongs to"
                      },
                      "createdAt": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Timestamp when the team was created"
                      },
                      "updatedAt": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Timestamp when the team was last updated"
                      }
                    },
                    "required": [
                      "id",
                      "name",
                      "organizationId",
                      "createdAt",
                      "updatedAt"
                    ]
                  },
                  "description": "Array of team objects within the organization"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Unauthorized. Due to missing or invalid authentication."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Forbidden. You do not have permission to access this resource or to perform this action."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Not Found. The requested resource was not found."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Internal Server Error. This is a problem with the server that you cannot fix."
          }
        },
        "operationId": "listOrganizationTeams",
        "summary": "List Organization Teams"
      }
    },
    "/auth/organization/remove-team": {
      "post": {
        "tags": [
          "Organization Management"
        ],
        "description": "Remove a team from an organization",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "teamId": {
                    "type": "string",
                    "description": "The team ID of the team to remove. Eg: \"team-id\""
                  },
                  "organizationId": {
                    "type": "string",
                    "description": "The organization ID which the team falls under. If not provided, it will default to the user's active organization. Eg: \"organization-id\"",
                    "nullable": true
                  }
                },
                "required": [
                  "teamId"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Team removed successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "description": "Confirmation message indicating successful removal",
                      "enum": [
                        "Team removed successfully."
                      ]
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Unauthorized. Due to missing or invalid authentication."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Forbidden. You do not have permission to access this resource or to perform this action."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Not Found. The requested resource was not found."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Internal Server Error. This is a problem with the server that you cannot fix."
          }
        },
        "operationId": "removeOrganizationTeam",
        "summary": "Remove Organization Team"
      }
    },
    "/auth/organization/update-team": {
      "post": {
        "tags": [
          "Organization Management"
        ],
        "description": "Update an existing team in an organization",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "teamId": {
                    "type": "string",
                    "description": "The ID of the team to be updated. Eg: \"team-id\""
                  },
                  "data": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "nullable": true
                      },
                      "name": {
                        "type": "string",
                        "nullable": true
                      },
                      "organizationId": {
                        "type": "string",
                        "nullable": true
                      },
                      "createdAt": {
                        "type": "string",
                        "nullable": true
                      },
                      "updatedAt": {
                        "type": "string",
                        "nullable": true
                      }
                    }
                  }
                },
                "required": [
                  "teamId",
                  "data"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Team updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "Unique identifier of the updated team"
                    },
                    "name": {
                      "type": "string",
                      "description": "Updated name of the team"
                    },
                    "organizationId": {
                      "type": "string",
                      "description": "ID of the organization the team belongs to"
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time",
                      "description": "Timestamp when the team was created"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time",
                      "description": "Timestamp when the team was last updated"
                    }
                  },
                  "required": [
                    "id",
                    "name",
                    "organizationId",
                    "createdAt",
                    "updatedAt"
                  ]
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Unauthorized. Due to missing or invalid authentication."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Forbidden. You do not have permission to access this resource or to perform this action."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Not Found. The requested resource was not found."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Internal Server Error. This is a problem with the server that you cannot fix."
          }
        },
        "operationId": "updateOrganizationTeam",
        "summary": "Update Organization Team"
      }
    },
    "/auth/organization/set-active-team": {
      "post": {
        "tags": [
          "Organization Management"
        ],
        "description": "Set the active team for the current active organization",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "teamId": {
                    "type": "string",
                    "nullable": true
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Team"
                    }
                  ],
                  "type": "object",
                  "description": "The team"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Unauthorized. Due to missing or invalid authentication."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Forbidden. You do not have permission to access this resource or to perform this action."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Not Found. The requested resource was not found."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Internal Server Error. This is a problem with the server that you cannot fix."
          }
        },
        "operationId": "setOrganizationActiveTeam",
        "summary": "Set Organization Active Team"
      }
    },
    "/auth/organization/list-user-teams": {
      "get": {
        "tags": [
          "Organization Management"
        ],
        "description": "List all teams that the current user is a part of.",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Teams retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Team"
                      }
                    ],
                    "type": "object",
                    "description": "The team"
                  },
                  "description": "Array of team objects within the organization"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Unauthorized. Due to missing or invalid authentication."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Forbidden. You do not have permission to access this resource or to perform this action."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Not Found. The requested resource was not found."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Internal Server Error. This is a problem with the server that you cannot fix."
          }
        },
        "operationId": "listOrganizationUserTeams",
        "summary": "List Organization User Teams"
      }
    },
    "/auth/organization/list-team-members": {
      "get": {
        "tags": [
          "Organization Management"
        ],
        "description": "List the members of the given team.",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Teams retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "description": "The team member",
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "Unique identifier of the team member"
                      },
                      "userId": {
                        "type": "string",
                        "description": "The user ID of the team member"
                      },
                      "teamId": {
                        "type": "string",
                        "description": "The team ID of the team the team member is in"
                      },
                      "createdAt": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Timestamp when the team member was created"
                      }
                    },
                    "required": [
                      "id",
                      "userId",
                      "teamId",
                      "createdAt"
                    ]
                  },
                  "description": "Array of team member objects within the team"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Unauthorized. Due to missing or invalid authentication."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Forbidden. You do not have permission to access this resource or to perform this action."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Not Found. The requested resource was not found."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Internal Server Error. This is a problem with the server that you cannot fix."
          }
        },
        "operationId": "listOrganizationTeamMembers",
        "summary": "List Organization Team Members"
      }
    },
    "/auth/organization/add-team-member": {
      "post": {
        "tags": [
          "Organization Management"
        ],
        "description": "The newly created member",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "teamId": {
                    "type": "string",
                    "description": "The team the user should be a member of."
                  },
                  "userId": {
                    "type": "string",
                    "description": "The user Id which represents the user to be added as a member."
                  },
                  "organizationId": {
                    "type": "string",
                    "description": "The organization ID which the team falls under. If not provided, it will default to the user's active organization.",
                    "nullable": true
                  }
                },
                "required": [
                  "teamId",
                  "userId"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Team member created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "The team member",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "Unique identifier of the team member"
                    },
                    "userId": {
                      "type": "string",
                      "description": "The user ID of the team member"
                    },
                    "teamId": {
                      "type": "string",
                      "description": "The team ID of the team the team member is in"
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time",
                      "description": "Timestamp when the team member was created"
                    }
                  },
                  "required": [
                    "id",
                    "userId",
                    "teamId",
                    "createdAt"
                  ]
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Unauthorized. Due to missing or invalid authentication."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Forbidden. You do not have permission to access this resource or to perform this action."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Not Found. The requested resource was not found."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Internal Server Error. This is a problem with the server that you cannot fix."
          }
        },
        "operationId": "addOrganizationTeamMember",
        "summary": "Add Organization Team Member"
      }
    },
    "/auth/organization/remove-team-member": {
      "post": {
        "tags": [
          "Organization Management"
        ],
        "description": "Remove a member from a team",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "teamId": {
                    "type": "string",
                    "description": "The team the user should be removed from."
                  },
                  "userId": {
                    "type": "string",
                    "description": "The user which should be removed from the team."
                  },
                  "organizationId": {
                    "type": "string",
                    "description": "The organization ID which the team falls under. If not provided, it will default to the user's active organization.",
                    "nullable": true
                  }
                },
                "required": [
                  "teamId",
                  "userId"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Team member removed successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "description": "Confirmation message indicating successful removal",
                      "enum": [
                        "Team member removed successfully."
                      ]
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Unauthorized. Due to missing or invalid authentication."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Forbidden. You do not have permission to access this resource or to perform this action."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Not Found. The requested resource was not found."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Internal Server Error. This is a problem with the server that you cannot fix."
          }
        },
        "operationId": "removeOrganizationTeamMember",
        "summary": "Remove Organization Team Member"
      }
    },
    "/auth/organization/create-role": {
      "post": {
        "tags": [
          "Organization Management"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "organizationId": {
                    "type": "string",
                    "nullable": true
                  },
                  "role": {
                    "type": "string",
                    "description": "The name of the role to create"
                  },
                  "permission": {
                    "type": "string",
                    "description": "The permission to assign to the role"
                  },
                  "additionalFields": {
                    "type": "object",
                    "properties": {},
                    "nullable": true
                  }
                },
                "required": [
                  "role",
                  "permission"
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Unauthorized. Due to missing or invalid authentication."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Forbidden. You do not have permission to access this resource or to perform this action."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Not Found. The requested resource was not found."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Internal Server Error. This is a problem with the server that you cannot fix."
          }
        },
        "operationId": "createOrganizationRole",
        "summary": "Create Organization Role"
      }
    },
    "/auth/organization/delete-role": {
      "post": {
        "tags": [
          "Organization Management"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Unauthorized. Due to missing or invalid authentication."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Forbidden. You do not have permission to access this resource or to perform this action."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Not Found. The requested resource was not found."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Internal Server Error. This is a problem with the server that you cannot fix."
          }
        },
        "operationId": "deleteOrganizationRole",
        "summary": "Delete Organization Role"
      }
    },
    "/auth/organization/list-roles": {
      "get": {
        "tags": [
          "Organization Management"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Unauthorized. Due to missing or invalid authentication."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Forbidden. You do not have permission to access this resource or to perform this action."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Not Found. The requested resource was not found."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Internal Server Error. This is a problem with the server that you cannot fix."
          }
        },
        "operationId": "listOrganizationRoles",
        "summary": "List Organization Roles"
      }
    },
    "/auth/organization/get-role": {
      "get": {
        "tags": [
          "Organization Management"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Unauthorized. Due to missing or invalid authentication."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Forbidden. You do not have permission to access this resource or to perform this action."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Not Found. The requested resource was not found."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Internal Server Error. This is a problem with the server that you cannot fix."
          }
        },
        "operationId": "getOrganizationRole",
        "summary": "Get Organization Role"
      }
    },
    "/auth/organization/update-role": {
      "post": {
        "tags": [
          "Organization Management"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Unauthorized. Due to missing or invalid authentication."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Forbidden. You do not have permission to access this resource or to perform this action."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Not Found. The requested resource was not found."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Internal Server Error. This is a problem with the server that you cannot fix."
          }
        },
        "operationId": "updateOrganizationRole",
        "summary": "Update Organization Role"
      }
    },
    "/auth/organization/has-permission": {
      "post": {
        "tags": [
          "Organization Management"
        ],
        "description": "Check if the user has permission",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "permission": {
                    "type": "object",
                    "description": "The permission to check",
                    "deprecated": true
                  },
                  "permissions": {
                    "type": "object",
                    "description": "The permission to check"
                  }
                },
                "required": [
                  "permissions"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "success"
                  ]
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            },
            "description": "Unauthorized. Due to missing or invalid authentication."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Forbidden. You do not have permission to access this resource or to perform this action."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Not Found. The requested resource was not found."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": "Internal Server Error. This is a problem with the server that you cannot fix."
          }
        },
        "operationId": "hasOrganizationPermission",
        "summary": "Check Organization Permission"
      }
    }
  },
  "tags": [
    {
      "name": "Organization Management"
    }
  ]
}