{"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"},"name":{"type":"string"},"slug":{"type":"string"},"logo":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"metadata":{"type":"string"},"description":{"type":"string"}},"required":["name","slug","createdAt"]},"Team":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"organizationId":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["name","organizationId","createdAt"]}}},"security":[{"bearerAuth":[]}],"paths":{"/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":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"isDemoMode":{"type":"boolean"},"hasSmtp":{"type":"boolean"},"hasGithubSignIn":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"hasGoogleSignIn":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"hasDiscordSignIn":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"hasCustomOAuth":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"hasGuestAccess":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"required":["disableRegistration","isDemoMode","hasSmtp","hasGithubSignIn","hasGoogleSignIn","hasDiscordSignIn","hasCustomOAuth","hasGuestAccess"]}}}}},"summary":"Get Config"}},"/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":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{},"isPublic":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"required":["id","workspaceId","slug","icon","name","description","createdAt","isPublic"]}}}}}},"parameters":[{"in":"query","name":"workspaceId","schema":{"type":"string"},"required":true}],"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":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{},"isPublic":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"required":["id","workspaceId","slug","icon","name","description","createdAt","isPublic"]}}}}},"requestBody":{"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":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{},"isPublic":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"required":["id","workspaceId","slug","icon","name","description","createdAt","isPublic"]}}}}},"parameters":[{"in":"path","name":"id","schema":{"type":"string"},"required":true},{"in":"query","name":"workspaceId","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":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{},"isPublic":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"required":["id","workspaceId","slug","icon","name","description","createdAt","isPublic"]}}}}},"parameters":[{"in":"path","name":"id","schema":{"type":"string"},"required":true}],"requestBody":{"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":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{},"isPublic":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"required":["id","workspaceId","slug","icon","name","description","createdAt","isPublic"]}}}}},"parameters":[{"in":"path","name":"id","schema":{"type":"string"},"required":true}],"summary":"Delete 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":{}}}}},"parameters":[{"in":"path","name":"projectId","schema":{"type":"string"},"required":true}],"summary":"List 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":{"anyOf":[{"type":"number"},{"type":"null"}]},"number":{"anyOf":[{"type":"number"},{"type":"null"}]},"userId":{"anyOf":[{"type":"string"},{"type":"null"}]},"title":{"type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"status":{"type":"string"},"priority":{"enum":["no-priority","low","medium","high","urgent"]},"dueDate":{},"createdAt":{}},"required":["id","projectId","position","number","userId","title","description","status","priority","createdAt"]}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string"},"description":{"type":"string"},"dueDate":{"type":"string"},"priority":{"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":{"anyOf":[{"type":"number"},{"type":"null"}]},"number":{"anyOf":[{"type":"number"},{"type":"null"}]},"userId":{"anyOf":[{"type":"string"},{"type":"null"}]},"title":{"type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"status":{"type":"string"},"priority":{"enum":["no-priority","low","medium","high","urgent"]},"dueDate":{},"createdAt":{}},"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":{"anyOf":[{"type":"number"},{"type":"null"}]},"number":{"anyOf":[{"type":"number"},{"type":"null"}]},"userId":{"anyOf":[{"type":"string"},{"type":"null"}]},"title":{"type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"status":{"type":"string"},"priority":{"enum":["no-priority","low","medium","high","urgent"]},"dueDate":{},"createdAt":{}},"required":["id","projectId","position","number","userId","title","description","status","priority","createdAt"]}}}}},"parameters":[{"in":"path","name":"id","schema":{"type":"string"},"required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string"},"description":{"type":"string"},"dueDate":{"type":"string"},"priority":{"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":{"anyOf":[{"type":"number"},{"type":"null"}]},"number":{"anyOf":[{"type":"number"},{"type":"null"}]},"userId":{"anyOf":[{"type":"string"},{"type":"null"}]},"title":{"type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"status":{"type":"string"},"priority":{"enum":["no-priority","low","medium","high","urgent"]},"dueDate":{},"createdAt":{}},"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/export/{projectId}":{"get":{"operationId":"exportTasks","tags":["Tasks"],"description":"Export all tasks from a project","responses":{"200":{"description":"Exported tasks data","content":{"application/json":{"schema":{}}}}},"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":{}}}}},"parameters":[{"in":"path","name":"projectId","schema":{"type":"string"},"required":true}],"requestBody":{"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"},"dueDate":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"type":"null"}]}},"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":{"anyOf":[{"type":"number"},{"type":"null"}]},"number":{"anyOf":[{"type":"number"},{"type":"null"}]},"userId":{"anyOf":[{"type":"string"},{"type":"null"}]},"title":{"type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"status":{"type":"string"},"priority":{"enum":["no-priority","low","medium","high","urgent"]},"dueDate":{},"createdAt":{}},"required":["id","projectId","position","number","userId","title","description","status","priority","createdAt"]}}}}},"parameters":[{"in":"path","name":"id","schema":{"type":"string"},"required":true}],"requestBody":{"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":{"anyOf":[{"type":"number"},{"type":"null"}]},"number":{"anyOf":[{"type":"number"},{"type":"null"}]},"userId":{"anyOf":[{"type":"string"},{"type":"null"}]},"title":{"type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"status":{"type":"string"},"priority":{"enum":["no-priority","low","medium","high","urgent"]},"dueDate":{},"createdAt":{}},"required":["id","projectId","position","number","userId","title","description","status","priority","createdAt"]}}}}},"parameters":[{"in":"path","name":"id","schema":{"type":"string"},"required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"priority":{"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":{"anyOf":[{"type":"number"},{"type":"null"}]},"number":{"anyOf":[{"type":"number"},{"type":"null"}]},"userId":{"anyOf":[{"type":"string"},{"type":"null"}]},"title":{"type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"status":{"type":"string"},"priority":{"enum":["no-priority","low","medium","high","urgent"]},"dueDate":{},"createdAt":{}},"required":["id","projectId","position","number","userId","title","description","status","priority","createdAt"]}}}}},"parameters":[{"in":"path","name":"id","schema":{"type":"string"},"required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"userId":{"type":"string"}},"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":{"anyOf":[{"type":"number"},{"type":"null"}]},"number":{"anyOf":[{"type":"number"},{"type":"null"}]},"userId":{"anyOf":[{"type":"string"},{"type":"null"}]},"title":{"type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"status":{"type":"string"},"priority":{"enum":["no-priority","low","medium","high","urgent"]},"dueDate":{},"createdAt":{}},"required":["id","projectId","position","number","userId","title","description","status","priority","createdAt"]}}}}},"parameters":[{"in":"path","name":"id","schema":{"type":"string"},"required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"dueDate":{"type":"string"}},"required":[]}}}},"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":{"anyOf":[{"type":"number"},{"type":"null"}]},"number":{"anyOf":[{"type":"number"},{"type":"null"}]},"userId":{"anyOf":[{"type":"string"},{"type":"null"}]},"title":{"type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"status":{"type":"string"},"priority":{"enum":["no-priority","low","medium","high","urgent"]},"dueDate":{},"createdAt":{}},"required":["id","projectId","position","number","userId","title","description","status","priority","createdAt"]}}}}},"parameters":[{"in":"path","name":"id","schema":{"type":"string"},"required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string"}},"required":["title"]}}}},"summary":"Update Task Title"}},"/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":{"anyOf":[{"type":"number"},{"type":"null"}]},"number":{"anyOf":[{"type":"number"},{"type":"null"}]},"userId":{"anyOf":[{"type":"string"},{"type":"null"}]},"title":{"type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"status":{"type":"string"},"priority":{"enum":["no-priority","low","medium","high","urgent"]},"dueDate":{},"createdAt":{}},"required":["id","projectId","position","number","userId","title","description","status","priority","createdAt"]}}}}},"parameters":[{"in":"path","name":"id","schema":{"type":"string"},"required":true}],"requestBody":{"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":{}}}}},"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":{}}}}},"parameters":[{"in":"path","name":"projectId","schema":{"type":"string"},"required":true}],"requestBody":{"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":{}}}}},"parameters":[{"in":"path","name":"projectId","schema":{"type":"string"},"required":true}],"requestBody":{"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":{}}}}},"parameters":[{"in":"path","name":"id","schema":{"type":"string"},"required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"icon":{"anyOf":[{"type":"string"},{"type":"null"}]},"color":{"anyOf":[{"type":"string"},{"type":"null"}]},"isFinal":{"type":"boolean"}},"required":[]}}}},"summary":"Update Column"},"delete":{"operationId":"deleteColumn","tags":["Columns"],"description":"Delete a column","responses":{"200":{"description":"Column deleted successfully","content":{"application/json":{"schema":{}}}}},"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"]},"createdAt":{},"userId":{"anyOf":[{"type":"string"},{"type":"null"}]},"content":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUserName":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUserAvatar":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalSource":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUrl":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","taskId","type","createdAt","userId","content","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"]},"createdAt":{},"userId":{"anyOf":[{"type":"string"},{"type":"null"}]},"content":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUserName":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUserAvatar":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalSource":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUrl":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","taskId","type","createdAt","userId","content","externalUserName","externalUserAvatar","externalSource","externalUrl"]}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"taskId":{"type":"string"},"userId":{"type":"string"},"message":{"type":"string"},"type":{"type":"string"}},"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"]},"createdAt":{},"userId":{"anyOf":[{"type":"string"},{"type":"null"}]},"content":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUserName":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUserAvatar":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalSource":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUrl":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","taskId","type","createdAt","userId","content","externalUserName","externalUserAvatar","externalSource","externalUrl"]}}}}},"requestBody":{"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"]},"createdAt":{},"userId":{"anyOf":[{"type":"string"},{"type":"null"}]},"content":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUserName":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUserAvatar":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalSource":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUrl":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","taskId","type","createdAt","userId","content","externalUserName","externalUserAvatar","externalSource","externalUrl"]}}}}},"requestBody":{"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"]},"createdAt":{},"userId":{"anyOf":[{"type":"string"},{"type":"null"}]},"content":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUserName":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUserAvatar":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalSource":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUrl":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","taskId","type","createdAt","userId","content","externalUserName","externalUserAvatar","externalSource","externalUrl"]}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"activityId":{"type":"string"}},"required":["activityId"]}}}},"summary":"Delete 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":{"anyOf":[{"type":"string"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"startTime":{},"endTime":{},"duration":{"anyOf":[{"type":"number"},{"type":"null"}]},"createdAt":{}},"required":["id","taskId","userId","description","startTime","duration","createdAt"]}}}}}},"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":{"anyOf":[{"type":"string"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"startTime":{},"endTime":{},"duration":{"anyOf":[{"type":"number"},{"type":"null"}]},"createdAt":{}},"required":["id","taskId","userId","description","startTime","duration","createdAt"]}}}}},"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":{"anyOf":[{"type":"string"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"startTime":{},"endTime":{},"duration":{"anyOf":[{"type":"number"},{"type":"null"}]},"createdAt":{}},"required":["id","taskId","userId","description","startTime","duration","createdAt"]}}}}},"parameters":[{"in":"path","name":"id","schema":{"type":"string"},"required":true}],"requestBody":{"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":{"anyOf":[{"type":"string"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"startTime":{},"endTime":{},"duration":{"anyOf":[{"type":"number"},{"type":"null"}]},"createdAt":{}},"required":["id","taskId","userId","description","startTime","duration","createdAt"]}}}}},"requestBody":{"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":{},"taskId":{"anyOf":[{"type":"string"},{"type":"null"}]},"workspaceId":{"anyOf":[{"type":"string"},{"type":"null"}]}},"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":{},"taskId":{"anyOf":[{"type":"string"},{"type":"null"}]},"workspaceId":{"anyOf":[{"type":"string"},{"type":"null"}]}},"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":{},"taskId":{"anyOf":[{"type":"string"},{"type":"null"}]},"workspaceId":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","color","createdAt","taskId","workspaceId"]}}}}},"requestBody":{"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":{},"taskId":{"anyOf":[{"type":"string"},{"type":"null"}]},"workspaceId":{"anyOf":[{"type":"string"},{"type":"null"}]}},"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":{},"taskId":{"anyOf":[{"type":"string"},{"type":"null"}]},"workspaceId":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","color","createdAt","taskId","workspaceId"]}}}}},"parameters":[{"in":"path","name":"id","schema":{"type":"string"},"required":true}],"requestBody":{"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":{},"taskId":{"anyOf":[{"type":"string"},{"type":"null"}]},"workspaceId":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","color","createdAt","taskId","workspaceId"]}}}}},"parameters":[{"in":"path","name":"id","schema":{"type":"string"},"required":true}],"summary":"Delete Label"}},"/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"},"content":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":{"enum":["info","task_created","workspace_created","task_status_changed","task_assignee_changed","time_entry_created"]},"isRead":{"type":"boolean"},"resourceId":{"type":"string"},"resourceType":{"enum":["task","workspace"]},"createdAt":{}},"required":["id","userId","title","content","type","createdAt"]}}}}}},"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"},"content":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":{"enum":["info","task_created","workspace_created","task_status_changed","task_assignee_changed","time_entry_created"]},"isRead":{"type":"boolean"},"resourceId":{"type":"string"},"resourceType":{"enum":["task","workspace"]},"createdAt":{}},"required":["id","userId","title","content","type","createdAt"]}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"userId":{"type":"string"},"title":{"type":"string"},"message":{"type":"string"},"type":{"type":"string"},"relatedEntityId":{"type":"string"},"relatedEntityType":{"type":"string"}},"required":["userId","title","message","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"},"content":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":{"enum":["info","task_created","workspace_created","task_status_changed","task_assignee_changed","time_entry_created"]},"isRead":{"type":"boolean"},"resourceId":{"type":"string"},"resourceType":{"enum":["task","workspace"]},"createdAt":{}},"required":["id","userId","title","content","type","createdAt"]}}}}},"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"}},"/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":{"anyOf":[{"type":"number"},{"type":"null"}]},"number":{"anyOf":[{"type":"number"},{"type":"null"}]},"userId":{"anyOf":[{"type":"string"},{"type":"null"}]},"title":{"type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"status":{"type":"string"},"priority":{"enum":["no-priority","low","medium","high","urgent"]},"dueDate":{},"createdAt":{}},"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":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{},"isPublic":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"required":["id","workspaceId","slug","icon","name","description","createdAt","isPublic"]}},"workspaces":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"},"logo":{"anyOf":[{"type":"string"},{"type":"null"}]},"metadata":{"anyOf":[{"type":"string"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{}},"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"]},"createdAt":{},"userId":{"anyOf":[{"type":"string"},{"type":"null"}]},"content":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUserName":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUserAvatar":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalSource":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUrl":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","taskId","type","createdAt","userId","content","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"]},"createdAt":{},"userId":{"anyOf":[{"type":"string"},{"type":"null"}]},"content":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUserName":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUserAvatar":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalSource":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUrl":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","taskId","type","createdAt","userId","content","externalUserName","externalUserAvatar","externalSource","externalUrl"]}}},"required":[]}}}}},"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"}},{"in":"query","name":"workspaceId","schema":{"type":"string"}},{"in":"query","name":"projectId","schema":{"type":"string"}},{"in":"query","name":"limit","schema":{"type":"string","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":{"anyOf":[{"type":"string"},{"type":"null"}]}},"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":{"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":{"anyOf":[{"type":"number"},{"type":"null"}]},"isActive":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"createdAt":{},"updatedAt":{}},"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":{"anyOf":[{"type":"number"},{"type":"null"}]},"isActive":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"createdAt":{},"updatedAt":{}},"required":["id","projectId","repositoryOwner","repositoryName","installationId","isActive","createdAt","updatedAt"]}}}}},"parameters":[{"in":"path","name":"projectId","schema":{"type":"string"},"required":true}],"requestBody":{"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":{"anyOf":[{"type":"number"},{"type":"null"}]},"isActive":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"createdAt":{},"updatedAt":{}},"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":{"content":{"application/json":{"schema":{"type":"object","properties":{"isActive":{"type":"boolean"}},"required":[]}}}},"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":{"anyOf":[{"type":"number"},{"type":"null"}]},"isActive":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"createdAt":{},"updatedAt":{}},"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":{"content":{"application/json":{"schema":{"type":"object","properties":{"projectId":{"type":"string"}},"required":["projectId"]}}}},"summary":"Import Git Hub Issues"}},"/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":{"anyOf":[{"type":"string"},{"type":"null"}]},"metadata":{},"createdAt":{},"updatedAt":{}},"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":{}}}}},"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":{}}}}},"parameters":[{"in":"path","name":"projectId","schema":{"type":"string"},"required":true}],"requestBody":{"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":{}}}}},"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"}},"/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","null"],"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\""},"logo":{"type":["string","null"],"description":"The logo of the organization"},"metadata":{"type":["string","null"],"description":"The metadata of the organization"},"keepCurrentActiveOrganization":{"type":["boolean","null"],"description":"Whether to keep the current active organization active after creating a new one. Eg: true"},"description":{"type":["string","null"]}},"required":["name","slug"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","description":"The organization that was created","$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":"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","null"]},"name":{"type":["string","null"],"description":"The name of the organization"},"slug":{"type":["string","null"],"description":"The slug of the organization"},"logo":{"type":["string","null"],"description":"The logo of the organization"},"metadata":{"type":["string","null"],"description":"The metadata of the organization"}}},"organizationId":{"type":["string","null"],"description":"The organization ID. Eg: \"org-id\""}},"required":["data"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","description":"The updated organization","$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":"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","null"]},"organizationSlug":{"type":["string","null"],"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\""}},"required":[]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","description":"The organization","$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."}},"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":{"type":"object","description":"The organization","$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."}},"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","null"],"description":"The organization ID to invite the user to"},"resend":{"type":["boolean","null"],"description":"Resend the invitation email, if the user is already invited. Eg: 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"}}],"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","null"],"description":"The ID of the organization to remove the member from. If not provided, the active organization will be used. Eg: \"org-id\""}},"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","null"],"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\""}},"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","null"],"description":"The organization ID which the team will be created in. Defaults to the active organization. Eg: \"organization-id\""}},"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","null"],"description":"The organization ID which the team falls under. If not provided, it will default to the user's active organization. Eg: \"organization-id\""}},"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","null"],"default":"vrJTKvZCXxj4Lop9wiAMXpztxBHNJnZF"},"name":{"type":["string","null"]},"organizationId":{"type":["string","null"]},"createdAt":{"type":["string","null"]},"updatedAt":{"type":["string","null"]}}}},"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","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"teamId":{"type":["string","null"]}},"required":[]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","description":"The team","$ref":"#/components/schemas/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":{"type":"object","description":"The team","$ref":"#/components/schemas/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."}},"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."}},"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/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"}]}